feat(policy-approval): bind procedural promotion with CAS - #601
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
left a comment
There was a problem hiding this comment.
Current-head review on 592245ce0274196f158c6ee1787f16182dbd50cb: the real 100% branch-coverage RED from predecessor 1dcf0912... is causally repaired by exercising the intentionally supported null-prototype exact-record arm; production validation and the coverage threshold remain unchanged. I found one remaining repair finding before readiness: this PR introduces a new production Noema Policy / Approval CAS boundary but still has no CHANGELOG.md ## Unreleased record. Prior protected procedural source-boundary slices treat that behavior record as part of code-current merge authority. Add a narrowly scoped #601 entry that states the exact graph/history/signed-claim/CAS binding, monotonic approve/revoke semantics and activationAuthorized:false, and explicitly keeps Keyverse custody, graph publication, release/deployment/canary and activation outside this boundary. Do not broaden the change into a second State / Checkpoint or Workflow / Task truth. COMMENT only; no self-approval.
seonghobae
left a comment
There was a problem hiding this comment.
Current-head review on 751d6e27c2f1397bd283e5f211b6b39e53aa5577: predecessor 8dc6f917... produced a real application-CI RED because requestFrom() required the latest evaluation to remain approval-eligible before the independent Policy / Approval action was resolved, making explicit revocation impossible after a current score_regression event. The causal fix moves the eligibility/non-regression condition to the approve_for_pilot path only; revocation still requires an admitted current State / Checkpoint snapshot, exact graph/history/evaluator identities, independent exact decision, monotonic approval-version CAS, and an already-approved prior status. activationAuthorized:false and Keyverse/publication/provider/security ownership boundaries remain unchanged. All four exact-head workflows are now terminal SUCCESS, and the current unresolved-thread sweep is empty. No additional valid source/test/DDD finding found on this 3-file delta. COMMENT only; no self-approval.
Purpose
Protected #594/#597/#599 provide authenticated evaluator handoff, bounded durable evaluation/rejection history, and provenance-preserving State / Checkpoint reads. #601 adds the Noema-owned Policy / Approval boundary that binds an independent policy decision to the exact graph and verified history under monotonic CAS without turning screening/history evidence into activation authority.
Reality RED → causal repair
Test-first exact
861f8bc4d1c9223a5fbbc8a0e9be3e93a4b342a1required independent Policy / Approval, exact graph/history/evaluator binding, verified-history provenance, monotonic approval-version CAS, exact replay, explicit revocation, andactivationAuthorized:false; production source was intentionally absent.Predecessor
1dcf091272bec9ccc6c539006615b0d005d2f285then passed all 4,580 tests but failed the repository-wide 100% branch gate because the intentionally supported null-prototype exact-record arm was unexercised. Causal592245ce0274196f158c6ee1787f16182dbd50cbadded the focused public-path regression without weakening production validation or the coverage threshold.0014f496e59a040a7bdd3aa03e9f64e02db097f9recorded the Policy / Approval CAS behavior and non-authority boundaries inCHANGELOG.md.A later reality test
8dc6f9172812b3e013e53c61a13f89302ffb3b2fexposed a distinct current-state defect: application CI34511887416reached exact checkout, install, and release typecheck successfully, then failed release tests becauserequestFrom()required the newest durable evaluation to remaineligibleForApproval/validation_non_regressionbefore the independent policy action was resolved. That made an explicitrevokeunable to bind a newer authenticatedscore_regressionhistory. Causal exact751d6e27c2f1397bd283e5f211b6b39e53aa5577keeps graph/history/evaluator provenance checks inrequestFrom()but applies eligibility/non-regression only toapprove_for_pilot; revocation still requires an admitted current State / Checkpoint snapshot, exact independent decision, monotonic approval-version CAS, and an already-approved prior status. Predecessor GREEN never transfers across commits.Boundary
This lane reuses protected Agent Runtime and State / Checkpoint authority. It creates no second evaluation/history/workflow truth; it does not discover or custody Keyverse keys, publish a graph, invoke tools/models, route providers, copy foreign security/quarantine/egress truth, or grant activation. Policy / Approval retains exact decision, graph/evaluation-history, signed-claim and CAS identities, while later publication/activation must independently re-read current cross-authority state. Live Keyverse trust selection and immutable owner releases remain separate prerequisites. ADR-0017 stays Proposed.
Current review state
Current exact is
751d6e27c2f1397bd283e5f211b6b39e53aa5577. Application CI34513298425, reviewer-ci34513298463, required Security Scan34513298393, and patch-validator-image34513298346are all terminal SUCCESS on this exact. Current-head COMMENT review records the repaired reality RED and no remaining valid source/test/DDD finding; the fresh unresolved-thread sweep is empty. No self-approval or gate weakening.Related: #584, #594, #597, #599, #600.