feat: implement unified same-user and isolated agent modes - #402
Conversation
|
⏸️ CI Auto-Fix paused Maximum consecutive fix attempts (3/3) reached for this PR without success. You can:
To configure the maximum attempts, go to Repository Settings > Automation > CI Auto-Fix. |
|
✅ Fix pushed: The CI failure was a transient GitHub Actions infrastructure issue on the ARM64 runner, not a code problem. The job failed trying to download actions with "Service Unavailable". All code checks pass locally and the x86_64 build succeeded in CI. Posted explanation to PR #402. |
2feb221 to
f8554c6
Compare
f8554c6 to
0abe815
Compare
|
@forkline /reset |
|
@forkline fix CI failures |
|
CI failures were due to transient GitHub Actions infrastructure issues (Service Unavailable errors when downloading actions). I've verified locally that all checks pass:
I've triggered reruns of the failed workflows (#31118215459 and #31118215465). The workflows are currently queued and should complete successfully. |
|
⏸️ CI Auto-Fix paused A user commit was detected after an automated fix. CI auto-fix is now paused To resume CI auto-fix, use the |
There was a problem hiding this comment.
CI failures were due to transient GitHub Actions infrastructure errors (Service Unavailable). Verified all checks pass locally (fmt, clippy, test, build). Rerun workflows #31118215459 and #31118215465. Posted status comment to PR #402.
|
The CI failure was caused by a transient GitHub Actions infrastructure issue on the ARM64 runner (ubuntu-24.04-arm). The job failed with "Failed to resolve action download info. Error: Service Unavailable" - this is not a code issue. All checks pass locally:
The queued CI runs for commit |
73503c2 to
32de6f1
Compare
Summary
Implements the unified Passless agent authentication model described by ADR 0007:
same-useruses the existing human credential backend, PIN service, key provider, counters, and operation lock.isolatedretains a separate credential namespace, provider, browser state, and revocation lifecycle.This replaces closed PR #401. Its head branch was moved to an unrelated AUR/release commit; GitHub would not reopen it after the original branch was reconstructed. The overwritten head is preserved at
backup/unified-agent-modes-adr-overwrite-20260806.Implementation
same-userandisolatedmode validation.deny,autonomous, andsupervisedceremony-policy aliases.toJSON()behavior.Automated validation completed
The implementation has passed:
make test-agent-validationharness;Regression coverage includes audit denials, interaction-required status mapping, RP and credential-scope denial, shared bearer budgets, replay rejection, deterministic credential selection, and post-registration credential discovery.
Environment-dependent release evidence
These cannot be honestly certified by ordinary GitHub-hosted CI and remain explicit external gates:
A real Chromium MV3 integration harness was attempted in the available container. Chromium headless did not load the unpacked extension, while the headed Xvfb process did not expose a usable DevTools endpoint, so that environment did not produce trustworthy browser E2E evidence. This is reported as unverified rather than passed.
Review status
Ready for implementation and security review once the final clean CI run on the squashed commit is green. External hardware/live-RP gates remain release evidence, not hidden software-test claims.