From b61c15ba600523f93e57974146e0c4a1de8dadd0 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 22 Jun 2026 19:32:56 +0200 Subject: [PATCH] Complete State Hub bootstrap workplan (HUB-WP-0001) Set AGENTS.md purpose and developer commands, mark bootstrap tasks done, and seed HUB-WP-0002 for remaining CUST-WP-0048 adapter seams. --- AGENTS.md | 39 ++++++++- workplans/HUB-WP-0001-statehub-bootstrap.md | 29 +++++-- ...B-WP-0002-import-refactor-adapter-seams.md | 86 +++++++++++++++++++ 3 files changed, 147 insertions(+), 7 deletions(-) create mode 100644 workplans/HUB-WP-0002-import-refactor-adapter-seams.md diff --git a/AGENTS.md b/AGENTS.md index db7c0ec..c1cee6c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,9 @@ ## Repo Identity -**Purpose:** **Updated:** 2026-06-16. +**Purpose:** Reusable Python package of FastAPI router factories, SQLAlchemy +models, Pydantic schemas, MCP tooling, and migration scaffolds for FOS hub +services. **Domain:** inter_hub **Repo slug:** hub-core @@ -101,8 +103,43 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/" \ --- +## Commands + +`hub-core` is a library — there is no `serve` entrypoint. Host repos mount +routers and run their own `uvicorn` process. + +```bash +cd ~/hub-core + +# Install (editable) +python3 -m venv .venv && .venv/bin/pip install -e . + +# Test +.venv/bin/pytest -q + +# Compile check (fast sanity) +python3 -m compileall hub_core + +# Build wheel +.venv/bin/pip install build && python3 -m build + +# Consumer regression (after router/schema changes) +cd ~/state-hub && make test +``` + +No repo-native lint or format targets yet. Add `ruff` / `mypy` when the +package surface stabilizes. + +Primary references: `INTENT.md`, `SCOPE.md`, `README.md`, +`~/the-custodian/docs/hub-core-extraction-boundary.md`. + +--- + ## Credential and access routing +> Fleet template mirrored in `.claude/rules/credential-routing.md` for Claude Code. +> Re-sync both from `~/ops-warden/wiki/CredentialRouting.md` when the catalog changes. + **Audience:** Codex, Claude Code, Grok, and custodian agents that call **llm-connect** for inference. Run this check **before** requesting secrets, API keys, SSH access, login tokens, or database passwords — in any repo, not only `ops-warden`. diff --git a/workplans/HUB-WP-0001-statehub-bootstrap.md b/workplans/HUB-WP-0001-statehub-bootstrap.md index 007253d..a58e263 100644 --- a/workplans/HUB-WP-0001-statehub-bootstrap.md +++ b/workplans/HUB-WP-0001-statehub-bootstrap.md @@ -4,46 +4,58 @@ type: workplan title: "Bootstrap State Hub integration" domain: inter_hub repo: hub-core -status: ready +status: finished owner: codex topic_slug: inter_hub created: "2026-06-16" -updated: "2026-06-16" +updated: "2026-06-22" +state_hub_workstream_id: "4a31e8cd-1a06-40bf-abc9-76ca9ac173f2" --- # Bootstrap State Hub integration -**Updated:** 2026-06-16. +**Updated:** 2026-06-22. ## Review Generated Integration Files ```task id: HUB-WP-0001-T01 -status: todo +status: done priority: high +state_hub_task_id: "2c459592-c971-42b3-8835-75f89a988dc8" ``` Review `INTENT.md`, `SCOPE.md`, `AGENTS.md`, and `.custodian-brief.md`. Replace generated placeholders with repo-specific facts where needed. +Completed 2026-06-22: `INTENT.md` and `SCOPE.md` already describe the package +boundary. `AGENTS.md` Purpose now states the library role; credential routing +and fleet mirror note added. + ## Verify Local Developer Workflow ```task id: HUB-WP-0001-T02 -status: todo +status: done priority: high +state_hub_task_id: "87054735-cd9a-4018-afde-741e0cef811c" ``` Identify the repo's install, test, lint, build, and run commands. Add or refine those commands in the agent instructions so future coding sessions can verify changes confidently. +Completed 2026-06-22: `AGENTS.md` now documents install, test, compile check, +wheel build, and State Hub consumer regression commands. No lint/format targets +yet — noted as future work. + ## Seed First Real Workplan ```task id: HUB-WP-0001-T03 -status: todo +status: done priority: medium +state_hub_task_id: "aca066a0-db3d-4496-821a-0fa13c2ae542" ``` Create the first implementation workplan for the repository's most important @@ -52,3 +64,8 @@ next change. After workplan file updates, run from `~/state-hub`: ```bash make fix-consistency REPO=hub-core ``` + +Completed 2026-06-22: seeded +`workplans/HUB-WP-0002-import-refactor-adapter-seams.md` to close the +remaining CUST-WP-0048 adapter seams (capability request writes, MCP +composition, regression handoff). \ No newline at end of file diff --git a/workplans/HUB-WP-0002-import-refactor-adapter-seams.md b/workplans/HUB-WP-0002-import-refactor-adapter-seams.md new file mode 100644 index 0000000..38e1783 --- /dev/null +++ b/workplans/HUB-WP-0002-import-refactor-adapter-seams.md @@ -0,0 +1,86 @@ +--- +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. \ No newline at end of file