fix(agent-runtime): bind procedural decision outcome to signed envelope - #596
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAgent Runtime의 절차적 평가 증거가 결정적 거부 이력과 승인 적격성을 포함하도록 변경되었습니다. 서로 다른 선별 결과는 서로 다른 증거 다이제스트를 생성하며, 이전 거부 결과의 재사용을 거부합니다. Changes절차적 평가 증거 무결성
Estimated code review effort: 2 (Simple) | ~10 minutes ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks 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 exact 99f4505a1f93f90badc61c953dcaee2266a2ced5: the original authority ambiguity is causally repaired. The envelope now binds the deterministic rejection identity, screening disposition, and approval eligibility in addition to the already-bound graph/context/paired receipt identities; admitted evidence retains those fields while remaining activationAuthorized:false. The regression exercises the specific same-evidence/different-rejection-history case and cross-admission fails closed. CHANGELOG diff is now limited to the new #596 Unreleased entry; the unrelated historical undici wording drift introduced during documentation editing was repaired before this review. No additional valid source/test/DDD boundary finding observed in the three-file patch. This is COMMENT only, not self-approval; merge remains contingent on all current-head required gates and fresh thread/review state.
Purpose
Repair an Agent Runtime evaluation-authority ambiguity discovered before durable procedural rejection-history work. Two locally admitted decisions can bind the same graph/context/paired receipts while differing only because the candidate's deterministic rejection key is already durably rejected. The prior evaluation-envelope digest did not bind that disposition, so one separately signed envelope identity could otherwise be reused across
validation_non_regression/ eligible andpreviously_rejected/ ineligible decisions.Reality RED and repair lineage
Test-first exact
f6361246975872f348484e445d02a00cf805bcf1constructs both decisions with the same graph/evidence identities, proves their disposition differs, and requires different evaluation-envelope digests plus fail-closed cross-admission. Its hosted application run34474813711reached therelease testsstep but was cancelled after the causal successor was pushed, so it is not claimed as terminal hosted RED. The test is a deterministic source-level regression against the predecessor digest implementation.Minimal causal source exact
6e9c18a654d170cb1faaabbdf510c70c34d45e6fbindsrejectionKey, screeningreason, andeligibleForApprovalinto the envelope identity and retains the same fields in admitted evidence. That exact earned application CI, reviewer-ci, central Security Scan, and patch-validator-image SUCCESS before the documentation/test-currentness follow-ups.CHANGELOG.mdnow records the behavior change without altering historical entries; the focused test also asserts the retained rejection/disposition identity.Boundary
activationAuthorized:falseand process-local admission remain unchanged. This PR does not add State / Checkpoint persistence, Policy / Approval, Keyverse key discovery/custody, provider routing, graph publication, or a second Workflow / Task/lifecycle truth. Keyverse currently has no immutable GitHub Release available for production trust-selection wiring, so mutable sibling source is not consumed here.This PR remains Draft until the complete current head has no valid unresolved review finding/thread and application CI, reviewer-ci, central Security Scan, and patch-validator-image are terminal GREEN on the same exact head. Predecessor GREEN is not transferable.
Summary by CodeRabbit