state-hub/api/routers
tegwick 548c3efe4a feat(state-hub): Interface Change Registry (CUST-WP-0033 T01-T06)
Adds first-class tracking for API and interface mutations across the
agent ecosystem. Breaking changes are documented, affected repos are
notified via inbox, and agents discover pending changes at session
start via the dispatch endpoint.

- Migration q4l5m6n7o8p9: interface_changes table
- Model/schema: InterfaceChange with draft→published→resolved lifecycle
- Router: POST/GET/PATCH /interface-changes/, /publish, /resolve actions
  (auto-notify affected repo agents on publish; progress event on origin)
- Dispatch: GET /repos/{slug}/dispatch now returns pending_interface_changes
- MCP tools: register_interface_change, list_interface_changes,
  publish_interface_change, resolve_interface_change
- Dashboard: /interface-changes page with type badges, planned calendar,
  published cards, and draft table
- EP-CUST-ICR-001 registered: webhook subscriptions (deliberately deferred)

First record: trailing-slash normalisation (2026-04-26), published,
affecting repo-registry — visible in repo-registry dispatch immediately.

223 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 15:29:08 +02:00
..
__init__.py Add state-hub v0.1 — local-first state service for the Custodian 2026-02-24 17:47:49 +01:00
capability_requests.py feat(capability-registry): CUST-WP-0031 domain capability registry 2026-03-31 17:23:45 +02:00
contributions.py fix(api): normalize trailing slashes — no slash on param routes 2026-04-26 15:13:01 +02:00
decisions.py feat(api): CUST-WP-0018 — API hardening & code quality 2026-03-18 02:17:04 +01:00
domain_goals.py feat(goals): add domain/repo goal tracking and update_workstream MCP tool 2026-03-09 00:15:29 +01:00
domains.py fix(api): normalize trailing slashes — no slash on param routes 2026-04-26 15:13:01 +02:00
extension_points.py feat(gems): three-pass schema migration aligning state-hub with GEMS 2026-03-02 23:39:17 +01:00
interface_changes.py feat(state-hub): Interface Change Registry (CUST-WP-0033 T01-T06) 2026-04-26 15:29:08 +02:00
messages.py feat(CUST-WP-0015): implement agent inbox for inter-agent coordination 2026-03-16 02:55:45 +01:00
policy.py feat(tasks): add needs_human intervention flag (CUST-WP-0009) 2026-03-04 19:44:14 +01:00
progress.py feat(api): CUST-WP-0018 — API hardening & code quality 2026-03-18 02:17:04 +01:00
repo_goals.py feat(goals): add domain/repo goal tracking and update_workstream MCP tool 2026-03-09 00:15:29 +01:00
repos.py feat(state-hub): Interface Change Registry (CUST-WP-0033 T01-T06) 2026-04-26 15:29:08 +02:00
sbom.py fix(api): normalize trailing slashes — no slash on param routes 2026-04-26 15:13:01 +02:00
state.py feat(capability-requests): add cross-domain capability catalog and request routing 2026-03-19 21:07:50 +01:00
tasks.py feat(token-tracking): repo aggregation via graph walk (task→workstream→repo) 2026-03-29 19:05:23 +02:00
technical_debt.py fix(api): normalize trailing slashes — no slash on param routes 2026-04-26 15:13:01 +02:00
token_events.py feat(token-events): auto-capture real token counts via PostToolUse hook 2026-04-01 22:38:45 +02:00
topics.py feat(tests): pytest-asyncio test suite — 119 tests across 3 modules 2026-03-18 12:00:06 +01:00
tpsc.py feat(doi): Repository DoI automated gate and dashboard integration (CUST-WP-0024) 2026-03-20 01:08:18 +01:00
workstream_dependencies.py Implement State Hub v0.2: dependency graph, next-steps suggestions, design boundary 2026-02-25 23:33:14 +01:00
workstreams.py feat(api): CUST-WP-0018 — API hardening & code quality 2026-03-18 02:17:04 +01:00