Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
126 lines
4.7 KiB
Markdown
126 lines
4.7 KiB
Markdown
---
|
||
id: OPS-WP-0003
|
||
type: workplan
|
||
title: "Extension contract alignment"
|
||
domain: infotech
|
||
repo: ops-hub
|
||
status: finished
|
||
owner: codex
|
||
topic_slug: infotech
|
||
created: "2026-08-09"
|
||
updated: "2026-08-31"
|
||
reviewed_at: "2026-08-31"
|
||
reviewed_by: codex
|
||
reviewed_against_commit: "9bbbf2032daf257d786446217bad79dc051a529c"
|
||
quality_dor: DoR-Ok
|
||
quality_dor_at: "2026-08-31"
|
||
quality_dor_by: codex
|
||
quality_dod: DoD-Ok
|
||
quality_dod_at: "2026-08-31"
|
||
quality_dod_by: codex
|
||
quality_dod_note: >-
|
||
The owner-side 0.1.0 package is versioned and federated, passes hub-core's
|
||
schemas/catalog and all eight implemented conformance checks, and the
|
||
post-cutover production compatibility gate is green. Unimplemented framework
|
||
checks are live residual HUB-WP-0009 rather than reported as passing.
|
||
parent_project: prj-state-hub-retirement
|
||
parent_workplan: SHR-WP-0001
|
||
related:
|
||
- HUB-WP-0004
|
||
- CORE-WP-0010
|
||
- SHR-ARCH-HUB-0001
|
||
state_hub_workstream_id: "d688d60b-7f86-5fbe-bf3f-76ff926d9a17"
|
||
---
|
||
|
||
# Extension contract alignment
|
||
|
||
## Goal
|
||
|
||
Make ops-hub a **conformant domain/aspect hub** under `helixforge.hub-extension`:
|
||
descriptor, reuse-surface id, versioned manifest, health, and consumer
|
||
registration without secrets.
|
||
|
||
## Author hub package artefacts
|
||
|
||
```task
|
||
id: OPS-WP-0003-T01
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "a938b0e2-912e-5126-aa6f-d63bdeebca5d"
|
||
```
|
||
|
||
Produce hub descriptor + capability manifest referencing
|
||
`capability.infotech.ops-hub` (or current registry id), events emitted/consumed,
|
||
and non-secret endpoints.
|
||
|
||
**Completed 2026-08-31.** Published the owner-side
|
||
`helixforge.hub-extension` 0.1.0 package at
|
||
`registry/hub-extension/v0.1.0/ops-hub.extension.json`. It uses the current
|
||
hub-core fixture identity `capability.operations.ops-hub`, declares the
|
||
operations service-catalog handoff, named framework ports, emitted
|
||
`ops.endpoint.verified`, consumed `hub.progress.recorded`, and non-secret
|
||
discovery/documentation endpoints. The package checksum is
|
||
`d48bb22c88598af482a3a779b930d1269e5bd8fd9e245681e278f14c4bd064d0`.
|
||
|
||
The capability is now a reviewed federation entry (`D3 / A1 / C1 / R1`) rather
|
||
than an empty index. `docs/hub-extension.md` records that hub-core owns the
|
||
runtime while ops-hub owns operational vocabulary and records; the legacy
|
||
dash-separated event remains a compatibility spelling, not a rewrite target.
|
||
|
||
## Pass Tier 2 conformance against hub-core
|
||
|
||
```task
|
||
id: OPS-WP-0003-T02
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "1d1c422d-892c-5404-8d7f-a1f78c5cd87a"
|
||
```
|
||
|
||
When HUB-WP-0004 harness exists, run C1–C10 checks; fix gaps in ops-hub.
|
||
|
||
**Completed 2026-08-31 with framework residuals.** The owner package validates
|
||
against hub-core's packaged Draft 2020-12 descriptor/manifest schemas and event
|
||
catalog with zero secret-shaped fields. Injecting that package into a disposable
|
||
hub-core runtime passed the complete implemented profile: Tier-2 C1, C3, C4,
|
||
C5, C6, C8 and Tier-3 F2/F3 (8/8).
|
||
|
||
Hub Core contract 0.1.0 explicitly does not automate C2, C7, C9, or C10; those
|
||
cannot be fixed honestly in an extension repository. They are residual-owned by
|
||
new proposed owner workplan `HUB-WP-0009`, covering registry resolution,
|
||
raw-port configuration policy, dependency-aware readiness, version negotiation,
|
||
and any remaining tenant-isolation split. It is registered as State Hub
|
||
workplan `0d6e94f3-fd15-5f57-af41-60f0b862da5e`. The report does not count
|
||
unsupported checks as passing.
|
||
|
||
## Bootstrap dual-run on consolidated runtime
|
||
|
||
```task
|
||
id: OPS-WP-0003-T03
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "947306d4-8a00-5cd6-8c6d-1f266d45055c"
|
||
```
|
||
|
||
Verify bootstrap/smokes against hub-core-hosted `/api/v2` during CORE-WP-0010
|
||
dual-run and after cutover.
|
||
|
||
**Completed 2026-08-31.** `RAPPCOREHUB-WP-0002-T04` records the ops-hub
|
||
consumer gate passing against the public candidate during the S1–S5 dual-run.
|
||
The production cutover and exercised rollback/forward recovery repeated the
|
||
consumer gates. A fresh post-cutover `make interhub-gate` now passes against
|
||
`https://hub.coulomb.social`: `/api/v2/hubs` fails closed with 401 for an
|
||
anonymous caller, `/api/v2/openapi.json` returns 200, and all four required
|
||
bootstrap resources are present.
|
||
|
||
No new authenticated bootstrap mutation was needed or performed. The routed
|
||
Inter-Hub operator-key lane is high-risk and attended
|
||
(`inter-hub-bootstrap-ssh`); repeating a successful bootstrap merely to obtain
|
||
fresh evidence would create credentials and production records without a
|
||
functional change. Existing idempotent bootstrap behavior remains covered by
|
||
the source tests, while the current production check is non-mutating.
|
||
|
||
## Acceptance
|
||
|
||
- [x] Hub package artefacts present and versioned
|
||
- [x] Tier 2 conformance green (or residual-owned gaps)
|
||
- [x] Bootstrap works on consolidated runtime
|