Skip to content

Make historical agent authority deployment-bound - #35

Draft
cuevasclemente wants to merge 5 commits into
mainfrom
feat/generic-capabilities
Draft

Make historical agent authority deployment-bound#35
cuevasclemente wants to merge 5 commits into
mainfrom
feat/generic-capabilities

Conversation

@cuevasclemente

Copy link
Copy Markdown
Owner

Summary

  • stop schema-0 migrations from seeding built-in personal agents; use one generated restricted Default profile
  • require an owner-provisioned deployment-local witness before the retained historical profile can run or resolve copied capability associations
  • add generic wayang.masked-host-workspace.v1, effective only with exact-pair Standard resources, including scheduled sessions
  • replace the identity-specific bash mode/label with masked-host-workspace
  • add schema 8 monotonic pair-cutover tombstones so revoked generic authority cannot resurrect historical fallback
  • add a hidden-PIN local provisioning command, doctor diagnostics, documentation, and a staged rollout plan

Continuity invariant

Accidental widening of the active historical agent is more acceptable than narrowing it. Uncut pairs on the explicitly activated home retain legacy fallback. Secondary/copy deployments stay inert without a local witness. This PR must not be deployed on the active home until make setup-historical-agent-activation has been completed locally and its status verified.

Validation

  • backend focused migration/policy/runtime/sandbox/capability suite: 153/155 in the broad batch; the two failures reproduced as baseline timing/environment failures (browser production startup timeout passed alone; concurrent SRT synthetic mount assertion also fails on unchanged main)
  • browser production activation test: 1/1 passed alone
  • backend policy copied-association test: 6/6 passed
  • script tests: 66/66 passed before the added symlink case; activation script tests: 4/4 passed after hardening
  • frontend lint: 0 errors, one pre-existing Fast Refresh warning
  • frontend production build: passed
  • focused Playwright bash-mode status: 1/1 passed
  • make doctor: 0 failures; expected missing worktree .env warning; historical activation correctly reported inactive

Deployment / rollback

  1. review and merge only after security review
  2. provision the active home locally through hidden PIN input before installing/restarting this build
  3. preserve an exact private WAYANG_DATA_DIR backup and matching prior binary/source artifact
  4. deploy and verify existing uncut interactive + scheduled behavior
  5. secondary hosts do not receive an activation witness
  6. rollback by stopping Wayang and restoring the exact prior binary/store pair; do not run an older binary against schema 8

The combined PIN-approved per-pair cutover workflow remains a later stage; schema support is present, but this PR does not expose a one-click narrowing cutover.

@cuevasclemente

Copy link
Copy Markdown
Owner Author

Maintenance review result: keep draft / NO-GO. Production activation currently never persists a historicalAgentCutovers row, while agent-runtime and masked-host fallback treat an absent marker as permission to restore legacy authority. After generic associations are granted and later revoked, historical fallback can therefore resurrect. The current test manually inserts the cutover and does not exercise a production transition. Before merge, add an atomic real cutover path (likely only after both exact generic associations exist) and prove revocation cannot restore Standard Resources or masked-host authority. Also fail preview before PIN consumption when the deployment-local historical activation witness is absent. Baseline Linux CI expectation has since been repaired on main by PR #38; update this branch only after the authority blocker is fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant