Add slugify_or_default for core-hub parity, bump to 0.2.0, document ecosystem position in INTENT/SCOPE/README, wire capability relations to state-hub and core-hub, and extend utils tests. Part of CUST-WP-0057 consolidation.
1.8 KiB
1.8 KiB
Hub Core
Reusable FastAPI, SQLAlchemy, and MCP primitives for FOS hubs.
Hub stack glossary
| Name | Role |
|---|---|
| hub-core | This repo — shared Python library (hub_core) |
| state-hub | Dev coordination host (workplans, MCP) |
| core-hub | Production framework (/api/v2, operator console) |
Ecosystem architecture: /home/worsch/the-custodian/docs/hub-ecosystem-architecture.md
hub-core is being extracted from the standalone State Hub repository as part
of CUST-WP-0025. The initial package slice contains only the generic database
models and schemas that can move without importing dev-hub concepts such as
topics, workplans, tasks, decisions, SBOM, or token accounting.
Source boundary notes live in:
/home/worsch/the-custodian/docs/hub-core-extraction-boundary.md
First Slice
- SQLAlchemy base metadata and timestamp helpers.
- Domain and managed-repository registry primitives.
- Agent message inbox primitives.
- Progress-event and capability-request primitives with generic JSON context fields for hub-specific references.
- Third-party service catalog and snapshot primitives.
- Matching Pydantic schemas for those primitives.
- Generic DoI report and summary schemas used by the MCP DoI tools.
- Router factory functions for domains, repos, messages, policy lookup, and progress, capability, and TPSC catalog/snapshot/report endpoints.
- Canonical FOS §10 risk and alert event types with
/progress/risksand/progress/alertsread views. - Shared utility helpers for slugs, pagination, repo path resolution, and trailing-slash path normalization.
- Alembic templates plus an initial core-schema migration for hub adopters.
- FastMCP base-server wrapper for generic orientation, messaging, capability, repo, DoI, TPSC/GDPR, risk/alert, and progress tools.
Domain-specific MCP tools follow in each hub package.