I1960 — Every widget names its proof
Render one evidence badge on every widget that states behaviour, linking to its subject's route with the verdict at the published commit, and compute the delivery report's required_tests_current and test_evidence_published dimensions as ADR 0087 decision 3 says.
BLOCKED wave 5 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I1958, I1959 are done. The status is derived from that, not declared.
Objective
Render one evidence badge on every widget that states behaviour, linking to its subject's route with the verdict at the published commit, and compute the delivery report's required_tests_current and test_evidence_published dimensions as ADR 0087 decision 3 says.
Why
Nothing ties a site widget to a subject: where a page says verified, the word was placed by hand, and the delivery report's test dimensions are pending for want of a verdict to read.
Current state
Widgets carry no subject badge; the proof partial of PR #626 is a separate component; the delivery dimensions are pending on PR #600.
Desired state
One partial, evidence-badge.html, is a plain link with a glyph, a text and a label, and renders unknown for a subject missing from the dataset, never nothing; every widget header carries it and the proof partial is absorbed into it; homepage-check budgets bytes per badge; required_tests_current passes only on a proven subject verdict at the trunk revision, and test_evidence_published reads the site's publication.
Scope
- site/templates/partials/evidence-badge.html
- site/templates/partials/terminal-figure.html
- site/templates/partials/terminal.html
- site/templates/partials/cli-examples.html
- site/templates/partials/api-operation.html
- site/templates/partials/proof.html
- site/templates/index.html
- site/templates/feature.html
- site/templates/claim.html
- site/templates/use-case.html
- site/templates/components.html
- site/data/homepage.toml
- scripts/ci/homepage-check
- apps/majordomus-cli/src/delivery/mod.rs
- test/cases
- test/cases/333_homepage_narrative.sh
- docs/CLAIMS.yaml
- docs/claims
- .ai/repo/features/evidence.md
Out of scope
- Alpine, details elements or an interaction spec for the badge
- A count or a percentage written into a template
- Custom CSS or an inline style
Dependencies
- I1958BLOCKED Evidence has one route per subject, and every panel is joined to its subject
- I1959BLOCKED The evidence publication is typed, bound to its build, and kept on gh-pages
- I1946DONE The verdict words are status words of the design system
What waits on this
- I1962BLOCKED The evidence gates read subject findings and widgets
- I1963BLOCKED Evidence is tested end to end
Acceptance criteria
- Every widget that states behaviour carries one badge linking to its subject's route, and a subject missing from the dataset renders unknown
- The badge renders verified only for a proven verdict at the published commit
- The badge is a plain link that works without JavaScript and fits a phone-width viewport
- Each badge stays under its byte ceiling in homepage-check
- The delivery report's test dimensions read the subject verdict and the site's publication, and never a CI run's own rows
Validation
- bash test/run.sh 520_every_widget_names_its_proof
- bash test/run.sh 333_homepage_narrative
- scripts/ci/homepage-check
Evidence required
- every_widget_names_its_subject
- delivery_test_dimensions_computed
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
It also waits on PR #593, PR #600, PR #621 and PR #626; the delivery module exists only once PR #600 has landed. required_tests_current as ADR 0087 decision 3 words it passes only after a quiet trunk: a code merge between a trunk run's commit and the landing of its recording leaves the subject inputs_unchanged or stale, never proven (ADR 0087, Consequences). The owner decides before this lands whether the process makes proven reachable at the trunk or the dimension binds to a reachable state.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I1960.yaml. Read it back with majordomus plan show I1960.