Record independent custody verifier review and required corrections

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
This commit is contained in:
tegwick 2026-10-11 14:00:37 +02:00
parent 6196be5dca
commit a36b6100fc
2 changed files with 121 additions and 0 deletions

View file

@ -0,0 +1,81 @@
{
"reviewer": "ops-mason-owner (agent ops-mason, codex)",
"decision": "changes_requested",
"comment": "INTENT Mission four-phase process and Responsibility boundary authorize source-grounded metadata/capability verification without secret retrieval or access widening. Exact reviewed manifest SHA256 e5d4781c6280c3bc8a3930c63cfb563f59752465720d6c2c3e95eb0551f8e949; script d79f03733b864319a3c4b8fcdb5a956795bb17679eb96b03b46ffa07030ae730; own completed work item ADHOC-2026-10-11-T03 written before this entry. Guarded endpoints, survey/lane separation, source attendance gates and honest correlated nonmember acceptance fit this boundary. Response acceptance and accessor correlation require corrections before native execution. Source preparation does not finish MASON-WP-0009-T05 or activate routing.",
"own_work_record_sha256": "9d637bb9fd9d5fc73cfcc24fb2615e65e0849d54c385db4129501469c214d346",
"reviewed_manifest_sha256": "e5d4781c6280c3bc8a3930c63cfb563f59752465720d6c2c3e95eb0551f8e949",
"reviewed_files": [
{
"original_sha256": null,
"path": "scripts/verify-keycape-client-custody.py",
"repo": "ops-mason",
"staged_path": "/tmp/mason-jwt-capability-next-stage/ops-mason/scripts/verify-keycape-client-custody.py",
"staged_sha256": "d79f03733b864319a3c4b8fcdb5a956795bb17679eb96b03b46ffa07030ae730"
},
{
"original_sha256": null,
"path": "tests/test_keycape_client_custody_verifier.py",
"repo": "ops-mason",
"staged_path": "/tmp/mason-jwt-capability-next-stage/ops-mason/tests/test_keycape_client_custody_verifier.py",
"staged_sha256": "c7a9f77930d28f5d1136ca82f7bcafe68a22ce7a1583063a9a7be0213e9c1691"
},
{
"original_sha256": null,
"path": "docs/keycape-client-custody-attended-verification.md",
"repo": "ops-mason",
"staged_path": "/tmp/mason-jwt-capability-next-stage/ops-mason/docs/keycape-client-custody-attended-verification.md",
"staged_sha256": "ddc791e935cf3d6916565af13081f65005e9865677d4e043295bd920e255b408"
},
{
"original_sha256": "857458214d94f7852f841bad25887625ee4d90575a79b5153465c661a2e0089f",
"path": "workplans/MASON-WP-0009-keycape-secrets-engine-openbao-client-custody.md",
"repo": "ops-mason",
"staged_path": "/tmp/mason-jwt-capability-next-stage/ops-mason/workplans/MASON-WP-0009-keycape-secrets-engine-openbao-client-custody.md",
"staged_sha256": "c2a7907ba44226a2332a55a8d4f153291cee4d85c1299fa63333f12885bcd1ca"
},
{
"original_sha256": null,
"path": "docs/evidence/2026-10-11-keycape-client-custody-native-preparation.json",
"repo": "ops-mason",
"staged_path": "/tmp/mason-jwt-capability-next-stage/ops-mason/docs/evidence/2026-10-11-keycape-client-custody-native-preparation.json",
"staged_sha256": "237a21711859b2228b56f769520bd5dd521657ec65b5a7c7869d74bb103e5403"
}
],
"findings": [
{
"id": "MASON-CUSTODY-REVIEW-01",
"severity": "blocking",
"location": "scripts/verify-keycape-client-custody.py Api.call and main cleanup",
"observed": "Api.call accepts synthetic HTTP202 text/plain body with errors as ordinary returned JSON. Both revoke callers mark success on any nonexception return. Cleanup can therefore be labeled confirmed without successful endpoint semantics.",
"required_change": "Check endpoint-specific statuses (200 for lookup/login/capability; documented success/no-content for revoke), content type for nonempty JSON, object shape and errors absence; refuse unexpected statuses or bodies and preserve cleanup false/unproved. Add main-level failure tests for unsuccessful/malformed revoke response, plus correct no-content success."
},
{
"id": "MASON-CUSTODY-REVIEW-02",
"severity": "blocking",
"location": "scripts/verify-keycape-client-custody.py survey and main lane accessor digest",
"observed": "Missing query accessor passes survey and becomes SHA256(empty). Lane accessor likewise defaults to empty. This does not identify an actual native session and undermines promised owner correlation.",
"required_change": "Require actual nonempty bounded valid accessor strings before fingerprinting; suppress raw fields; missing/malformed accessor keeps acceptance unproved while attempting safe recovered-token cleanup. Add missing/empty/wrong-type accessor counterexamples."
}
],
"verified_safe_scope": [
"HTTP endpoint allowlist excludes KV data/metadata retrieval and role/policy writes",
"fixed loopback endpoint, ProxyHandler({}), redirect refusal, 64KiB response body read bound",
"task-named survey policy/TTL and exact data/self-policy/token-create denials checked before lane login",
"operator native -no-store with private HOME; native ESO separate fixed-service-account/audience10m TokenRequest and existing SSH cluster-IP check",
"both recovered lane and valid query self-revokes attempted on later failure; failed query identity recovery explicitly remains founder obligation",
"nonmember only candidate, no automatic accepted outcome; owner identity+same-attempt groups-refusal correlation remains required",
"formal source review/founder exact digest go/native evidence/route-owner acceptance remain gates"
],
"tests": {
"authored_suite": "19 passed",
"independent_synthetic_counterexamples": [
"HTTP202 text/plain errors accepted by revoke API",
"missing query accessor accepted and hashed empty"
]
},
"native_actions": false,
"credential_requests": false,
"owner_checkout_writes": false,
"whole_plan_closed": false,
"approval_or_admission_fields_changed": false
}

