docs(hub-core): record HUB-WP-0002 write router and MCP composition seams

This commit is contained in:
2026-06-22 19:52:22 +02:00
parent 24494f3eee
commit f94120105f

View File

@@ -125,6 +125,17 @@ Current implementation status:
update, and host-path routes with State Hub's own models and schemas injected,
while keeping onboarding, DoI, scope-health, dispatch, archive, and
consistency-sync routes local.
- 2026-06-22: HUB-WP-0002 completed. Added
`create_capability_request_write_router` with host callbacks for routing,
model construction, flow transitions, notifications, task-unblock, patch,
dispute, and reroute side effects. State Hub mounts write routes from the
factory while keeping dev-hub columns (`requesting_workplan_id`,
`blocking_task_id`, `fulfilling_workplan_id`) on its extended model.
- 2026-06-22: `HubCoreMCPServer.attach_to()` registers generic MCP tools on a
host server with `exclude` for dev-hub overrides. State Hub now composes
hub-core messaging, capability read lifecycle, TPSC list/DoI, and FOS §10
tools while keeping enriched orientation, repo registration, capability
request creation, TPSC ingest, and service registration tools local.
## Extract Now
@@ -195,9 +206,9 @@ implementation is coupled to dev-hub concepts:
| --- | --- |
| `Domain` and `domains.py` detail views | Detail counts now use a dev-hub callback behind the hub-core router factory. Domain relationships still need a later model split if State Hub stops carrying topics/goals on the core table. |
| `ManagedRepo` | State Hub create/read schemas now extend hub-core contracts, with `topic_id`, SBOM fields, and state-sync timestamps kept as dev-hub extensions. Generic repo registry collection, lookup, detail, update, and host-path routes now mount from the hub-core factory; State Hub keeps onboarding, DoI, scope-health, dispatch, archive, and consistency-sync behavior locally. |
| `CapabilityRequest` | Catalog schemas, catalog CRUD routes, and read-only request list/detail routes now import from hub-core. Adapter seam is implemented with generic `request_context` and `fulfillment_context`; State Hub still needs a later refactor to map workstream/task references into those fields or a dev-hub extension table before request workflow routes can move. |
| `CapabilityRequest` | Write routes now mount from `create_capability_request_write_router` with host callbacks. State Hub keeps workplan/task columns on its model; generic hubs use `request_context` / `fulfillment_context` JSON. Optional future step: map State Hub columns into JSON and drop duplicate fields. |
| `ProgressEvent` | Adapter seam implemented with generic `subject_refs`; State Hub still needs a later refactor to map topic/workstream/task/decision foreign keys into that field or a dev-hub extension table. |
| MCP tools in `mcp_server/server.py` | Generic tools are still mixed into the State Hub server module. T08 should begin replacing those registrations with `HubCoreMCPServer` inheritance or composition while dev-hub keeps its own tools. |
| MCP tools in `mcp_server/server.py` | Generic tools register via `HubCoreMCPServer.attach_to(mcp, exclude=...)`. Remaining local tools: dev-hub orientation (`get_state_summary`, `get_domain_summary`), extended repo/capability/TPSC contracts, and all workstream/task/decision tooling. |
The first two adapter seams are now implemented in hub-core:
@@ -232,6 +243,6 @@ to import it:
## Next Step
Continue CUST-WP-0048 by resolving the capability request write workflow and
then the generic MCP registration split. Do not rename State Hub to dev-hub
until T05-T08 prove the shared package boundary.
Close **CUST-WP-0048** T05T07: run full State Hub regression, mark the child
workplan finished, and return to **CUST-WP-0025** dev-hub rename (T09+). Do not
rename State Hub to dev-hub until CUST-WP-0048 closes.