I2417 — The landing page is a click-through story: an editorial hero and an evidence chain a visitor steps through
Give the homepage the editorial typography and the click-through interactivity of the prismatic case reports: a serif display hero and section heads, and an interactive evidence chain in the proof section — what the repository declares, what the registry generates, the interfaces it reaches, the rules a machine decides, the guaranteed claims, the executable use cases and what a recorded run supports — in which every node is a button that opens its figure, its sentence and its source, and every edge is solid where a machine holds the link and dashed where it is declared and awaits evidence.
DONE wave 0 · p1 · implementation profile · parallel safe
Part of public-proof — A visitor sees the product prove itself, and can check every claim it makes.
Objective
Give the homepage the editorial typography and the click-through interactivity of the prismatic case reports: a serif display hero and section heads, and an interactive evidence chain in the proof section — what the repository declares, what the registry generates, the interfaces it reaches, the rules a machine decides, the guaranteed claims, the executable use cases and what a recorded run supports — in which every node is a button that opens its figure, its sentence and its source, and every edge is solid where a machine holds the link and dashed where it is declared and awaits evidence.
Why
Owner order of 2026-10-11: the landing page should look and behave like the case reports (prismatic-platform cases, report v57): a serif display with an italic accent, a mono eyebrow, an ownership graph whose boxes and edges open what is known with links to the source, solid lines for recorded facts and dashed for inference. The homepage showed its evidence as static cards, and nothing on it could be stepped through.
Current state
The hero and section heads are a sans display; the proof section shows claim counts as static cards; nothing on the homepage shows how a declaration reaches a recorded run, and no figure distinguishes what a machine holds from what is only declared.
Desired state
The hero title and every landing section head are set in the serif display, the subtitle italic in the brand colour, the eyebrow mono and tracked. The proof section opens with the evidence chain (site/templates/partials/evidence-chain.html): seven nodes in two lanes, every figure derived from the product model, the claims matrix and the catalogue, every node's sentence an existing derived or marketing.toml one, the last edge dashed while the evidence verdict supports fewer than the guaranteed claims. Without JavaScript every node's detail is shown in order; with it, Alpine shows the chosen one. The behaviour spec evidence-chain proves that choosing a node shows that node alone, pressed, with its figure. No graph runtime, no new script, no remote asset.
Scope
- site/templates/index.html
- site/templates/components.html
- site/templates/partials/evidence-chain.html
- site/data/marketing.toml
- scripts/lib/interaction-specs/evidence-chain.mjs
Out of scope
- Chart.js or any charting runtime: the figure is markup and the homepage's budget is unchanged.
- A new homepage section: the chain sits inside the proof section homepage.toml already declares.
- Rewriting the copy: the only new sentence is the chain's legend in marketing.toml, within its budget.
Dependencies
None. This issue is a root of the graph.
What waits on this
Acceptance criteria
- Every node of the chain is a button; choosing one shows its detail alone and marks it pressed; the behaviour spec evidence-chain claims exactly those buttons
- Every figure in the chain is derived; the evidence edge is dashed while the supported count is below the guaranteed count
- scripts/ci/homepage-check, scripts/ci/interaction-check and scripts/site-check pass; the homepage stays within its asset budget
- At 390 px the page does not scroll horizontally; below the md breakpoint the chain is not drawn, which 239df858cb4 (the landing page holds on every device) decided after #930 stacked it into one column, and from md up it is drawn with every node visible
Validation
- bin/majordomus plan validate
- scripts/ci/interaction-check
- scripts/ci/homepage-check
- scripts/interaction-probe --only '/'
Evidence required
- evidence_chain_interaction_probe
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| evidence_chain_interaction_probe | test | scripts/site-build && scripts/site-check; scripts/ci/interaction-check; scripts/ci/homepage-check; scripts/interaction-probe --only '/'; node <scratch>/chain.mjs at 390, 768 and 1280 px on https://majordomus.dev/ | at 09c334079f5: site-check 0 failure(s); interaction-check OK 34708 controls, 7 evidence-chain; homepage-check rc 0; interaction-probe OK 30 controls on 1 page do what their spec says, 7 evidence-chain; published homepage: 390 px scrollWidth 390 = clientWidth, chain not drawn (hidden md:block since 239df858cb4); 768 and 1280 px chain drawn, 7 of 7 nodes visible, edges registry/surfaces/claims/use-cases held and evidence declared (dashed) while supported 0 is below the guaranteed count; delivered by #930 (20d888eafcb) | 09c3340 |
Timeline
- started
- 2026-10-16T17:03:09Z
- verified
- 2026-10-16T17:03:13Z
- completed
- 2026-10-16T17:03:20Z
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/I2417.yaml. Read it back with majordomus plan show I2417.