Add proof-carrying child result acceptance boundary #255
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm!255
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "rage/56-result-acceptance"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Advances #56.
RAGE slice
Starts from exact canonical
main267697bef10a3fffff7c093e1435ece770e7444b. No competing #56 transaction or downstream product implementation was found. This reuses merged #92'srlm_evidence/ Spec/Verify substrate rather than introducing another verifier stack.Current exact candidate head:
60bb1effb46abedf7ac23cc544ac6ba63c1a5f08.TDD first
Commit
a8beb5048e14a661d16610d4c30b66738d457312defines the result-acceptance contract before production implementation. The test-only head was not opened as a PR, so CI was not intentionally left red.The deterministic matrix covers valid completed acceptance, non-completed rejection, missing/undeclared claim evidence, stale/missing artifact refs, model-claim proof laundering, child-proposed verifier laundering, distinct verifier failure/error/timeout states, monotonic policy narrowing, duplicate claim IDs and nonground result rejection. Negative behavior is asserted as expected structured rejection while the suite remains green.
Design / realization
rlm_result_acceptaddsresult_normalize/2,result_acceptance_policy_normalize/2,result_acceptance_policy_narrow/3, andresult_accept/4.Child completion and parent acceptance remain distinct. The result envelope is closed typed data. Artifact refs retain typed ground identity and are resolved through canonical
rlm_artifact; current artifact provenance is checked by canonicalrlm_evidencepolicy. Host-required verifier outcomes come only from a separate trusted acceptance context. The child envelope'sverificationfield is inert proposal metadata and cannot satisfy or waive a host-required verifier.Policy narrowing reuses
evidence_policy_narrow/3, only tightens boolean evidence requirements, and unions required verifier sets. The module is statically loaded bytest/load_all.pl; its tests are in the authoritative deterministic corpus; public/security semantics are indocs/result-acceptance.md.Adversarial review
The first realization was rejected before promotion after review found three real bugs: non-completed children could still be accepted, claim-local refs could bypass result-level declaration/resolution, and duplicate identities could fail nondeterministically. Tests were hardened before the production fixes.
A second interface review rejected generic closed-data retagging for artifact refs because that would erase reusable typed identity. Artifact refs now have a separate ground typed boundary while arbitrary child payloads remain canonical closed data.
Security invariants: completion != acceptance; model/child data never becomes a verifier callable; child-proposed verification cannot satisfy host verification; evidence/verifier policy narrows only; missing/stale/untrusted evidence remains explicit rejection; verifier failure/error/timeout never becomes success; no authority/effect/capability path or private reasoning storage is introduced.
Exact-head verification
Exact head
60bb1effb46abedf7ac23cc544ac6ba63c1a5f08, tested as synthetic merge66b83c7a3d4fec829cded86ffc68d2fa134984fcinto unchangedmain, is green for:No submitted reviews, PR conversation comments, or unresolved review threads exist. GitHub reports the PR mergeable.
Scope / decision
Engineering decision: GO for this bounded first #56 slice. #56 remains open for separate acceptance trace events and deeper canonical supervised-child integration/correlation.
Merge remains subject to the repository's stronger explicit merge-on-green authorization requirement.