{ "schema": "repo_manager.index.v1", "slug": "approval-evidence", "repo_root": "/home/worsch/audit-core", "head_sha": "d623f239d35ba04221686fc8631af83a41e01975", "observed_at": "2026-08-28T20:35:09.488732Z", "source_fingerprint": "ce9898ecc428ccbaa2298aeba150e27752fc03c8aa777bd61440cbc64e33c0e1", "source_files": [ ".repo-classification.yaml", "INTENT.md", "intakes/intakes.md", "workplans/AUDIT-WP-0001-statehub-bootstrap.md", "workplans/AUDIT-WP-0002-pluggable-audit-backend.md", "workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md", "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "workplans/AUDIT-WP-0007-integrity-verification.md", "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md" ], "work_records": [ { "kind": "workplan", "id": "AUDIT-WP-0001", "status": "finished", "title": "Bootstrap State Hub integration", "source_path": "workplans/AUDIT-WP-0001-statehub-bootstrap.md", "uuid": "85f4008a-d8a0-409e-886b-ffcc49f78bfb", "parent_id": null, "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0001-T01", "status": "done", "title": "Review Generated Integration Files", "source_path": "workplans/AUDIT-WP-0001-statehub-bootstrap.md", "uuid": "59896d6b-85ed-455d-9bd4-b546a050205e", "parent_id": "AUDIT-WP-0001", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0001-T02", "status": "done", "title": "Verify Local Developer Workflow", "source_path": "workplans/AUDIT-WP-0001-statehub-bootstrap.md", "uuid": "f74d7033-a20b-45da-9d0a-23426e60403e", "parent_id": "AUDIT-WP-0001", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0001-T03", "status": "done", "title": "Seed First Real Workplan", "source_path": "workplans/AUDIT-WP-0001-statehub-bootstrap.md", "uuid": "5df0cd46-9193-48a0-bd59-0e6acbc56270", "parent_id": "AUDIT-WP-0001", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0002", "status": "finished", "title": "Pluggable audit backend contract", "source_path": "workplans/AUDIT-WP-0002-pluggable-audit-backend.md", "uuid": "14725dbf-16ae-43e5-bf52-3f93238cf264", "parent_id": null, "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0002-T01", "status": "done", "title": "Author backend interface contract", "source_path": "workplans/AUDIT-WP-0002-pluggable-audit-backend.md", "uuid": "588ac6fa-eb41-49ce-8a1c-850d5791de0b", "parent_id": "AUDIT-WP-0002", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0003", "status": "finished", "title": "Provide durable user-engine event ingestion", "source_path": "workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md", "uuid": "8c2cfd72-126d-517e-8032-1f5c5cdaa20f", "parent_id": null, "extra": { "depends_on": [ "NK-WP-0024" ] } }, { "kind": "task", "id": "AUDIT-WP-0003-T01", "status": "done", "title": "T01 - Finalize the ingestion contract", "source_path": "workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md", "uuid": "c9b402ae-3cc4-58c9-be37-c817db4d8145", "parent_id": "AUDIT-WP-0003", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0003-T02", "status": "done", "title": "T02 - Implement authenticated durable ingestion", "source_path": "workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md", "uuid": "85df35ce-f6dd-5688-b38e-6b6678ada6e0", "parent_id": "AUDIT-WP-0003", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0003-T03", "status": "cancel", "title": "T03 - Deploy the single-cluster receiver", "source_path": "workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md", "uuid": "2c5a0a9f-53e1-5040-a86d-7fb724c5f9ec", "parent_id": "AUDIT-WP-0003", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0003-T04", "status": "cancel", "title": "T04 - Prove delivery, retry, and replay", "source_path": "workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md", "uuid": "7b1634a6-8b85-5e77-8f87-27f33074afc2", "parent_id": "AUDIT-WP-0003", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0004", "status": "finished", "title": "Make the event receiver correct and operable under load", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "7fcc4bbc-af6e-599c-be5c-a3930aea7773", "parent_id": null, "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T01", "status": "done", "title": "T01 - Route ingestion through the audit backend contract", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "86474da6-6702-5ab7-97ac-8ff8b4683226", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T02", "status": "done", "title": "T02 - Fix error semantics and failure handling", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "1591c1ce-3c7b-528c-a9b5-5693ddd03a0d", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T03", "status": "done", "title": "T03 - Enforce the isolation properties already claimed", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "9193c3e9-6bf6-50b0-a28b-38cbbe0c12a9", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T04", "status": "done", "title": "T04 - Settle redaction policy", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "092b9a9d-d801-5170-bb01-4288424cb757", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T05", "status": "done", "title": "T05 - Provide the operator read surface", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "9a1953d1-4528-5572-959d-57901218a9c1", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T06", "status": "done", "title": "T06 - Serving layer and observability", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "28271d49-3aaa-5134-a1a0-e30ddad35e9d", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0004-T07", "status": "done", "title": "T07 - Close the test gaps", "source_path": "workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md", "uuid": "2fd0e7d2-ac5b-5d47-be70-743211039163", "parent_id": "AUDIT-WP-0004", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0005", "status": "finished", "title": "Deploy audit-core on Railiance with durable Postgres custody", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "a5983026-b50a-5545-9e64-b96baa568693", "parent_id": null, "extra": { "depends_on": [ "AUDIT-WP-0004", "RAPP-POSTGRES-WP-0002", "NK-WP-0024" ] } }, { "kind": "task", "id": "AUDIT-WP-0005-T01", "status": "done", "title": "T01 - Implement the Postgres audit backend", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "b7aa7e46-5874-5a8f-9dc7-203b15d28504", "parent_id": "AUDIT-WP-0005", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0005-T02", "status": "done", "title": "T02 - Provision storage through the platform lane", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "428be448-dba5-5bda-b216-5944c7d17a75", "parent_id": "AUDIT-WP-0005", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0005-T03", "status": "done", "title": "T03 - Deploy the receiver", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "170e4fb7-0683-5fc1-b8af-df639c5309ae", "parent_id": "AUDIT-WP-0005", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0005-T04", "status": "done", "title": "T04 - Migrate existing SQLite records", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "378ec001-25ea-5aec-a6e8-f70d19ee4e7d", "parent_id": "AUDIT-WP-0005", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0005-T05", "status": "done", "title": "T05 - Run the live failure matrix", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "ad6dece3-7ae9-5656-baae-feb6b8d54c72", "parent_id": "AUDIT-WP-0005", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0005-T06", "status": "done", "title": "T06 - Operational handover", "source_path": "workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md", "uuid": "a4c09b77-a7b0-5a8c-91f2-283ce65002e4", "parent_id": "AUDIT-WP-0005", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0006", "status": "finished", "title": "Honest operational custody against ITC-CAP and the live platform backup", "source_path": "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "uuid": "21e7ccf8-703c-5631-95a2-b5a5743529b2", "parent_id": null, "extra": { "depends_on": [ "AUDIT-WP-0005", "RESOURCE-WP-0002", "ITC-WP-0014", "ITC-WP-0015" ] } }, { "kind": "task", "id": "AUDIT-WP-0006-T01", "status": "done", "title": "T01 \u2014 Restate custody vocabulary in the running service", "source_path": "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "uuid": "27aa1df9-0758-5c2f-831b-29c41c2805a7", "parent_id": "AUDIT-WP-0006", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0006-T02", "status": "done", "title": "T02 \u2014 Bind the recovery promise to the live platform backup", "source_path": "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "uuid": "6d01629f-5d3f-5a83-9026-3b208f06dd89", "parent_id": "AUDIT-WP-0006", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0006-T03", "status": "done", "title": "T03 \u2014 Publish an ITC-CAP case for the live provision", "source_path": "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "uuid": "dce899eb-7763-593b-a7d3-953d25f9e9c7", "parent_id": "AUDIT-WP-0006", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0006-T04", "status": "done", "title": "T04 \u2014 Publish a Canon Interface Card", "source_path": "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "uuid": "a3d75c33-df62-5017-b54c-ebdc1165e469", "parent_id": "AUDIT-WP-0006", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0006-T05", "status": "done", "title": "T05 \u2014 Persist sender tenant scope and refresh SCOPE", "source_path": "workplans/AUDIT-WP-0006-honest-custody-and-canon-join.md", "uuid": "f40162fd-37fc-52c1-b5f1-a8b565ffda7d", "parent_id": "AUDIT-WP-0006", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0007", "status": "finished", "title": "Integrity verification for operational custody", "source_path": "workplans/AUDIT-WP-0007-integrity-verification.md", "uuid": "5398f698-4f86-5dd8-962a-e5dbaf93c9f4", "parent_id": null, "extra": { "depends_on": [ "AUDIT-WP-0006" ] } }, { "kind": "task", "id": "AUDIT-WP-0007-T01", "status": "done", "title": "T01 \u2014 Specify the chain and the proof bound", "source_path": "workplans/AUDIT-WP-0007-integrity-verification.md", "uuid": "ea526d34-57e7-5273-b80b-6cd7bfe3bc1f", "parent_id": "AUDIT-WP-0007", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0007-T02", "status": "done", "title": "T02 \u2014 Persist the chain on accept", "source_path": "workplans/AUDIT-WP-0007-integrity-verification.md", "uuid": "649a60b1-e8a7-59f5-9164-24c57290e163", "parent_id": "AUDIT-WP-0007", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0007-T03", "status": "done", "title": "T03 \u2014 Verify surface", "source_path": "workplans/AUDIT-WP-0007-integrity-verification.md", "uuid": "71b7faeb-1f70-5162-8ce1-3c3bbe849db1", "parent_id": "AUDIT-WP-0007", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0007-T04", "status": "done", "title": "T04 \u2014 Attest the chain head outside platform-pg", "source_path": "workplans/AUDIT-WP-0007-integrity-verification.md", "uuid": "3b4d6b4e-1f72-5bc7-bf24-ca344caceaf6", "parent_id": "AUDIT-WP-0007", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0007-T05", "status": "done", "title": "T05 \u2014 Declare tamper_evidence only as far as the proof", "source_path": "workplans/AUDIT-WP-0007-integrity-verification.md", "uuid": "f98fe8c8-637e-5e7d-bc3a-b2bedfc7525b", "parent_id": "AUDIT-WP-0007", "extra": {} }, { "kind": "workplan", "id": "AUDIT-WP-0008", "status": "active", "title": "Tenancy posture declaration and read-path enforcement", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "a9a248b2-d26c-503e-a8fc-4f3675e6ed51", "parent_id": null, "extra": { "depends_on": [ "AUDIT-WP-0007" ] } }, { "kind": "task", "id": "AUDIT-WP-0008-T01", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "3b7be6c5-1861-57d2-a9ab-5770c3ea544d", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T02", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "3cf1d80f-4f35-5711-aa0a-aeb27912e2f6", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T03", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "3c495a5c-6b0d-5fae-b237-626d298e7b2c", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T04", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "ab07af53-0ca8-5d8e-b699-128d462e30a2", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T05", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "76d3b34e-df74-5af0-8025-e77e8644d199", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T06", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "c0b6e317-bfde-5ba7-b92a-6545257e0dff", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T07", "status": "progress", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "4e3ab790-daa6-5fbb-837e-9a9a26848201", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "task", "id": "AUDIT-WP-0008-T08", "status": "done", "title": "Tasks", "source_path": "workplans/AUDIT-WP-0008-tenancy-posture-alignment.md", "uuid": "f9d4ec51-6092-5c05-82fb-30e5dd201229", "parent_id": "AUDIT-WP-0008", "extra": {} }, { "kind": "intake", "id": "AUDIT-IN-0001", "status": "open", "title": "Proposed: audit-core takes the approval evidence half (security layer model v0.3 \u00a79.4)", "source_path": "intakes/intakes.md", "uuid": null, "parent_id": null, "extra": { "record": { "id": "AUDIT-IN-0001", "kind": "intake", "title": "Proposed: audit-core takes the approval evidence half (security layer model v0.3 \u00a79.4)", "status": "open", "origin": "cross-repo", "origin_ref": "net-kingdom security-layer-model_v0.3 \u00a79.4", "priority": "medium", "owner": "audit-core", "requested_by": "gate-house", "description": "gate-house proposes that audit-core own the tamper-evident record of approvals: issuance, use, supersession, and revocation emitted as audit events. Rationale: principle 6 (signed or hash-chained manifests to prove a record set was not changed, omitted, or truncated) is exactly what authenticated approval entries need forensically, and audit-core independence is the property Canon core rule 13 wants \u2014 audit evidence protected from the actor being audited. What is NOT proposed: the operative approval state. approval-engine owns the durable object, atomic supersession, single consumption, and revocation, because those need mutable in-path current-state semantics and audit-core operational custody is append-only Postgres by design; coupling decision-time approval reads to the audit fabric would also make an audit outage an authorization outage. Note audit-core INTENT lists policy decision making as out of scope \u2014 this proposal respects that: approval evidence is a record of what happened, never the authoritative answer to whether an approval is still valid. Requested: assent, revision, or rejection. If audit-core would rather not carry approval events as a distinct source, say so and gate-house will record the evidence half as unowned rather than assume it.", "created": "2026-08-28T20:35:09.148892Z", "updated": "2026-08-28T20:35:09.148892Z" } } } ], "events": [ { "type": "repo.command.applied", "command": "repo.work.create_intake", "operation": "create", "correlation_id": "4b03b802-e66f-4e69-9593-ed9abfc1d7c8", "kind": "intake", "id": "AUDIT-IN-0001", "git_sha": "d623f239d35ba04221686fc8631af83a41e01975", "files_touched": [ "intakes/intakes.md" ], "source": "repo-manager", "emitted_at": "2026-08-28T20:35:09.488798Z" } ] }