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
Parent:#1263 · Labels:enhancement, area/docs (auto, docs/**) · Size: M · Depends on: TG4a (the URL form must exist to document the
coordinate→link contract); the mapping spec + shared function can land earlier
Goal. Make the CSP-first taxonomy, the canonical recipe→coordinate mapping (as a
shared Go function), and the pinned column-metadata key schema the single documented
source of truth; publish the public docs page; reconcile precisely with ADR-009's deferred validation-posture design; and define the bot-verifiable cross-link
contract with docs/user/recipe-health.md (#1224) so the recipe-quality epic can wire it.
Scope.
Canonical mapping spec + shared function (spec in docs/design/ or docs/contributor/; function in the shared pkg/recipe coordinate helper):
group=service, dashboard=accelerator-os, tab=intent[-platform],
row=<phase>/<check>, column=one build; k8s-in-column rationale (stable links) and its cost + the UI-facet countermeasure; join key = overlay metadata.name;
the mapping takes resolved Criteria as input and never parses metadata.name (accelerator-first name vs service-first coordinate). State the
empty-platform→bare-intent tab rule and the "optional sub-segment dropped, not unknown-substituted" rule as the single source of truth TG2 and RQ1 reference.
Enumerate the deterministic recipe→(group,dashboard,tab) function and the stable URL form the API/UI expose. The package golden test exercises both
launch clouds (h100-eks-ubuntu-training → eks/h100-ubuntu/training-kubeflow; h100-gke-cos-inference-dynamo → gke/h100-cos/inference-dynamo) and enumerates
values from the runtime CriteriaRegistry union, not a closed enum.
Pinned column-metadata key schema. Define the exact started.json metadata key
strings, count, and order (aicr version aicr_version, observed k8s version k8s_version major.minor, recipe-declared k8s constraint k8s_constraint, signer identity,
issuer, source, evidence digest) that TG2 emits and TG3's Header.extra
references — authored once here.
Public docs page (docs/user/): what the AICR TestGrid is, how to read it,
CSP-first navigation, the k8s facet, provenance/signer/source columns (community
vs uat), and how it relates to the offline recipe-health matrix.
Epic: Recipe health tracking (ADR-009 V1) — enumeration, structural soundness, public matrix #1224 reconciliation + cross-link contract. State explicitly the difference
between ADR-009's deferred validation-posture axis — a verify-gated, AttestedAt-reading, in-cell trust state (unattested vs aged-but-verified)
computed from the in-tree signed pointer
(docs/design/009-recipe-health-tracking.md:245-251,427) — and the recipe-quality epic's coordinate deep-link Evidence column (link only, no status token). Pick and
state the relationship (recommend: coexist — recipe-health keeps the offline
structural/freshness signal it owns; TestGrid is the live board the Evidence
column links to, never duplicating it). Then: recipe-health
(docs/user/recipe-health.md) owns the offline structural surface and TestGrid
owns the live validation posture surface; they share the metadata.name join
key; the recipe-health Evidence column will link (not duplicate) into the
TestGrid coordinate URL (RQ1); the link is bot-verifiable via TG4a's
coordinate-presence endpoint (RQ2). Note that ADR-009's matrix and pkg/health/ do not exist at HEAD and that the enumeration seam (LeafCombo + MetadataStore.LeafCriteria(), aicr recipe list, 009-recipe-health-tracking.md:285-291,154) is specified-but-unimplemented (part
of pkg/health: core Compute() loop, resolves signal, rollup, determinism #1225-CI: weekly health-refresh bot PR for the recipe-health matrix #1230) — this contract is the interface tools/health generator + make targets + public recipe-health matrix #1229's generator (the
recipe-quality epic) consumes.
Honor the doc conventions: auto-anchors (no TOCs), promote bold labels to
headings sparingly, anchor-link hygiene (lychee runs in fern-docs-ci.yaml:54
on docs/** PRs). A new docs page must be registered in the Fern nav
(fern/docs.yml and the versioned navs under fern/versions/*.yml) — that
registration is enforced by review / fern-docs-ci, not by a make qualify
step. (make qualify = test-coverage lint e2e scan license-check, Makefile:244; make lint's doc checks are check-docs-filenames / check-docs-mdx, Makefile:135-141 — neither is a sidebar/nav check.)
Out of scope. Editing recipe-health.md itself (RQ1, and the file does
not exist yet); the link-integrity bot (RQ2); implementing the API/UI (TG4a/TG4b).
The shared coordinate helper's consumers (TG2/TG3/TG4a/RQ1) live in their own children.
Key files. New docs/design/ taxonomy spec; new docs/user/ TestGrid page
(register in fern/docs.yml + fern/versions/*.yml); the shared pkg/recipe
coordinate helper + its golden test; cross-reference target docs/user/recipe-health.md (future, #1224); ADR-009 reconciliation anchors docs/design/009-recipe-health-tracking.md:245-251,285-291,427; doc-CI reference .github/workflows/fern-docs-ci.yaml.
Tests. Docs build clean under fern-docs-ci (lychee anchor-link check passes);
the shared coordinate function's golden test (both launch clouds, runtime-union
enumeration) is the canonical mapping test TG2/TG4a/RQ1 reference rather than
re-implementing. 75% floor on the shared pkg/recipe helper.
Acceptance. The CSP-first taxonomy, recipe→coordinate mapping (shipped as the
shared Go function), and pinned metadata-key schema are documented canonically; the
public TestGrid docs page is live and registered in the Fern nav; the ADR-009
reconciliation is explicit (coexist, not identity); the #1224 cross-link contract is
precise, link-only, and bot-verifiable via the coordinate-presence endpoint; make qualify and fern-docs-ci pass.
Child of #1263 · staged from docs/design/010-aicr-testgrid.md (TG6).
Parent: #1263 · Labels:
enhancement,area/docs(auto,docs/**) ·Size: M · Depends on: TG4a (the URL form must exist to document the
coordinate→link contract); the mapping spec + shared function can land earlier
Goal. Make the CSP-first taxonomy, the canonical recipe→coordinate mapping (as a
shared Go function), and the pinned column-metadata key schema the single documented
source of truth; publish the public docs page; reconcile precisely with ADR-009's
deferred validation-posture design; and define the bot-verifiable cross-link
contract with
docs/user/recipe-health.md(#1224) so the recipe-quality epic can wire it.Scope.
docs/design/ordocs/contributor/; function in the sharedpkg/recipecoordinate helper):group=
service, dashboard=accelerator-os, tab=intent[-platform],row=
<phase>/<check>, column=one build; k8s-in-column rationale (stable links)and its cost + the UI-facet countermeasure; join key = overlay
metadata.name;the mapping takes resolved Criteria as input and never parses
metadata.name(accelerator-first name vs service-first coordinate). State theempty-platform→bare-intent tab rule and the "optional sub-segment dropped, not
unknown-substituted" rule as the single source of truth TG2 and RQ1 reference.Enumerate the deterministic
recipe→(group,dashboard,tab)function and thestable URL form the API/UI expose. The package golden test exercises both
launch clouds (
h100-eks-ubuntu-training → eks/h100-ubuntu/training-kubeflow;h100-gke-cos-inference-dynamo → gke/h100-cos/inference-dynamo) and enumeratesvalues from the runtime
CriteriaRegistryunion, not a closed enum.strings, count, and order (aicr version
aicr_version, observed k8s versionk8s_versionmajor.minor, recipe-declared k8s constraintk8s_constraint, signer identity,issuer, source, evidence digest) that TG2 emits and TG3's
Header.extrareferences — authored once here.
docs/user/): what the AICR TestGrid is, how to read it,CSP-first navigation, the k8s facet, provenance/signer/source columns (community
vs uat), and how it relates to the offline recipe-health matrix.
between ADR-009's deferred validation-posture axis — a verify-gated,
AttestedAt-reading, in-cell trust state (unattestedvs aged-but-verified)computed from the in-tree signed pointer
(
docs/design/009-recipe-health-tracking.md:245-251,427) — and the recipe-quality epic'scoordinate deep-link Evidence column (link only, no status token). Pick and
state the relationship (recommend: coexist — recipe-health keeps the offline
structural/freshness signal it owns; TestGrid is the live board the Evidence
column links to, never duplicating it). Then: recipe-health
(
docs/user/recipe-health.md) owns the offline structural surface and TestGridowns the live validation posture surface; they share the
metadata.namejoinkey; the recipe-health Evidence column will link (not duplicate) into the
TestGrid coordinate URL (RQ1); the link is bot-verifiable via TG4a's
coordinate-presence endpoint (RQ2). Note that ADR-009's matrix and
pkg/health/do not exist at HEAD and that the enumeration seam (LeafCombo+MetadataStore.LeafCriteria(),aicr recipe list,009-recipe-health-tracking.md:285-291,154) is specified-but-unimplemented (partof pkg/health: core Compute() loop, resolves signal, rollup, determinism #1225-CI: weekly health-refresh bot PR for the recipe-health matrix #1230) — this contract is the interface tools/health generator + make targets + public recipe-health matrix #1229's generator (the
recipe-quality epic) consumes.
headings sparingly, anchor-link hygiene (lychee runs in
fern-docs-ci.yaml:54on
docs/**PRs). A new docs page must be registered in the Fern nav(
fern/docs.ymland the versioned navs underfern/versions/*.yml) — thatregistration is enforced by review /
fern-docs-ci, not by amake qualifystep. (
make qualify=test-coverage lint e2e scan license-check,Makefile:244;make lint's doc checks arecheck-docs-filenames/check-docs-mdx,Makefile:135-141— neither is a sidebar/nav check.)Out of scope. Editing
recipe-health.mditself (RQ1, and the file doesnot exist yet); the link-integrity bot (RQ2); implementing the API/UI (TG4a/TG4b).
The shared coordinate helper's consumers (TG2/TG3/TG4a/RQ1) live in their own children.
Key files. New
docs/design/taxonomy spec; newdocs/user/TestGrid page(register in
fern/docs.yml+fern/versions/*.yml); the sharedpkg/recipecoordinate helper + its golden test; cross-reference target
docs/user/recipe-health.md(future, #1224); ADR-009 reconciliation anchorsdocs/design/009-recipe-health-tracking.md:245-251,285-291,427; doc-CI reference.github/workflows/fern-docs-ci.yaml.Tests. Docs build clean under
fern-docs-ci(lychee anchor-link check passes);the shared coordinate function's golden test (both launch clouds, runtime-union
enumeration) is the canonical mapping test TG2/TG4a/RQ1 reference rather than
re-implementing. 75% floor on the shared
pkg/recipehelper.Acceptance. The CSP-first taxonomy, recipe→coordinate mapping (shipped as the
shared Go function), and pinned metadata-key schema are documented canonically; the
public TestGrid docs page is live and registered in the Fern nav; the ADR-009
reconciliation is explicit (coexist, not identity); the #1224 cross-link contract is
precise, link-only, and bot-verifiable via the coordinate-presence endpoint;
make qualifyandfern-docs-cipass.Child of #1263 · staged from
docs/design/010-aicr-testgrid.md(TG6).