CORE-WP-0005-T03 done: dual-run compat deltas; found ops-* widget-type catalog gap for cutover

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 19:24:09 +02:00
parent a26abe8334
commit 1f1288ad94

View File

@@ -47,7 +47,7 @@ actual import can run.
```task
id: CORE-WP-0005-T03
status: wait
status: done
priority: high
state_hub_task_id: "9166afe8-27ef-4345-a7b1-c33f15c90673"
```
@@ -84,3 +84,40 @@ second run proved idempotency (created=0, updated=28, no duplicates).
Server-side confirmed: the imported `ops-hub` hub and its 15 widgets are visible
via `/api/v2/*`. T02 done; the staging DB now holds real Inter-Hub data for the
T03 dual-run smokes.
## Progress 2026-07-02 — dual-run smokes and compatibility deltas
Ran unauthenticated + authenticated probes against both live surfaces via
ops-bridge tunnels (Inter-Hub `inter-hub-coulombcore`:18020, Core Hub staging
`core-hub-staging-coulombcore`:18010).
Status parity table (unauthenticated GET):
| Endpoint | Inter-Hub | Core Hub | Note |
| --- | --- | --- | --- |
| `/healthz`, `/readyz` | 404 | 200 | Core Hub adds liveness/readiness (new capability, not a regression). |
| `/api/v2/hubs` | 200 | 401 | **Auth delta**: hub listing is public on Inter-Hub, protected on Core Hub. Anonymous consumers must authenticate against Core Hub. |
| `/api/v2/hub-registry` | 401 | 401 | Parity. |
| `/api/v2/widget-types`, `event-types`, `annotation-categories`, `policy-scopes` | 200 | 200 | Public-catalog status parity. |
| `/api/v2/widgets`, `interaction-events` | 401 | 401 | Parity. |
Content/shape deltas:
- Catalog record shape differs: Core Hub uses `{name, slug, description}`;
Inter-Hub uses `{name, label, description, ownerHubId, status}`. Consumers
parsing catalog records need updates for the `slug`-based shape.
- **Cutover blocker found**: the migrated Inter-Hub widgets reference 7
widget-type names (`ops-endpoint`, `ops-environment`, `ops-host`,
`ops-migration-wave`, `ops-readiness-gate`, `ops-service`,
`ops-service-catalog`) that are **absent** from Core Hub's seeded
widget-type registry (which has only `Event Stream`, `Status Summary`,
`Workplan Board`). The `core-hub.migration.v1` bundle schema (COLLECTIONS)
carries widgets but not the `widget_type_registry` / `event_type_registry`,
so migrated widgets land referentially incomplete. **Production cutover
(T04) must first migrate or seed the ops-* widget-type and event-type
vocabularies into Core Hub.** Filed as the top T04 prerequisite.
T03 done: compatibility surface is characterized; the auth-hardening delta and
the missing-catalog-vocabulary blocker are the two items the cutover decision
must account for.