fix: repair chained imports and track blocked evidence dependencies
Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a1046e-465c-7d43-8c4c-d10f0a1feadd
This commit is contained in:
parent
28b567e588
commit
146f4e1dd3
21 changed files with 869 additions and 95 deletions
|
|
@ -24,7 +24,8 @@ description: >
|
|||
deny/redact/not_applicable without a durable record when the outbox commit
|
||||
fails and counts them as released_uncommitted, and for the token lane.
|
||||
created: '2026-09-23'
|
||||
updated: '2026-09-24'
|
||||
updated: '2026-10-04'
|
||||
work: AUDIT-WP-0013-T02
|
||||
outcome: accepted-with-corrections-registration-deferred
|
||||
resolution: '(1) One sender per pin: accepted, since each pin can reconcile only
|
||||
what it committed. Correction: may_read false, not true. A writer counts its
|
||||
|
|
@ -54,6 +55,9 @@ resolution: '(1) One sender per pin: accepted, since each pin can reconcile only
|
|||
openbao-attended-exec.py, as for tenant-engine (AUDIT-WP-0010-T02).
|
||||
Registration entries are deferred until the flex-auth outbox exists
|
||||
(FLEX-WP-0031-T03), at flex-auth''s own request.'
|
||||
follow_up: 'AUDIT-WP-0013-T02/T03: FLEX-WP-0031-T03 outbox is already done.
|
||||
Await final per-pin payloads, catalog and attended custody; final GH-WP-0004-T12
|
||||
ruling remains separate from transport. Requirements: docs/cross-repo-evidence-admission.md.'
|
||||
recorded_in: intakes/intakes.md
|
||||
state_hub_intake_id: "01a0d1e0-e10c-714e-9485-9dd841dafbbb"
|
||||
```
|
||||
|
|
@ -208,7 +212,7 @@ state_hub_intake_id: "01a08b76-05b9-7a53-8359-9cda50755f28"
|
|||
id: AUDIT-IN-0002
|
||||
kind: intake
|
||||
title: 'Register tenant-engine as an attributive audit-core sender'
|
||||
status: open
|
||||
status: closed
|
||||
origin: cross-repo
|
||||
origin_ref: TEN-WP-0011-T04
|
||||
priority: high
|
||||
|
|
@ -232,26 +236,16 @@ description: >
|
|||
Requested: sender registration + token lane, or a correction if the
|
||||
envelope needs a field this engine is not sending.
|
||||
created: '2026-08-29'
|
||||
updated: '2026-09-10'
|
||||
outcome: registered-with-a-blocking-correction
|
||||
resolution: 'Registered attributive with the declared completeness_trade
|
||||
recorded receiver-side, tenants ["*"] justified per sender, source pinned
|
||||
exact, ingress added — all inert pending the token
|
||||
(docs/tenant-engine-source-registration.md, AUDIT-WP-0010 T01/T03/T04).
|
||||
Taking the correction the intake invited: the envelope does not match.
|
||||
envelope_for sends five required fields under other names (event_id, action,
|
||||
resource, observed_at, details) and omits correlation_id entirely, so
|
||||
normalize() raises invalid_event and every event would 400 and dead-letter.
|
||||
Because the drain treats 400 as terminal, the outbox row is marked handled
|
||||
while audit-core holds only a dead letter — lost on both sides, silently,
|
||||
presenting as a working integration. normalize() is not being relaxed to
|
||||
accept the alternate spellings: guessing which sender key means which stored
|
||||
field would make the mapping audit-core''s rather than the sender''s, and
|
||||
correlation_id cannot be synthesized at all. Root cause is audit-core''s —
|
||||
the wire envelope was documented nowhere a sender could read it, and
|
||||
schema_version audit-core.event.v1alpha1 selects nothing here. Contract now
|
||||
published at docs/event-envelope.md. Stays OPEN until tenant-engine corrects
|
||||
the emitter and T05 records live evidence.'
|
||||
updated: '2026-10-04'
|
||||
closed: '2026-09-15'
|
||||
work: AUDIT-WP-0010-T05
|
||||
outcome: promoted
|
||||
resolution: 'Reconciled 2026-10-04 against AUDIT-WP-0010-T05: completed
|
||||
2026-09-15, native tenant-engine Job accepted 202 then duplicate 200 with
|
||||
intact 60-event chain. Receipt docs/evidence/2026-09-15-tenant-engine-accept.json.
|
||||
This supersedes the historical envelope/input wait. Ongoing producer Deployment
|
||||
drain wiring remains tenant-engine-owned and is not re-opened as audit-core
|
||||
sender admission.'
|
||||
state_hub_intake_id: "01a04d8f-b1c1-746a-8007-15221ebf0a48"
|
||||
```
|
||||
|
||||
|
|
@ -316,14 +310,21 @@ state_hub_intake_id: "01a04d8f-be67-75ed-a221-d50f99dbb78e"
|
|||
id: AUDIT-IN-0004
|
||||
kind: intake
|
||||
title: Repair SQLite import into chained PostgreSQL custody
|
||||
status: open
|
||||
status: closed
|
||||
origin: residual
|
||||
origin_ref: AUDIT-WP-0005
|
||||
priority: medium
|
||||
owner: audit-core
|
||||
requested_by: codex
|
||||
created: '2026-09-11'
|
||||
updated: '2026-09-11'
|
||||
updated: '2026-10-04'
|
||||
closed: '2026-10-04'
|
||||
work: AUDIT-WP-0012
|
||||
outcome: repaired-and-postgres-verified
|
||||
resolution: 'Snapshot import shares native chain lock, follows stored links without
|
||||
rewriting historical times/links, and uses transactional replay receipts for
|
||||
dead letters and incremental findings. Full PostgreSQL suite passes without
|
||||
migration exclusions. Source completion only; no native import performed.'
|
||||
description: >
|
||||
The 2026-09-11 receiver release rehearsal enables real PostgreSQL tests.
|
||||
Five tests in tests/test_migrate_store.py fail because _import_event omits
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue