Persist review evidence and deliver audit records transactionally

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
tegwick 2026-09-10 23:27:19 +02:00
parent 0e48355b9f
commit 2cc32168ac
14 changed files with 1474 additions and 22 deletions

View file

@ -0,0 +1,60 @@
{
"schema": "informed-decision.durable-review-evidence.v1",
"observed_at": "2026-09-10T21:10:46.040050+00:00",
"base_commit": "0e48355b9fcb28ccd0ba09398ee5ac4311e66011",
"contract_source_commits": {
"approval-engine": "a0a602976eef818f36dde35f76f7f2e589bd051b",
"audit-core": "5c0ad522fb36092aa7ec2e8d72f63a5a91853b5b",
"flex-auth": "88b354377c8e26b162f1234e673072f1c06dcd89",
"key-cape": "139994cfac28ff97163ce4bf263f2bb035bbe0a7"
},
"source_task": "INFD-WP-0001-T08",
"source_task_status": "progress",
"verification": {
"command": "INFD_APPROVAL_ENGINE_SOURCE=/home/worsch/approval-engine INFD_AUDIT_CORE_SOURCE=/home/worsch/audit-core python -m pytest -q",
"tests_passed": 258,
"tests_failed": 0,
"tests_skipped": 0,
"new_tests": 52,
"actual_api_component_tests_total": 7,
"actual_api_component_tests_new": 4,
"identity": "locally signed synthetic fixture",
"audit_custody": "actual Audit Core SQLite fixture, separate sender/auditor identities",
"native_policy_exercised": false
},
"implemented": [
"private persistent SQLite review/evidence store with immutable versions and packet custody",
"atomic presentation, explicit acknowledgment, disposition, submission result and outbox writes",
"actor-recipient, current-version and verified-human provenance checks",
"single-attempt entry reservation and original presentation correlation",
"explicit unresolved state after lost entry response or unknown duplicate; no automatic entry retry",
"Audit Core exact-byte idempotent delivery with bounded retries and retained blocked records",
"explicit backup/restore, heartbeat generation and bounded two-time-base reconciliation"
],
"limits": [
"internal store only; no new public approval routes",
"controller must obtain native PDP decision and validate session and live carried binding digest before render/dispatch",
"unknown entry causation remains unresolved; engine stores no caller presentation/operation id",
"heartbeats and outbox delivery require host scheduling and monitoring",
"source counts occurred_at while Audit Core counts accepted_at; equality does not prove completeness or reconstructability",
"no native sender custody or registration/login proof",
"no native PDP policy package found in checked Flex Auth examples, registry and docs; owner admission still required"
],
"source_sha256": {
"informed_decision/records.py": "82f696151895c51b168144a3078d05764da3499b96917c465629ce0836fa8e33",
"informed_decision/store.py": "a26fffe647b866b061d40aec8ec4f1754d9a8df167973ccdd30ae5dfdb4d7ed4",
"informed_decision/audit.py": "06da36a8f3451b4abc7a46da2df66d5939524c170658b879499b2a47a1b10cd3",
"informed_decision/disposition.py": "5ddd19c2444f8e6c9bb090d04045cf1227a34554e000f07b3f677325bf8089f8",
"informed_decision/evidence.py": "5f84997f66409c7b6cec6ab57e73ad5bba2c1b2d669604adcbf36e72a824a88d",
"tests/test_durable_store.py": "e69b8c6c7dfe30291ed1eab2397f3740aa128a38da7c644894e7d04f3f365a29",
"tests/test_audit_delivery.py": "c5f8a35335393d74739cd21c1a4d5b5306b30dfd16966d223119d087c18d4fe0",
"tests/test_durable_component.py": "7f9e7b5075f7e66104b2b634d5bb14556bf4ff23e7060aae166e3697dc138c29",
"tests/test_skeleton.py": "1b9ab97c166870dca24c34149d5f9214ec186de31787407014cbb2342acb1d92"
},
"browser_approval_routes_exposed": false,
"deployed": false,
"factory_attempts": 0,
"paid_model_calls": 0,
"remaining_live_task": "INFD-WP-0001-T08",
"factory_gate_task": "HFACT-WP-0001-T03"
}