docs: close ops-hub evidence intake T06 and T08 with live validation

Record live ops_inventory_probe fallback evidence from activity-core and
mark IHUB-WP-0022 T06/T08 done with the activity-core closure handoff on
the fallback-deferred path.
This commit is contained in:
2026-06-21 16:11:42 +02:00
parent d6b655a5cf
commit e8e8187946
2 changed files with 74 additions and 31 deletions

View File

@@ -1,13 +1,13 @@
# Ops Hub Activity-Core Fallback Validation
Date: 2026-06-15
Date: 2026-06-16
Workplan: `IHUB-WP-0022`
## Validation Result
The State Hub fallback path is implemented and tested in activity-core, but no
live fallback event exists in State Hub yet.
The State Hub fallback path is implemented, locally tested in activity-core,
and now verified through a live Railiance01 activity-core manual trigger.
Direct query:
@@ -15,18 +15,41 @@ Direct query:
GET http://127.0.0.1:8000/progress/?event_type=ops_inventory_probe&limit=20
```
Observed result on 2026-06-15:
Observed result on 2026-06-16:
```json
[]
[
{
"id": "db408146-0310-4ac3-ac77-f73c5a41e070",
"event_type": "ops_inventory_probe",
"summary": "Ops inventory probe: 0 ok, 4 degraded, 0 down, 5 skipped",
"author": "activity-core",
"created_at": "2026-06-16T05:34:02.711888Z"
}
]
```
This means Inter-Hub can accept the fallback-first design, but cannot yet cite
live `ops_inventory_probe` evidence as a closure artifact.
Railiance also posted verifier evidence note
`60256e9a-9d1b-44db-8999-738cf03bca2e`, proving that the progress event was
matched to the exact manual activity-core trigger run:
- manual workflow:
`activity-40d15a87-7ff6-4d8e-992c-37df15f95110:manual-d2daa0e4-2d54-430e-a957-dca0ec9f469d`
- matched activity-core run id:
`90e3b112-d1e3-51af-8fb2-cb61f26add17`
- matched fallback progress:
`db408146-0310-4ac3-ac77-f73c5a41e070`
- immutable runtime evidence:
`api_image_id=sha256:5ff92a8217c450ae06075d00862b6e2a92a83ca09eea18b5a5e96b5d2d728b35`
This means Inter-Hub can cite live fallback evidence as the continuity
artifact for activity-core while the governed Inter-Hub widget/API-key path
remains explicitly deferred.
## What Is Validated
Activity-core local tests validate the fallback sink shape:
Activity-core local tests and the Railiance01 verifier now validate the
fallback sink shape:
- `state-hub-progress` posts one compact `ops_inventory_probe` progress event
per run.
@@ -43,11 +66,14 @@ Activity-core local tests validate the fallback sink shape:
`reason = missing_inter_hub_config`.
- When config is present but submission is not implemented, the result is a
clean skip with `reason = inter_hub_sink_deferred`.
- Railiance verifier evidence correlates the State Hub progress event to the
exact manual activity-core trigger run id instead of accepting any fresh
`ops_inventory_probe`.
- The verifier evidence includes immutable runtime identity through the live
`actcore-api` container image digest.
## What Is Not Yet Validated
- No live activity-core worker has posted an `ops_inventory_probe` event to the
local State Hub instance.
- No live Inter-Hub event has been submitted from activity-core.
- No production `OPS_HUB_KEY` handoff has been verified.
- No `OPS_HUB_WIDGET_MAPPING` has been deployed into the activity-core runtime.
@@ -69,27 +95,24 @@ replacement for Inter-Hub submission:
## Closure Recommendation
`ACTIVITY-WP-0007/T06` should not close as fully activated based on the current
State Hub state, because no live `ops_inventory_probe` progress event exists.
`ACTIVITY-WP-0007/T06` may remain closed using fallback-deferred closure.
The live fallback path now has non-secret State Hub evidence, and the
Inter-Hub submission path is explicitly deferred until `IHUB-WP-0022-T03`,
`IHUB-WP-0022-T04`, and `IHUB-WP-0022-T07` complete.
Two acceptable closure paths remain:
This is not full Inter-Hub activation. The remaining full activation path is:
1. Fallback-deferred closure: run one disabled/manual activity-core probe,
confirm a live non-secret `ops_inventory_probe` progress event in State Hub,
and explicitly record that Inter-Hub submission is deferred until
`IHUB-WP-0022-T03/T04/T07` complete.
2. Full Inter-Hub closure: provision `OPS_HUB_KEY`, deploy
`OPS_HUB_WIDGET_MAPPING`, seed/verify the ops-hub widgets, and submit one
accepted Inter-Hub event per activity-core event type.
1. Provision `OPS_HUB_KEY`.
2. Deploy `OPS_HUB_WIDGET_MAPPING`.
3. Seed and verify the ops-hub widgets.
4. Submit one accepted Inter-Hub event per activity-core event type.
Until one of those paths is satisfied, Inter-Hub should keep the activity-core
closure gate open.
Until that path is satisfied, Inter-Hub should keep its own per-entity intake
tasks open, but it does not need to hold the activity-core closure gate open.
## Next Evidence To Capture
- Progress id for the first live `ops_inventory_probe` event.
- Non-secret summary counts from that progress detail.
- Confirmation that Inter-Hub sink remains skipped cleanly while config is
absent or deferred.
absent or deferred in the deployed runtime.
- After ops-hub activation, event ids for one accepted Inter-Hub submission per
event type.