Development record
The site's landing page composes its hero quote from the press release of the newest shipped intent whose fidelity audit is MET (internal/core/site/compose.go:1251 newestMetIntent, 1153), and the first ingested audit of itd-60 (shipped 2026-09-30, two days after the role-vocabulary sweep b4df4f25d, which rewrote no intent body) makes that intent the hero: its press release says 'flags it for the maintainer to read', so 'abcd lint site' refuses the render with roles/retired-role-word on index.html and the site-render gate of make preflight exits 2 on a branch that only recorded the audit (chore/audit-v012-gaps at 373d8b5f9, over main 7fb52a6b5). The sweep intent itd-2609212137129937 scoped intent bodies out, yet a press release is abcd's own text the moment the composer renders it publicly; the retired word stands nine times in itd-60 and ten in the sweep intent's own record, so any later MET audit of an intent carrying it reproduces the refusal, and the landing page's text is decided by which audit was ingested last rather than by a guarded source.
The site's landing page composes its hero quote from the press release of the newest shipped intent whose fidelity audit is MET (internal/core/site/compose.go:1251 newestMetIntent, 1153), and the first ingested audit of itd-60 (shipped 2026-09-30, two days after the role-vocabulary sweep b4df4f25d, which rewrote no intent body) makes that intent the hero: its press release says 'flags it for the maintainer to read', so 'abcd lint site' refuses the render with roles/retired-role-word on index.html and the site-render gate of make preflight exits 2 on a branch that only recorded the audit (chore/audit-v012-gaps at 373d8b5f9, over main 7fb52a6b5). The sweep intent itd-2609212137129937 scoped intent bodies out, yet a press release is abcd's own text the moment the composer renders it publicly; the retired word stands nine times in itd-60 and ten in the sweep intent's own record, so any later MET audit of an intent carrying it reproduces the refusal, and the landing page's text is decided by which audit was ingested last rather than by a guarded source.
Grounds
- pursued: the site renders with itd-60 as the hero quote; a later shipped press release carrying the word would show it wrong
Frontmatter
| id | iss-2610021446271464 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2610021446271464-the-site-s-landing-page-composes-its.md
open on GitHub ↗ · commit history ↗
mentions3
- iss-2610021502084298No check meets the retired role word in an intent's press release at the record: the docs-lint rule roles/retired-role-word roots at the docs, the command pages and the rules, so a shipped or planned intent's press release carrying it is refused only when the site composer renders it as the landing page's hero quote, which is how itd-60's first MET audit broke the site-render gate (iss-2610021446271464). After the R5 reword of itd-60, thirteen shipped press releases still carry the word (itd-65, itd-66, itd-67, itd-69, itd-73, itd-74, itd-93, itd-102, itd-111, itd-114, itd-125, itd-2609111003026787, itd-2609212137129937), so the next MET audit ingested for any of them refuses the render again on a branch that only recorded an audit; the product thinker's ruling R5 (2026-10-02) accepted that a future slip breaks the build and did not ask for this check. Related to iss-2610020731591808, which names the brief, the principles and the personas registry as swept but unguarded.
- itd-60When A Surface Ships, The Brief Describes It — Or The Intent Does Not Reach Shipped
- itd-2609212137129937abcd's text names the product thinker or the technical facilitator, never the maintainer