diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 953070e..b6f485e 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -22,7 +22,7 @@ | workplan | MASON-WP-0010 | blocked | — | workplans/MASON-WP-0010-security-case-materialization.md | | workplan | MASON-WP-0011 | finished | — | workplans/MASON-WP-0011-reuse-surface-hub-writer.md | | workplan | MASON-WP-0012 | finished | — | workplans/MASON-WP-0012-sign-in-diagnosis-caller-proof.md | -| workplan | MASON-WP-0013 | finished | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | +| workplan | MASON-WP-0013 | active | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | | workplan | MASON-WP-0014 | finished | — | workplans/MASON-WP-0014-mas-tem-relay-smtp.md | | workplan | MASON-WP-0015 | active | — | workplans/MASON-WP-0015-construct-grant.md | | task | ADHOC-2026-10-11-T01 | done | — | workplans/ADHOC-2026-10-11.md | @@ -90,7 +90,7 @@ | task | MASON-WP-0013-T01 | done | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | | task | MASON-WP-0013-T02 | done | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | | task | MASON-WP-0013-T03 | done | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | -| task | MASON-WP-0013-T04 | done | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | +| task | MASON-WP-0013-T04 | wait | — | workplans/MASON-WP-0013-reuse-surface-private-source-reader.md | | task | MASON-WP-0014-T01 | done | — | workplans/MASON-WP-0014-mas-tem-relay-smtp.md | | task | MASON-WP-0014-T02 | done | — | workplans/MASON-WP-0014-mas-tem-relay-smtp.md | | task | MASON-WP-0014-T03 | done | — | workplans/MASON-WP-0014-mas-tem-relay-smtp.md | diff --git a/plans/reuse-surface-private-source-reader.md b/plans/reuse-surface-private-source-reader.md index b995ea0..8cf712a 100644 --- a/plans/reuse-surface-private-source-reader.md +++ b/plans/reuse-surface-private-source-reader.md @@ -424,8 +424,9 @@ different record. This file stays `reviewed`. ops-mason does not set it ## 6. Proposed verification and rollback contract The contract below is the acceptance rule. The platform path already ran. -ops-mason's 2026-10-21 metadata receipt and the cited platform and custodian -receipts are recorded on MASON-WP-0013-T04. The draft catalog proposal is not +ops-mason's 2026-10-21 metadata receipt and the cited seven-index and 70-id +receipts are on MASON-WP-0013-T04. That task stays `wait`: no cited receipt +records the reader least-privilege denial. The draft catalog proposal is not activated. No secret value is in those records. Before changes: exact CCR/plan/script/manifest digests, owner reviews and founder diff --git a/tests/test_wp_0013_0014_evidence.py b/tests/test_wp_0013_0014_evidence.py index acdebd5..852e588 100644 --- a/tests/test_wp_0013_0014_evidence.py +++ b/tests/test_wp_0013_0014_evidence.py @@ -122,15 +122,14 @@ def test_private_reader_survey_records_lane_without_approving_apply(): proposal = ( ROOT / "builds" / "reuse-surface-private-source-reader" / "catalog-proposal.yaml" ).read_text() - assert _frontmatter(workplan)["status"] == "finished" + assert _frontmatter(workplan)["status"] == "active" assert _frontmatter(plan)["status"] == "reviewed" assert _frontmatter(plan)["approved_by"] is None - for task_id in ( - "MASON-WP-0013-T02", - "MASON-WP-0013-T03", - "MASON-WP-0013-T04", - ): - assert _task_status(workplan, task_id) == "done" + assert _task_status(workplan, "MASON-WP-0013-T02") == "done" + assert _task_status(workplan, "MASON-WP-0013-T03") == "done" + assert _task_status(workplan, "MASON-WP-0013-T04") == "wait" + assert "blocked_on: message-from:railiance-platform" in workplan + assert "reader least-privilege denial" in workplan flat_plan = _flat(plan) flat_workplan = _flat(workplan) assert "token-claude-MASON-WP-0014-T04" in flat_plan diff --git a/workplans/MASON-WP-0013-reuse-surface-private-source-reader.md b/workplans/MASON-WP-0013-reuse-surface-private-source-reader.md index 4bbbebd..5322398 100644 --- a/workplans/MASON-WP-0013-reuse-surface-private-source-reader.md +++ b/workplans/MASON-WP-0013-reuse-surface-private-source-reader.md @@ -4,7 +4,7 @@ type: workplan title: "Construct the seven-repository reuse-surface source reader" domain: infotech repo: ops-mason -status: finished +status: active owner: codex topic_slug: netkingdom-security-architecture created: "2026-10-15" @@ -17,8 +17,9 @@ state_hub_workstream_id: "a1da7c80-a299-5a46-8b42-9e366271442c" # Seven-repository hosted reader Demand: CUST-WP-0081. Metadata disclosure consent is a separate record. -ops-mason surveyed metadata and recorded the platform CCR, founder decision, -and cited receipts. It did not mint or apply the lane. +ops-mason surveyed metadata and recorded the platform CCR and founder +decision. It did not mint or apply the lane. T04 stays `wait` until a cited +receipt records the reader least-privilege denial. ## Prepare the construction bundle @@ -101,8 +102,8 @@ mint, or apply. ```task id: MASON-WP-0013-T04 -status: done -depends_on: [MASON-WP-0013-T03] +status: wait +blocked_on: message-from:railiance-platform priority: high state_hub_task_id: "8125f98b-f87c-582f-af8c-f5e809caf50f" ``` @@ -114,9 +115,9 @@ catalog route and hand 70-ID fresh audit evidence to CUST-WP-0081. Never publish success before actual receipt or finish while unresolved lifecycle work is only in prose. -Done as observation of the platform path plus this session's metadata -receipt. ops-mason did not re-execute the build and did not publish a new -success by logging in as the workload. +Waiting on railiance-platform for a receipt that records the reader +least-privilege denial. The items below are cited. They do not include that +denial result. ops-mason did not log in as the workload and did not mint or apply. - Metadata, 2026-10-21T22:15:21Z, grant `token-claude-MASON-WP-0014-T04`: path version 1, ESO policy read, role bound as in T02. Survey-token @@ -124,6 +125,7 @@ success by logging in as the workload. `platform/data/workloads/reuse/reuse-surface/runtime-secrets`; `list, read` on the reader metadata path. Writer policy `workload-kv-read-reuse-surface-runtime` has no stanza for the reader path. + Those are observer and writer-policy negatives, not the reader denial. - Seven native indexes: custodian `docs/assessments/netkingdom-2026-10-14/private-native-fetch-verification-r1.json`, id `CUST81-PRIVATE-NATIVE-FETCH-RECEIPT-R1`, `all_verified` true, seven