feat: add guarded State Hub inbox read projection pilot
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 2s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06ed7-828d-7ca0-a8d4-0c3e5a0c4102
This commit is contained in:
tegwick 2026-09-05 10:37:09 +02:00
parent 9724b273a1
commit 6fb5ce285c
6 changed files with 343 additions and 0 deletions

View file

@ -0,0 +1,49 @@
---
id: HUB-WP-0010
type: workplan
title: "State Hub inbox read projection pilot"
domain: infotech
repo: hub-core
status: active
owner: codex
topic_slug: infotech
created: "2026-09-05"
updated: "2026-09-05"
related:
- STATE-WP-0079
quality_dor: DoR-Ok
quality_dor_at: "2026-09-05"
quality_dor_by: codex
quality_dor_note: >-
STATE-WP-0079-T08 requests one read-only inbox parity proof. The runtime has
an empty agent_messages table and an operator token; named-port messages
are a distinct envelope contract. Scope excludes production message writers.
---
## Deliver the opt-in receiver contract
```task
id: HUB-WP-0010-T01
status: progress
priority: high
```
Add an authenticated, GET-only `/ports/projections/statehub-inbox` pilot for one
configured agent, preserving message payloads, broadcast inclusion, sender and
unread filters, archive exclusion, ordering and limits. Default disabled.
State Hub remains the writer. Existing `/ports/messaging/messages` is unchanged.
## Import and verify one consistent historical snapshot
```task
id: HUB-WP-0010-T02
status: todo
priority: high
```
Validate source/count/hash/thread closure before importing to an empty receiver.
Preserve all IDs/timestamps/flags. Exact retries are no-ops; different existing
rows refuse overwrite. Verify parity over a fixed source snapshot with read-only
queries, auth failures and rollback by disabling the pilot. Packaging/deployment
belongs to rapp-core-hub. Do not claim continuous freshness or switch clients
from the sole production message writer based on a one-time snapshot.