Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a06ed7-828d-7ca0-a8d4-0c3e5a0c4102
49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
---
|
|
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.
|