diff --git a/docs/hub-core-extraction-boundary.md b/docs/hub-core-extraction-boundary.md index c5e1664..1e9fa74 100644 --- a/docs/hub-core-extraction-boundary.md +++ b/docs/hub-core-extraction-boundary.md @@ -112,6 +112,10 @@ Current implementation status: generic capability catalog/status/dispute schemas and the repo path-register schema from hub-core, and State Hub repo create/read schemas extend the hub-core contracts while adding dev-hub fields. +- 2026-06-07: T08 capability catalog router import completed. State Hub now + mounts the hub-core capability catalog router factory with State Hub's own + domain, repo, and catalog models injected, while keeping capability request + workflow routes local. ## Extract Now @@ -182,7 +186,7 @@ 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. The repos router still carries onboarding, DoI, dispatch, and sync behavior locally. | -| `CapabilityRequest` | Catalog/status/dispute schemas 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. | +| `CapabilityRequest` | Catalog schemas and catalog CRUD 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. | | `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. | @@ -220,6 +224,6 @@ to import it: ## Next Step Continue T08 by applying host-model injection or callback seams to the next -lowest-risk generic routers. Repos and capability requests each need a small -dependency-injection review before replacement. Do not rename State Hub to -dev-hub until T05-T08 prove the shared package boundary. +lowest-risk generic routers. Repos and the capability request workflow each +need a small dependency-injection review before replacement. Do not rename +State Hub to dev-hub until T05-T08 prove the shared package boundary. diff --git a/workplans/CUST-WP-0025-fos-hub-bootstrap.md b/workplans/CUST-WP-0025-fos-hub-bootstrap.md index e4c0536..866cfe0 100644 --- a/workplans/CUST-WP-0025-fos-hub-bootstrap.md +++ b/workplans/CUST-WP-0025-fos-hub-bootstrap.md @@ -327,6 +327,15 @@ create contract. State Hub keeps dev-hub-specific capability request, reroute, repo dispatch, onboarding, and scope-health schemas local. Verification: State Hub import/capability/core/DoI scope/MCP focused tests passed with 100 tests. +Implementation slice 10 (2026-06-07): added +`hub_core.routers.capabilities.create_capability_catalog_router` with host +domain/repo/catalog model injection, then replaced State Hub's local capability +catalog CRUD implementation with that hub-core factory. State Hub keeps the +capability request workflow routes local because they still enforce State Hub +flow transitions, notifications, rerouting, and task-unblock side effects. +Verification: hub-core pytest passed with 21 tests; State Hub +capability/import/MCP/core focused tests passed with 95 tests. + ### T09 — Rename MCP server state-hub to dev-hub ```task