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.
129 lines
4.4 KiB
Markdown
129 lines
4.4 KiB
Markdown
---
|
|
id: capability.infotech.hub-core-library
|
|
name: Reusable FOS Hub Core Primitives
|
|
summary: Reusable FastAPI, SQLAlchemy, and MCP primitives extracted from the State Hub for use by other
|
|
FOS (Federation of Services) hubs.
|
|
owner: hub-core
|
|
status: draft
|
|
domain: infotech
|
|
tags:
|
|
- hub
|
|
- fastapi
|
|
- sqlalchemy
|
|
- mcp
|
|
maturity:
|
|
discovery:
|
|
current: D2
|
|
target: D4
|
|
confidence: medium
|
|
rationale: 'README documents the extraction boundary from State Hub (CUST-WP-0025) and the first slice:
|
|
base metadata, domain/repo registry primitives, agent inbox, progress-event/capability-request primitives,
|
|
service catalog, DoI schemas.'
|
|
availability:
|
|
current: A1
|
|
target: A3
|
|
confidence: medium
|
|
rationale: Python package (`hub-core`), pip-installable/importable; already has a `.forgejo/workflows/ci-smoke.yaml`
|
|
CI check (ahead of most siblings on the Forgejo transition).
|
|
external_evidence:
|
|
completeness:
|
|
level: C1
|
|
confidence: low
|
|
basis: scope_vs_intent_and_consumer_expectations
|
|
satisfied_expectations:
|
|
- SQLAlchemy base metadata/timestamp helpers
|
|
- domain and managed-repo registry primitives
|
|
- agent message inbox primitives
|
|
- progress-event/capability-request primitives
|
|
- Forgejo Actions CI smoke check
|
|
broken_expectations: []
|
|
out_of_scope_expectations: []
|
|
reliability:
|
|
level: R1
|
|
confidence: low
|
|
basis: consumer_quality_signals
|
|
known_reliability_risks:
|
|
- first extraction slice only; hub-specific concepts (topics, workstreams, tasks, decisions, SBOM,
|
|
token accounting) intentionally excluded so far
|
|
discovery:
|
|
intent: Let new FOS hubs reuse the generic primitives State Hub already built, without importing State-Hub-specific
|
|
domain concepts.
|
|
includes:
|
|
- SQLAlchemy base metadata/timestamp helpers
|
|
- domain/repo registry and agent-inbox primitives
|
|
- progress-event/capability-request primitives with generic JSON context
|
|
- service catalog and DoI schemas
|
|
excludes:
|
|
- 'State-Hub-specific concepts: topics, workstreams, tasks, decisions, SBOM, token accounting'
|
|
assumptions: []
|
|
use_cases: []
|
|
research_memos: []
|
|
availability:
|
|
current_level: A1
|
|
target_level: A3
|
|
current_artifacts:
|
|
- '`hub-core` Python package'
|
|
target_artifacts: []
|
|
consumption_modes:
|
|
- library import
|
|
relations:
|
|
depends_on: []
|
|
supports:
|
|
- capability.infotech.core-hub
|
|
related_to:
|
|
- capability.infotech.core-hub
|
|
- capability.statehub.workstream-coordinate
|
|
evidence:
|
|
documentation:
|
|
- README.md
|
|
- the-custodian:docs/hub-core-extraction-boundary.md
|
|
tests:
|
|
- tests/
|
|
- .forgejo/workflows/ci-smoke.yaml
|
|
consumer_feedback: []
|
|
bug_reports: []
|
|
incidents: []
|
|
consumer_guidance:
|
|
recommended_for:
|
|
- new FOS hub services wanting shared FastAPI/SQLAlchemy/MCP primitives
|
|
not_recommended_for:
|
|
- consumers needing State-Hub-specific domain concepts (not extracted yet)
|
|
known_limitations:
|
|
- first extraction slice; boundary still evolving alongside State Hub
|
|
promotion_history: []
|
|
---
|
|
|
|
# Reusable FOS Hub Core Primitives
|
|
|
|
## Overview
|
|
|
|
`hub-core` is being extracted from the standalone State Hub repository (CUST-WP-0025) to give other FOS hubs reusable FastAPI/SQLAlchemy/MCP primitives without pulling in State-Hub-specific domain concepts.
|
|
|
|
## Assessment notes
|
|
|
|
### Discovery
|
|
|
|
README documents the extraction boundary from State Hub (CUST-WP-0025) and the first slice: base metadata, domain/repo registry primitives, agent inbox, progress-event/capability-request primitives, service catalog, DoI schemas.
|
|
|
|
### Availability
|
|
|
|
Python package (`hub-core`), pip-installable/importable; already has a `.forgejo/workflows/ci-smoke.yaml` CI check (ahead of most siblings on the Forgejo transition).
|
|
|
|
### Completeness
|
|
|
|
First-pass honest assessment from the REUSE-WP-0017 coverage campaign
|
|
(reuse-surface). No external consumer feedback exists yet; levels reflect
|
|
scope-vs-intent documentation quality, not internal code quality.
|
|
|
|
### Reliability
|
|
|
|
No production consumer telemetry exists yet; reliability level is
|
|
intentionally conservative pending REUSE-WP-0019 reuse-telemetry evidence.
|
|
|
|
## Promotion checklist
|
|
|
|
- [x] ID follows `capability.<domain>.<name>` pattern
|
|
- [x] Maturity enums match `specs/CapabilityMaturityStandard.md`
|
|
- [x] `external_evidence` is populated separately from `maturity`
|
|
- [ ] Relations reference valid capability IDs (none yet)
|
|
- [x] Index entry added in `registry/indexes/capabilities.yaml`
|