docs: record capability catalog router seam

This commit is contained in:
2026-06-07 17:20:33 +02:00
parent 50fbdef307
commit b413c8bcf9
2 changed files with 17 additions and 4 deletions

View File

@@ -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.

View File

@@ -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