# Inter-Hub Legacy Inventory Status: initial inventory plus local ops-hub compatibility evidence. ## Production Role `inter-hub` is the Haskell/IHP implementation that currently represents the second-generation interaction framework idea. Core Hub should preserve consumer-visible behavior before retiring it. ## Catalog And Documentation Routes - `GET /api/v2/widget-types` - `GET /api/v2/event-types` - `GET /api/v2/annotation-categories` - `GET /api/v2/policy-scopes` - `GET /api/v2/openapi.json` - `GET /api/v2/openapi.yaml` - `GET /api/v2/docs` ## Protected API v2 Routes To Preserve - `GET /api/v2/hubs` - `POST /api/v2/hubs` - `GET /api/v2/hub-capability-manifests` - `POST /api/v2/hub-capability-manifests` - `PATCH /api/v2/hub-capability-manifests/{manifest_id}` - `POST /api/v2/hub-capability-manifests/{manifest_id}/activate` - `GET /api/v2/api-consumers` - `POST /api/v2/api-consumers` - `POST /api/v2/api-consumers/{consumer_id}/api-keys` - `GET /api/v2/widgets` - `POST /api/v2/widgets` - `GET /api/v2/interaction-events` - `POST /api/v2/interaction-events` - `GET /api/v2/hub-registry` - `POST /api/v2/token` Deferred protected surfaces: - `/api/v2/annotations` - `/api/v2/requirement-candidates` - `/api/v2/decision-records` - `/api/v2/deployment-records` - `/api/v2/outcome-signals` ## Current Consumers - `ops-hub` bootstrap and gate probes use hub, manifest, API consumer, API key, widget, interaction-event, token, and hub-registry surfaces. - `activity-core` can emit through an Inter-Hub sink but has a State Hub fallback during transition. - Custodian workplans and operator smokes depend on route evidence and protected smoke evidence. ## Data Sources For Migration - Inter-Hub SQL migrations and schema snapshots. - API consumer and key-prefix rows, with raw keys treated as non-recoverable. - Hub manifests, widgets, registries, event rows, annotations, decisions, deployments, outcomes, and request logs where historically useful. ## Local Compatibility Evidence 2026-06-27: - Core Hub local API started with `CORE_HUB_AUTO_CREATE_TABLES=1` and SQLite smoke DB. - `ops-hub/scripts/interhub-gate-probe.py` passed: unauthenticated `/api/v2/hubs` returned `401`, `/api/v2/openapi.json` returned `200`, and required unprefixed OpenAPI paths were present. - `ops-hub/scripts/ops-hub-bootstrap-api.py` passed: created ops-hub, activated manifest, API consumer, runtime key, 14 widgets, and the initial Gitea readiness interaction event. ## Remaining Compatibility Risk Local Core Hub compatibility is proven for the ops-hub bootstrap script. Production closure still requires deployment, approved credential custody, and a smoke against the deployed Core Hub endpoint.