From f94120105f47c521822a26a97f46a2dbfbc1dd3d Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 22 Jun 2026 19:52:22 +0200 Subject: [PATCH] docs(hub-core): record HUB-WP-0002 write router and MCP composition seams --- docs/hub-core-extraction-boundary.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/hub-core-extraction-boundary.md b/docs/hub-core-extraction-boundary.md index fa9ef13..5e24fa1 100644 --- a/docs/hub-core-extraction-boundary.md +++ b/docs/hub-core-extraction-boundary.md @@ -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** T05–T07: 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.