86 lines
2.5 KiB
Markdown
86 lines
2.5 KiB
Markdown
|
|
---
|
|||
|
|
id: HUB-WP-0002
|
|||
|
|
type: workplan
|
|||
|
|
title: "Import-refactor adapter seams for State Hub closeout"
|
|||
|
|
domain: inter_hub
|
|||
|
|
repo: hub-core
|
|||
|
|
status: ready
|
|||
|
|
owner: codex
|
|||
|
|
topic_slug: inter_hub
|
|||
|
|
created: "2026-06-22"
|
|||
|
|
updated: "2026-06-22"
|
|||
|
|
state_hub_workstream_id: "439b559b-fcb7-4d21-b831-cfc9c6bbc1a0"
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Import-refactor adapter seams for State Hub closeout
|
|||
|
|
|
|||
|
|
## Goal
|
|||
|
|
|
|||
|
|
Finish the hub-core side of **CUST-WP-0048** so State Hub can close the
|
|||
|
|
capability-request write workflow and generic MCP split without forking shared
|
|||
|
|
primitives.
|
|||
|
|
|
|||
|
|
Child workplan: `~/the-custodian/workplans/CUST-WP-0048-hub-core-state-hub-import-refactor.md`
|
|||
|
|
Boundary reference: `~/the-custodian/docs/hub-core-extraction-boundary.md`
|
|||
|
|
|
|||
|
|
`hub-core` already owns read paths, generic JSON adapter fields
|
|||
|
|
(`subject_refs`, `request_context`, `fulfillment_context`), and
|
|||
|
|
`HubCoreMCPServer`. Remaining seams are write workflows and host MCP
|
|||
|
|
composition.
|
|||
|
|
|
|||
|
|
## Capability Request Write Router Factory
|
|||
|
|
|
|||
|
|
```task
|
|||
|
|
id: HUB-WP-0002-T01
|
|||
|
|
status: todo
|
|||
|
|
priority: high
|
|||
|
|
state_hub_task_id: "f2e0a8a1-1943-4d40-963b-3d736d2340bf"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Add a `create_capability_request_write_router` factory with host-injected models,
|
|||
|
|
schemas, and workflow callbacks for:
|
|||
|
|
|
|||
|
|
- request creation
|
|||
|
|
- acceptance
|
|||
|
|
- status transitions
|
|||
|
|
- patch / dispute / reroute paths that today live in State Hub
|
|||
|
|
|
|||
|
|
Callbacks must cover dev-hub side effects (flow transitions, notifications,
|
|||
|
|
task-unblock) without pulling workstream/task foreign keys into hub-core models.
|
|||
|
|
|
|||
|
|
**Done when:** State Hub can mount write routes from the factory; hub-core tests
|
|||
|
|
cover callback invocation and route registration.
|
|||
|
|
|
|||
|
|
## MCP Server Composition Hooks
|
|||
|
|
|
|||
|
|
```task
|
|||
|
|
id: HUB-WP-0002-T02
|
|||
|
|
status: todo
|
|||
|
|
priority: medium
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Extend `HubCoreMCPServer` so State Hub can compose or subclass it while keeping
|
|||
|
|
dev-hub-only tools local. Provide a clear registration seam for host tools and
|
|||
|
|
document which ~17 generic tools stay in hub-core.
|
|||
|
|
|
|||
|
|
**Done when:** State Hub MCP module imports `HubCoreMCPServer` for generic tools
|
|||
|
|
without duplicating orientation, messaging, capability, repo, TPSC, DoI, or
|
|||
|
|
risk/alert registrations.
|
|||
|
|
|
|||
|
|
## Regression And Boundary Update
|
|||
|
|
|
|||
|
|
```task
|
|||
|
|
id: HUB-WP-0002-T03
|
|||
|
|
status: todo
|
|||
|
|
priority: high
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
After T01–T02 land (or are explicitly deferred with documented seams):
|
|||
|
|
|
|||
|
|
- run full `hub-core` pytest and `~/state-hub` regression
|
|||
|
|
- update `hub-core-extraction-boundary.md` with resolved couplings and any
|
|||
|
|
deferred adapter points
|
|||
|
|
- hand results back so **CUST-WP-0048** T05–T07 can close
|
|||
|
|
|
|||
|
|
**Done when:** both test suites pass and the extraction boundary reflects the
|
|||
|
|
new write/MCP seams.
|