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:
parent
6196be5dca
commit
a36b6100fc
2 changed files with 121 additions and 0 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue