From 4bdfeb1850b22475a69fdc2cf81bdcbc36ae1cbe Mon Sep 17 00:00:00 2001 From: tegwick Date: Sat, 6 Jun 2026 22:30:29 +0200 Subject: [PATCH] docs: record hub-core adapter seams --- docs/hub-core-extraction-boundary.md | 21 +++++++++++++++++++-- workplans/CUST-WP-0025-fos-hub-bootstrap.md | 7 +++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/hub-core-extraction-boundary.md b/docs/hub-core-extraction-boundary.md index 6712fe5..a004ef8 100644 --- a/docs/hub-core-extraction-boundary.md +++ b/docs/hub-core-extraction-boundary.md @@ -34,12 +34,17 @@ hub_core/ domain.py managed_repo.py agent_message.py + capability_catalog.py + capability_request.py + progress_event.py tpsc.py schemas/ __init__.py domain.py managed_repo.py agent_message.py + capability.py + progress_event.py tpsc.py routers/ __init__.py @@ -66,6 +71,9 @@ Current implementation status: - 2026-06-06: shared utilities and migration scaffold were added: slug normalization, pagination, repo path resolution, trailing-slash path normalization, Alembic templates, and an initial core-schema migration. +- 2026-06-06: progress event and capability request adapter seams were added. + Hub-core uses generic JSON context fields where State Hub currently has + dev-specific workstream/task/topic/decision foreign keys. ## Extract Now @@ -119,6 +127,8 @@ covers only the currently extracted core tables: - `managed_repos` - `agent_messages` - `capability_catalog` +- `capability_requests` +- `progress_events` - `tpsc_catalog` - `tpsc_snapshots` - `tpsc_entries` @@ -132,10 +142,17 @@ implementation is coupled to dev-hub concepts: | --- | --- | | `Domain` and `domains.py` detail views | Counts topics, workstreams, extension points, and technical debt. Hub-core should expose a domain summary hook that dev-hub can implement. | | `ManagedRepo` | Contains `topic_id`, SBOM fields, and state-sync timestamps. Keep minimal repo identity in core, then add dev-hub extensions. | -| `CapabilityRequest` | Points at workstreams and tasks. Hub-core needs generic context fields or optional extension references before extraction. | -| `ProgressEvent` | Points at topics, workstreams, tasks, and decisions. Hub-core should define event identity, type, summary, detail, author, and timestamps, with hub-specific subject references added by each hub. | +| `CapabilityRequest` | Adapter seam 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. | +| `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 mixed into a single dev-hub server module. T06 should create a base registration class that receives API client/config dependencies and lets dev-hub add its own tools. | +The first two adapter seams are now implemented in hub-core: + +- `ProgressEvent.subject_refs`: generic JSON references for hub-local subjects. +- `CapabilityRequest.request_context` and `fulfillment_context`: generic JSON + context for hub-local workstreams, tasks, incidents, services, budgets, or + other future hub entities. + ## Keep In Dev-Hub The following State Hub areas should not move into hub-core during T05: diff --git a/workplans/CUST-WP-0025-fos-hub-bootstrap.md b/workplans/CUST-WP-0025-fos-hub-bootstrap.md index 22312d7..8397327 100644 --- a/workplans/CUST-WP-0025-fos-hub-bootstrap.md +++ b/workplans/CUST-WP-0025-fos-hub-bootstrap.md @@ -178,6 +178,13 @@ migration covering domains, managed repos, agent messages, capability catalog, and TPSC tables. Hub-core verification now covers package compilation, router construction, registered metadata, and utility behavior. +Implementation slice 4 (2026-06-06): added progress event and capability +request adapter seams to `/home/worsch/hub-core`. The core progress event uses +generic `subject_refs` JSON instead of dev-hub foreign keys, and capability +requests use JSON request/fulfillment context fields instead of workstream/task +columns. This keeps hub-core reusable while giving State Hub a migration path +for its dev-specific references. + ### T06 — Hub-core FastMCP base server ```task