Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions docs/evidence/meta-descriptions-2026-08-09.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,41 @@ This closes dogfood finding 18dd05c10709 ("Missing meta description on home")
against the deployed site: the code fix and the CI source guard were merged as
PR #21, and the live deployment now serves exactly one valid, non-empty,
unique meta description on the home page and on all four sibling public pages.

### Closeout re-verification (added 2026-08-09)

Re-verified against the current origin/main head (cd9184c, "seo: publish
complete sitemap covering the five human-facing pages", merged 2026-08-09)
after the subsequent page edits (heading hierarchy, apple-touch icon, schema.org
structured data, canonical URLs, internal-link cleanup, App Store citation,
sitemap) — none of which was allowed to regress the guarantee. Two fresh
measurements:

1. `npm run check` on the current working tree: PASS — the "Meta descriptions
(dogfood)" guard in `scripts/check-site.mjs` confirms each of the five pages
carries exactly one non-empty description tag in its head, within a

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stop claiming the source guard validates head placement

If the sole description tag is accidentally moved after </head>, npm run check still passes because the guard in scripts/check-site.mjs:938 runs its regex against the entire page rather than an extracted <head>. This makes the newly recorded CI guarantee inaccurate and could allow the exact head-placement property asserted by this closeout to regress unnoticed; either constrain the guard to the head or narrow this claim.

Useful? React with 👍 / 👎.

search-snippet length (≤ 160 chars), distinct per page, and free of the
forbidden promises.
Comment on lines +109 to +113

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not claim that the source guard verifies head placement.

scripts/check-site.mjs scans the full pageHtml string. Its regular expression does not restrict matches to <head>. A description tag outside <head> could pass this guard.

Either scope the guard to <head> or change this text to say “in the source HTML.” Keep the Chromium result as the evidence for document.head.

Suggested wording change
-   carries exactly one non-empty description tag in its head, within a
+   carries exactly one non-empty description tag in the source HTML, within a
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
1. `npm run check` on the current working tree: PASS — the "Meta descriptions
(dogfood)" guard in `scripts/check-site.mjs` confirms each of the five pages
carries exactly one non-empty description tag in its head, within a
search-snippet length (≤ 160 chars), distinct per page, and free of the
forbidden promises.
1. `npm run check` on the current working tree: PASS — the "Meta descriptions
(dogfood)" guard in `scripts/check-site.mjs` confirms each of the five pages
carries exactly one non-empty description tag in the source HTML, within a
search-snippet length (≤ 160 chars), distinct per page, and free of the
forbidden promises.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/evidence/meta-descriptions-2026-08-09.md` around lines 109 - 113, Update
the evidence wording near the `npm run check` result to say the guard verifies
each description tag in the source HTML, not specifically within `<head>`. Leave
the Chromium evidence responsible for confirming `document.head` placement.


2. Live re-measurement of the deployed pages in real Chromium (headless,
`domcontentloaded`, tags counted in `document.head` and in the full
document; console and page errors captured):

| Page | HTTP | description tags in head | tags in full doc | non-empty | length | unique | console errors |
|---|---|---|---|---|---|---|---|
| index.html (home) | 200 | 1 | 1 | yes | 150 | yes | none |
| audit.html | 200 | 1 | 1 | yes | 157 | yes | none |
| agents.html | 200 | 1 | 1 | yes | 155 | yes | none |
| pricing.html | 200 | 1 | 1 | yes | 153 | yes | none |
| specimen.html | 200 | 1 | 1 | yes | 145 | yes | none |

Homepage description served live (150 chars):

> TinyStudio: the free leak audit of high-ticket service homepages. Each fault named in order of what it costs you, with the fix beside it. Six a month.

Same result as the earlier verification pass: exactly one valid, non-empty,
unique meta description per page, on the page the finding flagged (home) and on
all four sibling public pages. Finding 18dd05c10709 ("Missing meta description
on home") remains closed on the code side (PR #21), in CI (`npm run check`),
and against the deployed site; this lane (2026-08-09) re-confirmed all three
and found nothing further to change.
Loading