Harden SBOM retries and align hub evidence
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a028de-e2c8-7732-8521-46a7fc5db82f
This commit is contained in:
parent
0f573c4378
commit
3b3e1a1ff0
17 changed files with 941 additions and 140 deletions
|
|
@ -595,9 +595,15 @@ export FORGEJO_TOKEN=$(bao kv get -field=API_TOKEN platform/workloads/forgejo/fo
|
|||
fleet-wide `for_each: context.repos.repos` emitted 75 tasks on 2026-08-17 and
|
||||
must not be re-enabled. The bounded replacement is `daily-sbom-catchup`, active
|
||||
weekdays at 09:15 Europe/Berlin. It makes one ranked sbom-nexus request,
|
||||
processes at most three terminal ingest/skip outcomes, and emits no tasks. Two
|
||||
production proof fires on 2026-08-22 processed six distinct repositories as
|
||||
documented `no-checkout` skips with zero task spawns; see
|
||||
records that read-only selection in workflow history, and processes at most
|
||||
three terminal ingest/skip outcomes in a dedicated heartbeat-enabled activity.
|
||||
Retries retain the same fixed targets and resume acknowledged outcomes. Each
|
||||
write carries a stable per-run/per-repository `Idempotency-Key`; an ambiguous
|
||||
response fails the activity and is not converted into a synthetic skip. Until
|
||||
sbom-nexus enforces that key, a worker crash after a committed POST but before
|
||||
the next heartbeat remains a possible duplicate-write window. The automation
|
||||
emits no tasks. Two production proof fires on 2026-08-22 processed six distinct
|
||||
repositories as documented `no-checkout` skips with zero task spawns; see
|
||||
`docs/evidence/ACTIVITY-WP-0030-daily-sbom-catchup-2026-08-22.md`.
|
||||
|
||||
`weekly-coding-retro` follows the same cron -> context resolver -> per-repo task
|
||||
|
|
@ -617,8 +623,18 @@ when the workflow completes cleanly twice in a row.
|
|||
|
||||
## Ops inventory evidence posture
|
||||
|
||||
The current accepted live backend for activity-core ops inventory probes is
|
||||
State Hub progress with `event_type=ops_inventory_probe`.
|
||||
Hub-core has been the production runtime authority since 2026-08-21. The
|
||||
Railiance projection of the (still disabled) ops-inventory probe now writes
|
||||
sanitized evidence through canonical `port.events.interaction` using sink type
|
||||
`hub-core-interaction-event`. `HUB_CORE_BASE_URL` targets the in-cluster
|
||||
hub-core runtime. No widget mapping or Core Hub runtime token is required.
|
||||
|
||||
The sink wraps the observation as catalog event `hub.interaction.recorded`,
|
||||
keeps the logical observation name in `payload.reported_event_type`, and reads
|
||||
the `interaction_events` projection after append to verify persistence. The old
|
||||
`core-hub-interaction-event` `/api/v2` sink remains implemented for rollback
|
||||
compatibility during CORE-WP-0010 stabilization, but is no longer the Railiance
|
||||
probe configuration.
|
||||
|
||||
Inter-Hub / ops-hub per-entity submission remains intentionally deferred until
|
||||
all of these are true:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue