hub-core/workplans/HUB-WP-0011-statehub-inbox-freshness-and-cutover.md
repo-manager 780a1f9cc3
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 1s
repo.work.assign_missing_identifiers
source: repo-manager
reason: deterministic projection registration

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06ed7-828d-7ca0-a8d4-0c3e5a0c4102
2026-09-05 11:27:05 +02:00

66 lines
2.2 KiB
Markdown

---
id: HUB-WP-0011
type: workplan
title: "State Hub inbox freshness and reader cutover"
domain: infotech
repo: hub-core
status: proposed
owner: codex
topic_slug: infotech
created: "2026-09-05"
updated: "2026-09-05"
origin: residual
origin_ref: HUB-WP-0010
related:
- STATE-WP-0079
- RAPPCOREHUB-WP-0004
state_hub_workstream_id: "3c8034fc-fd90-58f5-99bc-99b4f93e5ee1"
---
## Establish ongoing inbox freshness
```task
id: HUB-WP-0011-T01
status: todo
priority: high
state_hub_task_id: "588e4b58-4694-513c-8e7a-1fab38fb6ce3"
```
The deployed inbox reader is an explicitly labeled one-time snapshot pilot.
Define and implement monotonic source revision/cursor semantics, atomic refresh,
read/archive updates, deletes/retention treatment and stale-source signaling.
The initial importer deliberately refuses different existing rows; do not turn
it into an unconditional overwrite loop. Prove recovery and idempotency without
creating a second message writer. Decide the source/destination ownership
boundary before live client traffic moves.
## Admit the actual reader identity and full scope semantics
```task
id: HUB-WP-0011-T02
status: wait
priority: high
state_hub_task_id: "35c5ae8b-f357-512f-af40-bc5915f3c02d"
```
Replace pilot operator authentication with the reviewed caller-specific access
contract and delivered workload credential. Preserve recipient authorization,
broadcast behavior, repository canonical/alias resolution, source timestamps
and thread/read/archive semantics for the selected reader. The existing pilot
supports only one literal agent and exact sender filters. Never distribute the
operator token as an application credential.
## Execute one reviewed client switch
```task
id: HUB-WP-0011-T03
status: wait
priority: high
state_hub_task_id: "61c727a5-f4b1-54c0-b634-7d71a5416496"
```
After T01/T02 pass, produce live freshness and parity receipts for one State Hub
inbox reader; verify rollback to the current State Hub endpoint. Then execute
that bounded reader switch with the concrete deployment authorization. Retire
its compatibility dependency only after metered acceptance. Message-writer
cutover and all other route families remain separate STATE-WP-0079 work.