I2851 — the homepage's product view counts the delivery the history proves beside the statuses the records declare, each count a link
The product view in the homepage's hero counts, first, how far each issue's work travelled as plan.delivery infers it from the history, stage by stage in the projection's order, naming the commit it was inferred at. Then it counts the statuses the issue records declare. Every count is a link into /roadmap/, where each issue carries its stage and the object that proves it, and homepage-check holds the counts to delivery.json and plan.json.
READY wave 1 · p0 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I2851 will be accepted.
Objective
The product view in the homepage's hero counts, first, how far each issue's work travelled as plan.delivery infers it from the history, stage by stage in the projection's order, naming the commit it was inferred at. Then it counts the statuses the issue records declare. Every count is a link into /roadmap/, where each issue carries its stage and the object that proves it, and homepage-check holds the counts to delivery.json and plan.json.
Why
The owner on 2026-10-18 at v0.29.0 (707a04c7ce8), with a screenshot of the homepage card 'this project's own delivery': 'the same here', following the complaint that /roadmap/ is not derived, inferred, interlinked or interactive. The card counted only the stamps the records declare (ready 86, blocked 159, done 161), linked nothing, and said nothing of what was merged or released. Its title promises delivery.
Current state
The card counts issues by declared status, read once from plan.json at the build commit; no count is a link; homepage-check reads a count only when it is the element's first text.
Desired state
With delivery.json present the card draws one count per stage the history proves (none is the absence of a stage and is not drawn), names the commit it was inferred at, and links each count to /roadmap/#delivery; each declared status count links to /roadmap/; homepage-check reads a count inside a link, holds the stage counts to delivery.json in its order, and refuses a view that counts no stage when the projection gives some.
Scope
- site/templates/index.html
- site/templates/roadmap.html
- scripts/ci/homepage-check
- test/cases/333_homepage_narrative.sh
Out of scope
- A live reading on the homepage: the site is a publication read at one commit (ADR 0141); the live counts are the UI's.
- The stages the committed projection leaves unread (branches and the forge, by the rule that derived data must not read refs): the published UI and the Pages job's own reading carry those.
Dependencies
Acceptance criteria
- The built homepage counts the stages delivery.json tallies, in its order, without none, each linked to /roadmap/#delivery
- A stage count delivery.json does not give, a missing stage row, or none drawn as a stage is refused by homepage-check
- A declared status count inside a link is still read and held to plan.json
Validation
- bin/majordomus plan validate
- bash test/run.sh 333_homepage_narrative 3105_the_homepage_states_no_present_it_does_not_read
Evidence required
- homepage_counts_delivery_case
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
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/I2851.yaml. Read it back with majordomus plan show I2851.