Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
88 lines
2.7 KiB
Markdown
88 lines
2.7 KiB
Markdown
---
|
|
id: FIN-WP-0003
|
|
type: workplan
|
|
title: "Fabric authority boundary for State Hub retirement"
|
|
domain: financials
|
|
repo: fin-hub
|
|
status: finished
|
|
owner: codex
|
|
topic_slug: financials
|
|
created: "2026-08-09"
|
|
updated: "2026-08-31"
|
|
parent_project: prj-state-hub-retirement
|
|
parent_workplan: SHR-WP-0001
|
|
related:
|
|
- FIN-WP-0001
|
|
- SHR-INV-0001
|
|
- STATE-WP-0079
|
|
state_hub_workstream_id: "21623d7d-25f8-5d80-9baa-f4d20e1c7a6e"
|
|
---
|
|
|
|
# Fabric authority boundary for State Hub retirement
|
|
|
|
## Goal
|
|
|
|
Keep **fabric graph data authority** in fin-hub (or its specialized engine),
|
|
define any hub-core projection, and support State Hub fabric route disposition
|
|
(`move` → fin-hub).
|
|
|
|
## Confirm authority and APIs
|
|
|
|
```task
|
|
id: FIN-WP-0003-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "c6f6d2c5-4df2-5f8a-a838-76e4a0cb2974"
|
|
```
|
|
|
|
Document which fabric entities/APIs are authoritative here vs State Hub read
|
|
models; publish consumer contract for migration.
|
|
|
|
Completed 2026-08-31: `docs/fabric-authority-consumer-contract-v1.md` assigns
|
|
topology, containment, ownership, accepted snapshots, and exports to the
|
|
specialized `railiance-fabric` engine. Fin-hub retains financial-domain
|
|
accountability and identifier joins only; State Hub remains a temporary read
|
|
model and neither fin-hub nor hub-core receives copied authority tables.
|
|
|
|
## Migration path from State Hub fabric routes
|
|
|
|
```task
|
|
id: FIN-WP-0003-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "9743357c-d32d-5508-845e-d341fd611c49"
|
|
```
|
|
|
|
With STATE-WP-0079, plan cutover for fabric ingest/read routes and dashboard
|
|
consumers; row-count and provenance checks.
|
|
|
|
Completed 2026-08-31: implemented `finhub fabric-cutover-check`. It gates the
|
|
switch on export identity, canonical content hash, five row counts, and exact
|
|
source revision/path/time provenance. The route map replaces State Hub ingest
|
|
with Fabric registry snapshot acceptance, points reads at Fabric graph/export
|
|
surfaces, points UI use at the graph explorer, and retains State Hub only as a
|
|
dual-read rollback during the cutover window.
|
|
|
|
## Optional hub projection
|
|
|
|
```task
|
|
id: FIN-WP-0003-T03
|
|
status: done
|
|
priority: low
|
|
state_hub_task_id: "b57b5135-7e77-5cbe-9da8-fa226e43a0a5"
|
|
```
|
|
|
|
If orientation needs a hub-core projection, define port usage without copying
|
|
authority tables into hub-core.
|
|
|
|
Completed 2026-08-31: explicitly deferred. The caller scan found no external
|
|
consumer of State Hub's Fabric routes, while Railiance Fabric already serves a
|
|
graph API and explorer. A future need must use a versioned read-only port with
|
|
source revision/content hash and a rebuildable bounded cache; it may not create
|
|
hub-core authority tables.
|
|
|
|
## Acceptance
|
|
|
|
- [x] Authority boundary documented
|
|
- [x] Migration path agreed with State Hub strangler
|
|
- [x] Projection decision recorded (implement or explicitly defer)
|