docs: record hub-core adapter seams

This commit is contained in:
2026-06-06 22:30:29 +02:00
parent 9d5c13abb6
commit 4bdfeb1850
2 changed files with 26 additions and 2 deletions

View File

@@ -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:

View File

@@ -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