From 2c8083e8e31a4b3bf36e4aaca24910e8a1a812f8 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 22 Jun 2026 20:34:02 +0200 Subject: [PATCH] Close CUST-WP-0048 hub-core import refactor (T05-T08) Mark capability write and MCP composition tasks done, record 426-test regression, finish child workplan, and complete CUST-WP-0025-T08. --- docs/hub-core-extraction-boundary.md | 13 +++++-- workplans/CUST-WP-0025-fos-hub-bootstrap.md | 14 ++++---- ...0048-hub-core-state-hub-import-refactor.md | 35 +++++++++++++++---- 3 files changed, 46 insertions(+), 16 deletions(-) diff --git a/docs/hub-core-extraction-boundary.md b/docs/hub-core-extraction-boundary.md index 5e24fa1..f206124 100644 --- a/docs/hub-core-extraction-boundary.md +++ b/docs/hub-core-extraction-boundary.md @@ -136,6 +136,10 @@ Current implementation status: hub-core messaging, capability read lifecycle, TPSC list/DoI, and FOS §10 tools while keeping enriched orientation, repo registration, capability request creation, TPSC ingest, and service registration tools local. +- 2026-06-22: **CUST-WP-0048 closed.** Full regression: hub-core 27/27, State + Hub 426/426. Health probe uses injected `get_session` (fixes asyncpg pool + flake). Remaining deferred seams: ProgressEvent FK → `subject_refs` mapping; + optional CapabilityRequest workplan columns → JSON context. ## Extract Now @@ -243,6 +247,9 @@ to import it: ## Next Step -Close **CUST-WP-0048** T05–T07: run full State Hub regression, mark the child -workplan finished, and return to **CUST-WP-0025** dev-hub rename (T09+). Do not -rename State Hub to dev-hub until CUST-WP-0048 closes. +**CUST-WP-0048** is finished; **CUST-WP-0025-T08** is done. Proceed to Phase 2 +dev-hub rename (**CUST-WP-0025-T09+**): MCP server name, config migration, and +integration-point renames. Optional follow-up extractions (not blocking rename): + +- map State Hub `ProgressEvent` foreign keys into `subject_refs` +- map CapabilityRequest workplan/task columns into JSON context fields diff --git a/workplans/CUST-WP-0025-fos-hub-bootstrap.md b/workplans/CUST-WP-0025-fos-hub-bootstrap.md index ecf54c4..797f257 100644 --- a/workplans/CUST-WP-0025-fos-hub-bootstrap.md +++ b/workplans/CUST-WP-0025-fos-hub-bootstrap.md @@ -8,7 +8,7 @@ status: active owner: custodian topic_slug: custodian created: "2026-03-20" -updated: "2026-06-07" +updated: "2026-06-22" state_hub_workstream_id: "293a74fe-a85a-4ad6-8933-23d52a72fe8b" --- @@ -246,7 +246,7 @@ tests cover the event contract, router views, and MCP tool registration. ```task id: CUST-WP-0025-T08 -status: in_progress +status: done priority: high state_hub_task_id: "daf1d8ac-b55a-4692-b359-2671ddf6fc8a" ``` @@ -257,11 +257,11 @@ Refactor the standalone `/home/worsch/state-hub` codebase: - Ensure all existing tests pass with the new import structure - Update pyproject.toml to depend on hub-core -Extracted child workplan (2026-06-07): T08 became complex enough to deserve its -own progress surface. Ongoing implementation and slice history now live in -`CUST-WP-0048 - Hub-Core State Hub Import Refactor`. This umbrella task remains -`in_progress` until the child workplan finishes and hands control back to the -Phase 2 dev-hub rename sequence. +Completed 2026-06-22: child workplan `CUST-WP-0048` finished. Generic schemas, +routers, capability write callbacks, and MCP composition now import from +hub-core. State Hub regression: 426 tests. Deferred couplings documented in +`docs/hub-core-extraction-boundary.md` (ProgressEvent FK mapping, optional +workplan column → JSON migration). Phase 2 proceeds to dev-hub rename (T09+). ### T09 — Rename MCP server state-hub to dev-hub diff --git a/workplans/CUST-WP-0048-hub-core-state-hub-import-refactor.md b/workplans/CUST-WP-0048-hub-core-state-hub-import-refactor.md index 5975ad6..f795e14 100644 --- a/workplans/CUST-WP-0048-hub-core-state-hub-import-refactor.md +++ b/workplans/CUST-WP-0048-hub-core-state-hub-import-refactor.md @@ -4,11 +4,11 @@ type: workplan title: "Hub-Core State Hub Import Refactor" domain: custodian repo: the-custodian -status: active +status: finished owner: custodian topic_slug: custodian created: "2026-06-07" -updated: "2026-06-07" +updated: "2026-06-22" state_hub_workstream_id: "dd53bd50-641d-4c67-a143-10e39321e1d6" --- @@ -95,6 +95,11 @@ The migration should proceed by narrow seams: passed with 16 tests, full hub-core pytest passed with 24 tests, State Hub compile checks passed, and State Hub repo/import/MCP focused tests passed with 81 tests. +- 2026-06-22: T05–T06 completed via HUB-WP-0002. State Hub mounts + `create_capability_request_write_router` with dev-hub callbacks; generic MCP + tools register through `HubCoreMCPServer.attach_to()`. +- 2026-06-22: T07 regression green — hub-core 27 tests, State Hub 426 tests + (health route fixed to use injected session). Child workplan closed. ## T01 - Establish Editable Dependency And Schema Re-Exports @@ -162,7 +167,7 @@ archive, and consistency sync. ```task id: CUST-WP-0048-T05 -status: todo +status: done priority: high state_hub_task_id: "669dea12-9ef1-4ab4-83ae-5ee4cf5fd159" ``` @@ -172,11 +177,17 @@ dispute, and reroute routes. Decide which write paths can move to hub-core via callbacks and which require a dev-hub extension table or context mapping for workstream/task references. +Completed 2026-06-22: all write routes mount from +`create_capability_request_write_router`. Dev-hub keeps `requesting_workplan_id`, +`blocking_task_id`, and `fulfilling_workplan_id` on the State Hub model; side +effects (flow transitions, notifications, task-unblock) live in host callbacks. +Deferred: mapping workplan/task columns into `request_context` JSON. + ## T06 - Split Generic MCP Tool Registration ```task id: CUST-WP-0048-T06 -status: todo +status: done priority: medium state_hub_task_id: "8a202c88-8ab6-4b90-a792-d3a25b64fd0e" ``` @@ -184,11 +195,16 @@ state_hub_task_id: "8a202c88-8ab6-4b90-a792-d3a25b64fd0e" Replace generic State Hub MCP tool registrations with `HubCoreMCPServer` composition or inheritance while keeping dev-hub-only tools local. +Completed 2026-06-22: State Hub calls `HubCoreMCPServer.attach_to(mcp, +exclude=_HUB_CORE_MCP_EXCLUDE)` for 18 generic tools. Local overrides remain +for dev-hub orientation, extended repo/capability/TPSC contracts, and all +workstream/task/decision tooling. + ## T07 - Run Regression And Coupling Report ```task id: CUST-WP-0048-T07 -status: todo +status: done priority: high state_hub_task_id: "b5a6b9e3-2a4b-443d-82fe-2f156775270d" ``` @@ -197,11 +213,15 @@ Run full hub-core and State Hub regression suites after the remaining seams are resolved. Update `docs/hub-core-extraction-boundary.md` with any remaining couplings, deferred adapter seams, and the next safe migration step. +Completed 2026-06-22: hub-core 27/27, State Hub 426/426. Boundary doc updated +with write-router and MCP composition seams. Health probe fixed to use injected +session (eliminated full-suite asyncpg teardown flake). + ## T08 - Close Child Workplan And Return To Umbrella ```task id: CUST-WP-0048-T08 -status: todo +status: done priority: medium state_hub_task_id: "c34d121c-29f2-4704-9173-1fa2535482b0" ``` @@ -209,3 +229,6 @@ state_hub_task_id: "c34d121c-29f2-4704-9173-1fa2535482b0" When T04-T07 are complete or explicitly deferred, mark this workplan finished and update `CUST-WP-0025-T08` so the umbrella can proceed to the dev-hub rename phase. + +Completed 2026-06-22: workplan marked `finished`; `CUST-WP-0025-T08` set to +`done`. Phase 2 rename sequence (T09+) is unblocked.