View file

@ -9,6 +9,7 @@ owner: codex
created: "2026-10-11"
updated: "2026-10-11"
flavor: implementation
state_hub_workstream_id: "e3854bfd-2bc8-5411-8c96-44ed22d878a7"
---
## Review the frozen consumer-reader source refinement
@ -17,6 +18,7 @@ flavor: implementation
id: ADHOC-2026-10-11-T01
status: done
priority: medium
state_hub_task_id: "d7b760f2-fb8b-542a-a42e-d2846dd03cc9"
```
Independent dedicated ops-mason-owner review under MASON-WP-0010-T03. Loaded ops-mason AGENTS.md, INTENT.md and SCOPE.md in its checkout; read delegated-owner-review_v0.1.md and agent-environment-orientation.md. Review was performed in an isolated checkout, with no owner source/native writes, authentication, credential values or approval recording.
@ -35,6 +37,7 @@ Review outcome and formal review entry are stored in docs/evidence/2026-10-11-fo
id: ADHOC-2026-10-11-T02
status: done
priority: medium
state_hub_task_id: "ff180859-f3d0-5aee-9e09-73e99fee0ad8"
```
Fresh dedicated ops-mason-owner review under MASON-WP-0010-T03, retaining T01 and its exact c48 review without rewriting its historical outcome. Exact frozen19 manifest sha256:5dbd04cf96d73a2604cbf113073d618c03434fc87508ba614cbe3820a1a0e431; unchanged proposed full render sha256:c0afd5576cdae0cbc807eccb2b9fa87ac668f15e32ec7cf79d295bdb23c75b35. All19 hashes and three current owner source baselines verified. Independent isolated builder/plan/structure suites:44 passed. New workload and lifecycle counterexamples both fail against the earlier c48 builder, reproducing mislabelled keycape consumer target and delete-only recovery wording. Earlier42 suite and original duplicate-role failure remain preserved in /tmp/forgejo-eso-mason-independent-review.
@ -44,3 +47,40 @@ Revised source review approved against INTENT Mission construction consistency a
Role-backed consumer recovery first reverts the consumer reference; restricts cleanup to independently proven created objects; preserves shared/preexisting matches; requires owner token revocation or independently verified expiry before declaring deactivation; forbids a new login/remint during recovery; and stops on changed references/UIDs/ownership. Proposed type rollback and CCR42 retain role-before-policy ordering. These are source obligations, not an installed recovery adapter or supplied custody authority. Real proposed1.2 admission remains refused, CCR42 remains proposed with unconfirmed binding, and exact acknowledgment/native per-owner evidence/founder live go remain pending.
Own task completed before formal refined review entry in docs/evidence/2026-10-11-forgejo-consumer-eso-independent-mason-review-refined.json. No source writes in owner checkout, native act, authentication, credential value, acknowledgment, admission/binding/status mutation or completion claim. Fresh source build/bundle reconciliation follows exact acceptance; earlier approval does not migrate to the corrected output. Existing MASON-WP-0010-T03 and first-case owner work retain these next steps.
## Independently review native client-custody capability preparation
```task
id: ADHOC-2026-10-11-T03
status: done
priority: medium
```
Completed independent ops-mason source review preparation for MASON-WP-0009-T05
before issuing its formal review. Read this repo's AGENTS.md, INTENT.md,
MASON-WP-0009, survey policy and the exact operator/ESO platform policies, plus
fleet delegated-owner-review and environment orientation. Reviewed frozen
manifest SHA256 e5d4781c6280c3bc8a3930c63cfb563f59752465720d6c2c3e95eb0551f8e949 and verified all five staged digests and existing
workplan baseline. Original input and owner checkouts were not changed.
INTENT Mission/Responsibility boundary permits metadata/capability verification,
not secret retrieval or policy widening. Fixed allowlisted endpoints, task-bound
survey identity and data deny, -no-store operator OIDC and fixed ESO TokenRequest
retain that boundary. Native nonmember acceptance correctly requires independent
same-attempt issuer identity plus platform groups-refusal correlation; the runner
never treats login errors as acceptance. Attendance/source-digest checks are
procedural gates, not new live authority or runtime isolation.
Existing 19 tests pass. Independent synthetic counterexamples show Api.call
accepts HTTP202 text/plain JSON errors as a successful revoke response, and
survey accepts an omitted accessor as SHA256 of empty input. These are concrete
acceptance/correlation defects, so a fresh source revision is required before
native proposal execution. The query identity-failure recovery exception is
explicitly declared: no confirmation, founder revocation, acceptance remains
blocked. It is not silently counted as clean.
This bounded review task is complete. Corrections and native proof remain live
in MASON-WP-0009-T05; no plan completion or route activation is claimed and no
new residual is parked in prose. No native action, credential request, value
access, approval disposition, commit, push or consistency sync was performed.