state-hub/api
tegwick b3a44fb4f3 feat(capability-requests): add routing dispute & reroute workflow (CUST-WP-0027)
Adds a structured dispute mechanism when capability request routing is wrong:
- New `routing_disputed` status with four DB columns (dispute_reason, disputed_by,
  dispute_suggested_domain, disputed_at) via Alembic migration m0h1i2j3k4l5
- POST /capability-requests/{id}/dispute — any party can flag misrouting with a reason
  and optional suggested domain; notifies custodian + current fulfilling domain
- POST /capability-requests/{id}/reroute — custodian re-routes to correct domain via
  catalog_entry_id or direct slug; appends audit trail to routing_note; resets to requested
- Two new MCP tools: dispute_capability_routing and reroute_capability_request
- Dashboard: amber disputed-banner at top of Summary, routing_disputed Kanban column,
  dispute details (reason, suggested domain, raised-by) shown on disputed cards

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 23:58:52 +01:00
..
models feat(capability-requests): add routing dispute & reroute workflow (CUST-WP-0027) 2026-03-21 23:58:52 +01:00
routers feat(capability-requests): add routing dispute & reroute workflow (CUST-WP-0027) 2026-03-21 23:58:52 +01:00
schemas feat(capability-requests): add routing dispute & reroute workflow (CUST-WP-0027) 2026-03-21 23:58:52 +01:00
config.py Add state-hub v0.1 — local-first state service for the Custodian 2026-02-24 17:47:49 +01:00
database.py Add state-hub v0.1 — local-first state service for the Custodian 2026-02-24 17:47:49 +01:00
doi_engine.py perf(doi): fingerprint-based DB cache for DoI results 2026-03-20 01:47:19 +01:00
main.py feat(tpsc): Third-Party Services Catalog (CUST-WP-0023) 2026-03-20 00:15:26 +01:00