Repository navigation
Add personal credentials for shared Yamcs actions - #1766
Merged
Paul Lizer (paullizer) merged 4 commits intoOct 14, 2026
Merged
Paul Lizer (paullizer) merged 4 commits into
Paul Lizer (paullizer) merged 4 commits into
Conversation
Add actor-private credential bindings, private chat cards, and revision-fenced continuation, with Yamcs as the first adapter. Support classic and React authoring and chat, preserve existing identity storage, and document lifecycle limits and validation blockers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve Ask AI handoff continuity and personal action credentials. Set the combined application version to 0.261.335 and align current-version metadata while retaining the original implementation history. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Compose authorization, identity, and retained-source services from web and scheduler bootstrap instead of importing owners back into the credential resolver and journal. Add real cold-import, outage, and concurrent-delete regressions; remove unused imports and clarify filter/deletion control flow. Bump application version to 0.261.336. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep both private credential and workflow inventory evidence. Advance the combined application to 0.261.337 and record passing merged validation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
merged commit Oct 14, 2026
46c57ba
into
paullizer-react-v2-ui
11 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
26eaad04e, preserving both credential and workflow Cosmos inventory reviews. Current application version is 0.261.337.Scope and review notes: existing service/proxy Authorization-header restrictions remain. Private bindings, requests, and checkpoints are excluded from backup/restore and migration, requiring explicit rebinding after restore. Private partition purge is tested, but no full account-deletion endpoint exists to integrate. Existing workspace-identity expiration/reminder limitations are unchanged. OAuth/OBO and other connector integrations are outside this PR.
Linked issue
N/A. No issue was created, as requested.
Release Notes & Latest Features
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Release notes and a Latest Feature card are not included. Release-note approval was unavailable; feature, fix, and user-guide documentation are included.
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-onlydeployers/version.txtbumped, or not needed becausedeployers/was not changedCurrent application version: 0.261.337. The framework was initially implemented in 0.261.333; 0.261.336 resolves the credential import-boundary findings, and 0.261.337 integrates the updated V2 base. No deployer changes.
Testing / validation
The merged local gate passed at 0.261.337: 843 tests plus 231 subtests, with external network blocked. The inventory has 1057 owners, 400 doubles, and zero review gaps. No assertions or test timeout limits were relaxed.
Backend commands below used a temporary isolated dependency overlay with the application's pinned Flask, Semantic Kernel, Cosmos, OpenAI, and Yamcs packages. Set
$env:PYTHONPATH='application\single_app;functional_tests'and$env:TIKTOKEN_CACHE_DIR=(Join-Path (Get-Location) 'artifacts\credential-merge-tiktoken'); warm the declared tiktoken assets before blocking network. The overlay and its cache were removed and are not committed. npm commands ran fromapplication\v2_ui; other commands ran from the repository root.& .\artifacts\credential-merge-venv\Scripts\python.exe -c "import tiktoken; tiktoken.get_encoding('cl100k_base'); tiktoken.get_encoding('o200k_base')"- passed before network-blocked validation.& .\artifacts\credential-merge-venv\Scripts\python.exe .\scripts\check_cosmos_response_boundaries.py --run-contracts- passed at 0.261.337: 843 tests and 231 subtests.& .\artifacts\credential-merge-venv\Scripts\python.exe -m pytest -p test_support.cosmos_network_guard .\functional_tests\test_action_personal_credentials.py .\functional_tests\test_action_credentials_sk_continuation.py .\functional_tests\test_action_credentials_orchestration_continuation.py .\functional_tests\test_action_credentials_bootstrap.py -q --disable-warnings --tb=short- passed at 0.261.337: 49 tests, including normal/optimized real web/scheduler bootstrap, both early import orders, identity-service outages, concurrent deletion, and nested SK continuation.python -m pytest .\ui_tests\test_v2_action_credentials.py .\ui_tests\test_classic_action_credentials.py -q --disable-warnings --tb=short- passed at 0.261.337: 36 browser cases.node .\functional_tests\test_v2_action_personal_credentials.mjsandnode .\functional_tests\test_v2_editor_assist_handoff.mjs- passed at 0.261.337.npm run typecheckandnpm run build- passed on the merged V2 source; the existing large-bundle warning remains.python .\functional_tests\route_tests\test_route_blueprint_policy_inventory.py,python .\functional_tests\route_tests\test_route_unauthenticated_policy_contract.py, andpython .\functional_tests\route_tests\test_route_policy_test_coverage.py- passed at 0.261.337: 15, 10, and 3 checks respectively.python .\functional_tests\test_docs_app_surface_coverage.pyandpython .\functional_tests\test_docs_site_quality.py- passed at 0.261.337: 7 and 6 checks respectively.git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol --no-pager diff --cached --check- passed before the merge commit.Previous validation: at 0.261.336 the complete local Cosmos gate passed 837 tests plus 231 subtests, and full-file BAC/XSS checks passed for the five credential backend files. Initial Windows cold-import timeouts are recorded as historical context in the feature documentation. The initially attempted system-Python bootstrap run at 0.261.337 failed on an incompatible global OpenSSL/aiortc dependency chain; the isolated declared-pin overlay passed all 49 credential tests and the full gate.
CI note: the published
275b5b1Cosmos workflow was cancelled after exceeding its 20-minute job limit at about 54% completion; the other reported checks passed. This local merge validation does not establish that GitHub CI is passing. Current-head checks must complete on26eaad04e.A broader compatibility run at 0.261.336 with
& .\artifacts\credential-review-venv\Scripts\python.exe -m pytest -p test_support.cosmos_network_guard .\functional_tests\test_agent_delegation_runtime.py .\functional_tests\test_agent_delegation_auth_handoff.py .\functional_tests\test_agent_delegation_entrypoints.py .\functional_tests\test_action_workspace_identity_scoping.py -q --disable-warnings --tb=shorthad 72 passes and nine failures in existing AST-extracted entrypoint fixtures with missing globals. The loader, workflow, and chat source files were unchanged by that review fix; no unrelated fixture repairs were bundled.Manual UI inspection covered desktop light and mobile dark layouts, long destination labels, and overflow.
Documentation
Added
docs/explanation/features/PERSONAL_ACTION_CREDENTIALS.md,docs/guides/personal-action-credentials.md, anddocs/explanation/fixes/ACTION_CREDENTIAL_IMPORT_BOUNDARIES_FIX.md. Updated Yamcs, workspace identities, shared-action/agent guides, chat controls, logging tags, current-version metadata, and reviewed storage evidence.Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()