Record NK-WP-0048 1.2 adapter set coordinator review r1 (rejected: mint-secret unadmittable)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
codex 2026-10-17 10:40:22 +02:00
parent 3cf2fd1ea4
commit fdb9c910ce

View file

@ -0,0 +1,73 @@
{
"schema": "custodian.nk48-adapter-set-source-review.v1",
"revision": "r1",
"reviewed_on": "2026-10-17",
"reviewer": "custodian coordinator (Claude Code, separate session, no authoring-session context)",
"frozen_target": {
"repository": "net-kingdom",
"commit": "582ab9fad063a43730c9cd0aaa0dc48b700b1248",
"base": "2019e82",
"commits_in_range": 22,
"kernel": "ops-warden a45cf47 src/warden/case_run.py (out of scope; used as the admission contract)"
},
"hashes_verified": {
"keycape-registration-adapter.py": "sha256:021eee262ea5d23d46258ed819da57b331f07b814adcafd60e0941214be02aea",
"ensure-groups-adapter.py": "sha256:19325fc599ae76e7ec2b54c132b1cf7dea1b5e931bb5263031dbdf8f4c0bcc7f",
"mint-secret-adapter.py": "sha256:1242902a8366e5837d1a24c742a2dff84efb195cd8d3e25382fa4e971d732499",
"deliver-secret-adapter.py": "sha256:b97df5710e388ca57b9f239a2900bc29e0b1c1fe1740a1f7987636b44343cf80",
"bind-env-adapter.py": "sha256:3f1c6426e31806d969336b6fdfecd8dd321ec0ca43b50b20213cc9f7637f7c7e",
"deliver-consumer-secret-adapter.py": "sha256:d046eed63090d4e0849a931e2650ccfd89d3b686843aed9e5cb35a0e18e513ee",
"handover-adapter.py": "sha256:0efc300a7b2765bce8da140d5c4666d9cb30daf02b4cbf0e0df96cba7c33d026",
"compose-1.2-descriptors.py": "sha256:4316f23cfdb312212aa688006c1169f29ff27eb4fbd1eba9368cce7cb0095ce8",
"descriptor-composition-1.2.candidate.json": "sha256:1f5bf6d10ca3bbf8e06d3a755ecafeb47179327715d7b1d096e0685d167aa471"
},
"hashes_match": true,
"independent_reconstruction_passed": 98,
"reconstruction": "git archive of net-kingdom 582ab9f (full tree) and ops-warden a45cf47 src into a scratch directory; README pytest command run there: 98 passed, 71 subtests passed. A keycape-only export fails collection because ensure-groups imports identity-provisioner/group_provenance_postgres.py, so reproduction needs the full repository tree.",
"verdicts": {
"mint-secret-adapter.py": {
"verdict": "rejected",
"finding": "NK48-R1-F1",
"check": 5
},
"keycape-registration-adapter.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"ensure-groups-adapter.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"deliver-secret-adapter.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"bind-env-adapter.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"deliver-consumer-secret-adapter.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"handover-adapter.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"compose-1.2-descriptors.py": {"verdict": "not_reviewed", "reason": "review stopped at first rejection, per the request"},
"descriptor-composition-1.2.candidate.json": {
"verdict": "rejected",
"finding": "NK48-R1-F1",
"check": 8,
"note": "the artifact asserts complete_executable_descriptor_set true although one of its seven descriptors cannot pass kernel admission"
}
},
"findings": [
{
"id": "NK48-R1-F1",
"severity": "blocking",
"title": "mint-secret descriptor can never be admitted by the unchanged Warden kernel",
"evidence": [
"mint-secret-adapter.py descriptor(): actor 'agent', effect 'mint'",
"descriptor-composition-1.2.candidate.json mint-secret descriptor: actor 'agent', effect 'mint' (candidate digest sha256:1fb462d930bae75e35a64bbdefded1e916613f2a630fdecf61885d0e542ea89b)",
"ops-warden a45cf47 case_run.py Executor.admit: refuses unless actor == descriptor.actor ('principal actor or lane mismatch'), then refuses effect 'mint' unless actor == 'human' ('agent mint is forbidden')"
],
"consequence": "Every admission of mint-secret is refused, whichever actor the caller claims. The seven-step 1.2 set is not executable under kernel a45cf47, so complete_executable_descriptor_set: true overstates the artifact.",
"test_gap": "The suite and the workplan claim stop at Descriptor.decode; no test runs Executor.admit with the mint-secret descriptor, so the 98 passing tests do not detect this.",
"relation_to_founder_decision": "The founder decision (actor 'agent', kernel unchanged) is not challenged here. Its two halves conflict with the kernel's agent-mint prohibition. Fixing this needs a founder or owner choice (for example a human actor, a different effect classification, or a separately reviewed ops-warden kernel change), recorded in net-kingdom as a new revision and reviewed as r2.",
"fix_venue": "net-kingdom new revision; not edited during review"
}
],
"observations_not_findings": [
"ensure-groups source_digest covers its import closure across directories (adapter plus identity-provisioner provisioner.py, group_provenance.py, group_provenance_postgres.py); not checked against the full transitive closure, since review stopped.",
"mint-secret finally block calls revoke_session(inv) and then revoke_grant(inv) in one expression. Parent-session revocation is always attempted, but if revoke_session raises, broker-grant revocation is skipped for that attempt. Re-examine in r2."
],
"known_limits_assessed": "not assessed (bind-env fixture gap, ensure-groups parity copy, injected owner stand-ins): review stopped at first rejection",
"canonical_integration": "not approved",
"native_acceptance": false,
"grants": "none: no owner admission, pin or native authority; those stay with NK-WP-0048-T16 and the founder",
"hard_limits_observed": "no live or native action, no kubectl, SSH or secret access; net-kingdom and ops-warden not edited (read via git archive into scratch only)",
"remaining": "Resolve NK48-R1-F1 (founder/owner choice plus net-kingdom revision, with a test that runs Executor.admit for every descriptor in the set); then full r2 review of all nine files against checks 1-8 and the known limits; then owner review and admission under T16; native acceptance."
}