docs: complete retirement inbox parity gate and track reader cutover

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06ed7-828d-7ca0-a8d4-0c3e5a0c4102
This commit is contained in:
tegwick 2026-09-05 11:27:21 +02:00
parent 2c60e5bcf7
commit ccf691042d
4 changed files with 194 additions and 19 deletions

View file

@ -604,18 +604,16 @@ an `unknown` bucket alone is sufficient to assign an owner.
```task
id: STATE-WP-0079-T08
status: todo
status: done
priority: high
state_hub_task_id: "9d508739-6123-5204-b829-750b3ebf0e63"
```
Receiving owner: hub-core; State Hub owns source/caller evidence under T04.
The live receiver's 31-path OpenAPI has no message/progress/token/interface-log
families. Identify or assemble the owner message-read contract, auth/transport,
and historical projection in the receiving runtime. State Hub-to-owner service
probes were connection-refused in this review; diagnose the actual transport
before assuming a usable proxy path. Do not substitute `/api/v2/interaction-events`
without an explicit semantic mapping.
The initial prefix-only probe overlooked the existing native
`/ports/messaging/messages` and `/ports/events/progress` contracts. Their
semantics differ from State Hub message history. The owner supplies the bounded
inbox projection; scoped NetworkPolicy admission resolves source-pod transport.
Then run a bounded read-only inbox parity pilot over one consistent snapshot,
checking message IDs, ordering, read/archive flags and scope filters; record
@ -624,6 +622,31 @@ readiness and parity/rollback receipts make one concrete reader switch reviewabl
Production message writers stay unchanged during this proof. Related owners:
HUB-WP-0004/0005; the full B2/B3 route migration is not implied by this task.
**Result (2026-09-05):** HUB-WP-0010 and RAPPCOREHUB-WP-0004 delivered
and deployed the private snapshot reader. Twenty imported rows retain the source
hash; six filter/order/content parity cases passed, with 19 visible inbox rows.
Authentication and method rejection passed. Disable/re-enable was rehearsed
(Helm revisions 27/28); the restored reader passed parity and live verification.
Evidence: `docs/evidence/statehub-inbox-pilot-20260905.md` and JSON receipt.
Ongoing freshness, caller credentials and alias handling remain explicit owner
residual HUB-WP-0011 and T09; no production client or writer switched.
## Gate the production inbox reader switch
```task
id: STATE-WP-0079-T09
status: wait
priority: high
```
Owner handoff: HUB-WP-0011 (`origin: residual`, `origin_ref: HUB-WP-0010`).
T08 proves a frozen snapshot, not ongoing freshness or a production client
switch. Wait for the owner's monotonic refresh/staleness contract, caller-specific
credential delivery and canonical/alias scope semantics. Then review one client
switch and rollback using current source parity. State Hub remains the message
writer throughout this read cutover. The private snapshot reader must not be
advertised as a fresh production inbox.
## Acceptance
- [x] Freeze policy documented