generated from coulomb/repo-seed
Implement ops-hub evidence intake contracts
This commit is contained in:
95
docs/evidence/ops-hub-activity-core-fallback-validation.md
Normal file
95
docs/evidence/ops-hub-activity-core-fallback-validation.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# Ops Hub Activity-Core Fallback Validation
|
||||
|
||||
Date: 2026-06-15
|
||||
|
||||
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.
|
||||
|
||||
Direct query:
|
||||
|
||||
```text
|
||||
GET http://127.0.0.1:8000/progress/?event_type=ops_inventory_probe&limit=20
|
||||
```
|
||||
|
||||
Observed result on 2026-06-15:
|
||||
|
||||
```json
|
||||
[]
|
||||
```
|
||||
|
||||
This means Inter-Hub can accept the fallback-first design, but cannot yet cite
|
||||
live `ops_inventory_probe` evidence as a closure artifact.
|
||||
|
||||
## What Is Validated
|
||||
|
||||
Activity-core local tests validate the fallback sink shape:
|
||||
|
||||
- `state-hub-progress` posts one compact `ops_inventory_probe` progress event
|
||||
per run.
|
||||
- The fallback idempotency key is stable:
|
||||
`activity_core_run_id:context_key:ops_inventory_probe`.
|
||||
- The posted summary is compact, for example:
|
||||
`Ops inventory probe: 1 ok, 0 degraded, 0 down, 1 skipped`.
|
||||
- The detail includes `activity_id`, `activity_core_run_id`, `scheduled_for`,
|
||||
`source_type`, `context_key`, `idempotency_key`, and a compact `probe`
|
||||
payload.
|
||||
- The compact probe strips response bodies, authorization headers, credentials,
|
||||
URL query strings, and token-like values.
|
||||
- Inter-Hub sink config absence is a clean skip with
|
||||
`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`.
|
||||
|
||||
## 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.
|
||||
- No per-entity widget mapping has been smoke-tested against production
|
||||
ops-hub widgets.
|
||||
|
||||
## Gaps Compared With Inter-Hub Submission
|
||||
|
||||
State Hub fallback is useful as continuity evidence, but it is not a full
|
||||
replacement for Inter-Hub submission:
|
||||
|
||||
- It records one compact run summary, not one governed widget event per entity.
|
||||
- It cannot attach annotations directly to the affected service or endpoint
|
||||
widget.
|
||||
- It does not prove ops-hub manifest vocabulary enforcement.
|
||||
- It does not prove API consumer, key, rate-limit, or widget mapping behavior.
|
||||
- It does not populate Inter-Hub event lists for hub dashboards or downstream
|
||||
widget governance workflows.
|
||||
|
||||
## 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.
|
||||
|
||||
Two acceptable closure paths remain:
|
||||
|
||||
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.
|
||||
|
||||
Until one of those paths is satisfied, Inter-Hub should keep 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.
|
||||
- After ops-hub activation, event ids for one accepted Inter-Hub submission per
|
||||
event type.
|
||||
Reference in New Issue
Block a user