docs: record capability request read seam

This commit is contained in:
2026-06-07 21:23:19 +02:00
parent b413c8bcf9
commit 66322722c4
2 changed files with 19 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
# Hub-Core Extraction Boundary
Last reviewed: 2026-06-06
Last reviewed: 2026-06-07
## Purpose
@@ -116,6 +116,10 @@ Current implementation status:
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.
- 2026-06-07: T08 capability request read router import completed. State Hub now
mounts the hub-core request list/detail router factory with State Hub's own
domain and request models injected, while keeping request creation, status
transitions, acceptance, patching, dispute, and reroute workflow routes local.
## Extract Now
@@ -186,7 +190,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 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. |
| `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. |
| `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. |
@@ -224,6 +228,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 the capability request workflow each
need a small dependency-injection review before replacement. Do not rename
lowest-risk generic routers. Repos and the capability request write 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

@@ -336,6 +336,17 @@ 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.
Implementation slice 11 (2026-06-07): added
`hub_core.routers.capabilities.create_capability_request_read_router` with host
domain/request model and response-schema injection, then replaced State Hub's
local capability request list/detail routes with that hub-core factory. State
Hub keeps request creation, acceptance, status transitions, metadata patching,
dispute, and reroute routes local because they still enforce State Hub flow
transitions, notifications, and task-unblock side effects. Verification:
hub-core compile checks passed, hub-core pytest passed with 22 tests, the
post-format import slice passed with 14 tests, State Hub compile checks passed,
and State Hub capability/import/MCP/core focused tests passed with 95 tests.
### T09 — Rename MCP server state-hub to dev-hub
```task