Repository navigation
fix(authz): keep credentials within their agent and repo grants - #2799
Conversation
d0cd949 to
83ba72b
Compare
There was a problem hiding this comment.
No verdict submitted — not approving.
Caution
No verdict · head d0cd949 · the run ended without a submit_verdict call
Full review
Exact-head review is blocked: PR #2799 is now at 83ba72b, but this run’s bound worktree remains at d0cd949 and lacks the amended commit. No verdict was published; the worktree needs refreshing to the new head before this review can finish.
There was a problem hiding this comment.
LGTM: No major defects found at the frozen head; one minor browser-baseline spec contradiction remains.
Note
Approved · head 83ba72b · 1 finding: 1 minor
| Severity | Finding | Where |
|---|---|---|
| minor | F1 Spec contradiction — web-chat.md item 11: catalogue-free browser actors now retain code access | docs/reference/specs/web-chat.md:58 |
Full review
F1 (high confidence): Item 11 still promises browser actors hold “nothing with no catalogue.” grantsTable now retains unrestricted agent actions and open code access without command groups, explicitly asserted in src/config.test.ts:643–649. Update the web-chat criterion to distinguish catalogue-dependent command grants from the preserved code-access baseline.
Test-guard dispositions: the coverage-test retitle and describe rename are refactor, verification intact; the assertion-count reduction accompanies retirement of the two shortcut helpers. Their unrestricted-machine behavior is explicitly retired by authorization item 9. Human open/restricted access, admin access and case matching remain independently proved in config.test.ts and scopedCredentialPolicy.test.ts; wildcard coverage remains in authorize.test.ts and the policy-row tests.
|
Warning Polylane could not verify the production impact of this pull request. Fail-closed gate change verified: coreplane-infra switchboard's cron and coordinator run no agents, human baselines stay open, so no in-repo identity breaks. The PR's machine-caller re-granting risk is self-declared but unconfirmable from the secret config. Also considered · 1 plausible, 3 refuted
Analysed against 7 cloud accounts and 1 repository
Polylane could not find the cloud resources this repository manages, so this review looked at the entire cloud account. Connect this repository to its resources and the next review will focus on exactly what this code deploys to. Polylane analysed Rate this review: 👍 helpful · 👎 not helpful · 😕 confusing |
A credential granted three agents and one repo could run any unrestricted agent or use another repo. Agent and repo gates now use the policy table and effective grants, so credential scope survives bound people and delegation.
Why: The open-unless-restricted helpers bypassed the documented credential ceiling. Human code access must stay open by default without granting additional repository memory rights.
Where to look
Feedback wanted: Check code-access and memory-ownership separation, mixed delegation, and persisted filter compatibility.
Risk: Machine credentials that relied on implicit open access need explicit agent and repo grants before rollout. Human defaults and explicit memory ownership are preserved. The parent owns configuration and deployment; this PR changes source only.
Verified: Scoped authorization/config/memory/command tests, 64 admission, 51 dispatcher and 72 SQLite cases passed; types, lint, format, specs, hygiene and coverage passed. All 44 screenshot pixels unchanged.
Decisions (2)
Validation (4 criteria)
🤖 Generated with Claude Code