4.9 KiB
id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|
| CORE-WP-0004 | workplan | Implement Inter-Hub compatibility and consumer smokes | infotech | core-hub | finished | codex | custodian | 2026-06-27 | 2026-06-27 | ef13b0e9-f626-4d2c-9e00-ccb4906c3a3d |
Implement Inter-Hub compatibility and consumer smokes
Preserve the Inter-Hub /api/v2 behavior required by current consumers while Core Hub-native contracts mature.
Public Registry Compatibility
id: CORE-WP-0004-T01
status: done
priority: high
state_hub_task_id: "4e24ab14-d5cf-4466-8287-21eaf075cb44"
Result 2026-06-27: Aligned catalog/docs/OpenAPI behavior with the active ops-hub gate. Static catalogs and docs are public; hub registry/bootstrap data is protected. /api/v2/openapi.json now includes the unprefixed path aliases expected by ops-hub gate checks. Local gate probe passed against Core Hub.
Protected Bootstrap Compatibility
id: CORE-WP-0004-T02
status: done
priority: high
state_hub_task_id: "87073ee7-0213-4eed-881a-b18ab764ae65"
Result 2026-06-27: Replaced placeholders with persistence-backed protected routes for hubs, manifests, API consumers, API keys, widgets, interaction events, and hub registry. Runtime API keys are generated display-once and stored hashed. The real ops-hub/scripts/ops-hub-bootstrap-api.py passed against local Core Hub, creating ops-hub, an active manifest, API consumer, runtime key, 14 widgets, and one readiness event.
ops-hub Smoke
id: CORE-WP-0004-T03
status: done
priority: high
state_hub_task_id: "2d18f575-135b-4ba8-9537-6920d0c61e1b"
2026-06-27: Local smoke passed with a throwaway operator token and SQLite smoke DB. Remaining closure requires deployed Core Hub runtime plus approved credential routing. No secrets in logs, workplans, or chat.
2026-06-27 continuation: CORE-WP-0008-T02 owns the deployed API smoke harness that should close this task once it passes against a deployed Core Hub runtime.
activity-core Smoke
id: CORE-WP-0004-T04
status: done
priority: medium
state_hub_task_id: "c3d1c153-0059-470c-bb2d-0b14f2d77b94"
Waiting on a deployed Core Hub runtime or an explicit State Hub fallback decision for the transition path.
2026-06-27 continuation: CORE-WP-0008-T03 owns the activity-core Core Hub sink or explicit fallback decision.
2026-06-27 continuation update: CORE-WP-0008-T03 and ACTIVITY-WP-0017
implemented and locally proved the direct activity-core -> Core Hub
interaction-event sink. This removes the consumer implementation blocker;
this task still waits for a deployed Core Hub runtime plus approved runtime
token and widget mapping before it can be marked done.
Progress 2026-07-02 — deployed staging smoke passed
Core Hub staging is live on the CoulombCore cluster (operator-approved
decision set: CoulombCore + generated staging Secrets + Gitea registry):
namespace core-hub-staging, image gitea.coulomb.social/coulomb/core-hub:3ed8531,
dedicated core_hub_staging database on apps-pg (namespace labeled
railiance.io/postgres-client=apps-pg to satisfy the default-deny
NetworkPolicy), Alembic migrate job Completed, API rolled out healthy.
T03 closed: core_hub_deployed_smoke ran in-cluster (token via
secretKeyRef, never leaving the namespace) — run 20260702143544-6c8f18,
ok=true, 10/10 checks (health, ready, OpenAPI, four public catalogs,
protected-401s, operator auth) plus the full ops-hub bootstrap sequence:
hub 6798723a, activated manifest, API consumer key prefix ch_N0ZhsXIbD,
widget, interaction event 21d09f99 (ops-endpoint-verified), hub registry
containing both. Two fixes landed en route: psycopg2-binary added to main
deps (migrations image lacked the sync driver — commit 3ed8531) and the
NetworkPolicy label requirement documented above.
T04 remaining (unchanged owner): run the ACTIVITY-WP-0017 activity-core sink against this deployed staging API with an approved runtime token and widget mapping. The deployed-runtime precondition is now met.
Progress 2026-07-02 — activity-core deployed sink smoke passed
T04 closed. Ran activity-core's real persist_ops_inventory_evidence /
_post_core_hub_interaction_event code (activity-core checkout) against the
deployed Core Hub staging API through the core-hub-staging-coulombcore
ops-bridge tunnel, with an approved runtime token (dedicated API consumer
6cfcbc56, key prefix ch_ztkSv9PK, stored in a workstation 0600 file, never
logged) and widget mapping to widget 6768aaa2-11dc-4e11-88ef-d6fc57047514.
Result: sink returned status=posted, event
ae43db56-902d-411a-a495-25acd464fdd8 (ops-endpoint-verified); server-side
GET /api/v2/interaction-events?widgetId=... confirms the event persisted
(widget event count 3, containment true). This proves the activity-core client
body shape is accepted by deployed Core Hub — the last consumer-smoke gap from
T03/T04 is closed on real deployed runtime evidence.