Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a1046e-465c-7d43-8c4c-d10f0a1feadd
3 KiB
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|
| AUDIT-WP-0012 | workplan | Repair historical SQLite import into PostgreSQL custody | infotech | audit-core | finished | codex | audit-evidence-dependencies | 2026-10-04 | 2026-10-04 | 0d3658fe-bbe0-560c-8814-c367a93bb844 |
AUDIT-WP-0012 — Repair historical SQLite import into PostgreSQL custody
Repair the open residual AUDIT-IN-0004. Source completion only: coordinating deployment of link-order append/verify workers is required before any historical production import; no deployment or native import is performed by this plan.
Preserve historical events in the existing destination chain
id: AUDIT-WP-0012-T01
status: done
priority: high
state_hub_task_id: "63d39a39-cae8-5773-a451-dfd78e78eac0"
AUDIT-IN-0004. Import takes a SQLite snapshot and the same PostgreSQL advisory lock as native append. PostgreSQL follows stored links instead of historical accepted_at order; existing links and exact timestamps remain untouched. No trigger is disabled. New migration 0007 adds indexes and side-table import receipts without editing released migrations. Conflicting historical evidence is reported, never overwritten. CLI exposes stable --source-id across source relocation.
Make dead-letter and finding replay idempotent
id: AUDIT-WP-0012-T02
status: done
priority: high
state_hub_task_id: "f310efd2-4b8c-5ee6-902f-4ad51a5ce5ec"
Transactional receipts identify source/row fingerprints. Replays skip dead letters, increment findings only by newly observed source counts, and report changed historic rows or decreasing counts as conflicts. Imported evidence and its receipt commit together.
Verify populated destinations, concurrency and complete PostgreSQL suite
id: AUDIT-WP-0012-T03
status: done
priority: high
state_hub_task_id: "2ef142c6-ba31-5cea-97c7-618af2f834cb"
Disposable local PostgreSQL at 127.0.0.1:55446, database audit_core; no production import. Final full suite: 322 passed, zero skips and no migration exclusions. New regression coverage: pre-existing attestation survives older imports, exact acceptance-time conflict, native append after import, concurrent native/import/replay, side-table replay and incremental counts, forks/orphans, and instance count boundaries. Rollback of events/side tables/receipts and stable source identity after file relocation also pass. Optional PyYAML/jsonschema checks were enabled in the repo venv; PYTHONPATH=/home/worsch/infospace-bench/src supplies the existing local canon dependency.
Review decision
State Hub decision 8a896602-b6c6-4ecf-af81-2504e3e123dc records the
historical-time versus stored-link ordering rule and the owner evidence bounds.
Validation command:
PYTHONPATH=/home/worsch/infospace-bench/src \
AUDIT_CORE_TEST_DATABASE_URL=postgresql://postgres:test@127.0.0.1:55446/audit_core \
.venv/bin/python -m pytest -q -rs
The database and password above are disposable local test fixtures.