hub-core/workplans/HUB-WP-0002-import-refactor-adapter-seams.md

86 lines
2.5 KiB
Markdown
Raw Normal View History

---
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 T01T02 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** T05T07 can close
**Done when:** both test suites pass and the extraction boundary reflects the
new write/MCP seams.