You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(recipe-health): deep-link Evidence to dashboard + link-check bot
RQ1 (#1283): render the recipe-health Evidence column as a deterministic,
hermetic deep-link into the evidence dashboard (validation.aicr.run) for
each recipe with a committed dashboard presence; keep an honest `pending`
otherwise. Link construction reuses the shared pkg/recipe.CoordinateFor
mapping and carries no k8s version, so links are stable across version
rolls. New pkg/testgrid owns the dashboard origin, link scheme, and the
committed presence manifest (presence.yaml). Evidence-column prose in
docs/user/recipe-health.md is rewritten to explain the link, the
author-asserted-provenance caveat, and its coexistence with ADR-009's
deferred in-cell freshness state.
RQ2 (#1284): add tools/testgrid-link-check and a weekly, warning-only
workflow (clone of bom-refresh minus the PR step) that fetches the live
dashboard data with an origin-pinned, redirect-hardened, bounded HTTP
client and reports any linked coordinate the dashboard no longer serves.
Never blocks merges, never edits the doc; a coordinate not yet linked is
expected, not a warning.
Signed-off-by: Nathan Hensley <nhensley@nvidia.com>
Copy file name to clipboardExpand all lines: docs/user/recipe-health.md
+13-7Lines changed: 13 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,13 @@ The matrix is computed **hermetically and offline**: every signal is a pure read
29
29
30
30
**Coverage** is a descriptor — it is *never* graded, so a deliberately minimal recipe is never penalized for declaring fewer checks. It is a compact per-phase summary of the **declared** validation checks, in the form `R:n D:n P:n C:n` — the count of named checks declared for the readiness, deployment, performance, and conformance phases respectively.
31
31
32
-
**Evidence** is a literal `pending` for every recipe today. No conformance attestations exist yet, so the column is honestly uniform: it reports the absence of evidence rather than overstating what is known. A differentiated, evidence-derived column lands once the first signed attestation does.
32
+
**Evidence** deep-links each recipe that has a live dashboard presence to its coordinate on the AICR evidence dashboard at [validation.aicr.run](https://validation.aicr.run) (`/#/<group>/<dashboard>/<tab>`, where `group` is the service, `dashboard` is `<accelerator>-<os>`, and `tab` is `<intent>[-<platform>]`). A recipe without a presence stays a literal `pending` — the column reports the absence of live posture rather than overstating what is known. Today the dashboard covers only the UAT-driven coordinates, so most rows are `pending` until real-hardware coverage broadens; this matrix does not gate on that.
33
+
34
+
The link is constructed **hermetically and deterministically** from the recipe's resolved criteria using the shared `pkg/recipe.CoordinateFor` mapping — the generator makes no network call, and the coordinate carries **no Kubernetes version**, so a link is stable across k8s-version rolls. The Evidence cell is a link and nothing more: it points at the live board and carries **no** pass/fail state or count. Which recipes are linked is driven by a committed presence manifest (`pkg/testgrid/presence.yaml`); a weekly, warning-only bot keeps it honest by reporting any link that no longer resolves against the live dashboard data (it never blocks merges or edits this doc).
35
+
36
+
> **Community-source posture is author-asserted provenance, not independently-verified correctness.** A coordinate's tab placement and any community-sourced results on the dashboard are declared by the signing author; corroboration counts agreement at the same AICR version but does not itself certify runtime correctness. Read the linked board accordingly.
37
+
38
+
The deep-link is the current Evidence rendering. It is distinct from — and coexists with — [ADR-009](../design/009-recipe-health-tracking.md)'s deferred, verify-gated *in-cell freshness* state (`unattested` vs aged, derived from a signed attestation's `AttestedAt`): the link points at the live board, and an optional freshness token can later annotate the same cell without replacing the link. See also the [coverage matrix](coverage-matrix.md) for the complementary breadth view.
33
39
34
40
{/* BEGIN AICR-HEALTH */}
35
41
## Summary
@@ -50,18 +56,18 @@ The matrix is computed **hermetically and offline**: every signal is a pure read
0 commit comments