Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.
Merged
58 changes: 58 additions & 0 deletions docs/evidence/canonical-urls-2026-08-09.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,61 @@ This closes dogfood finding 6631c0ab0454 ("Missing canonical URL on home")
against the deployed site: the code fix and the CI source guard were merged as
PR #29, and the live deployment now serves exactly one valid, non-empty,
unique canonical link on the home page and on all four sibling public pages.

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

Re-verified against the current origin/main head (1cc7a4e, "fix(public): point
appraisal-page canonicals and JSON-LD @ids at the clean /audit URL (#56)") after
Comment on lines +111 to +112

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 Re-verify against the actual parent head

This change is applied on top of 6a914b6, but the receipt calls 1cc7a4e the current origin/main head and later claims that live lags main by exactly the two commits ending there. The reviewed history contains ce02df9 and 6a914b6 after 1cc7a4e, so the stated head, “two newest commits,” and conclusion that the checks were run against current main are already stale when this commit lands. Update the recorded head and deployment delta, and run the claimed source checks on that head so this audit evidence remains reproducible.

Useful? React with 👍 / 👎.

five further commits touched the public surface since the 2026-08-09 closeout —
95d2248 (preferred source pages for AI answers), c5e2f2b (de-index the retired
Agent Desk), ac05bec (mobile tap targets: CSS only), f9f0b0f (footer
attribution link on home), 1cc7a4e (canonical/JSON-LD URL cleanup on /audit).
Comment on lines +109 to +116

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Use a valid measurement date before merging.

This review occurs on August 10, 2026, but the section records a completed re-verification on August 11, 2026. August 11, 2026 is in the future. Record the actual execution date and deployment state, or add this closeout after the measurement occurs.

🤖 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/canonical-urls-2026-08-09.md` around lines 109 - 116, Correct
the “Closeout re-verification” entry and its date in the canonical-URLs evidence
document so it reflects the actual verification date and deployment state; do
not claim completion for a future date. If verification has not occurred, remove
or defer the closeout section until it is performed.

Only the last touched a canonical link — the audit page's moved from the
redirecting `https://tinystudio.io/audit.html` to the clean
`https://tinystudio.io/audit`, with the `check-site.mjs` guard expectation
updated to match (verified per commit: `git show <sha> -- public/` contains no
canonical-line change in any other commit). The home-page canonical the
finding flagged is byte-identical to the one the closeout measured. Three
checks:

1. Source checks on this head: `npm run check` passes — the "Canonical URLs
(dogfood)" guard in `scripts/check-site.mjs` requires exactly one
non-commented `<link rel="canonical">` inside `<head>` per page, with a
non-empty href pointing at the page's canonical `https://tinystudio.io`
address (home expected: `https://tinystudio.io/`) and no URL duplicated
across pages — and the full `npm test` suite passes (check, headings 6/6,
sitemap, worker, ui, contract).

2. Fresh live measurement of the deployed site (2026-08-11, headless Chromium,
same method as the receipt above, `domcontentloaded` wait, canonical read
from `document.head` and from the full document, console/page errors
captured): every page returns 200 with the CSP header, serves exactly one
canonical link in its head and one across the whole document, and logs no
console or page errors. Measured canonical hrefs (unique across pages):
Comment on lines +133 to +138

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Make the reproduced live check enforce the documented claims.

The shown method does not assert CSP presence or the exact canonical URL for each page. Five incorrect but unique URLs could pass. Add an expected-URL map and assertions for HTTP 200, CSP presence, and the exact per-page canonical, including https://tinystudio.io/ for home and https://tinystudio.io/audit for current main.

🤖 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/canonical-urls-2026-08-09.md` around lines 133 - 138, Update
the reproduced live-check measurement in the canonical-URLs document to use an
expected URL map, including home as https://tinystudio.io/ and the current main
page as https://tinystudio.io/audit. Add assertions for HTTP 200, CSP header
presence, and exact per-page canonical href equality against that map while
retaining the existing uniqueness and console/page-error checks.


| Page | HTTP | CSP header | canonical links in head | links in full doc | href | console errors |
|---|---|---|---|---|---|---|
| index.html (home, `/`) | 200 | yes | 1 | 1 | `https://tinystudio.io/` | none |
| audit.html (`/audit`) | 200 | yes | 1 | 1 | `https://tinystudio.io/audit.html` | none |
| agents.html (`/agents`) | 200 | yes | 1 | 1 | `https://tinystudio.io/agents.html` | none |
| pricing.html (`/pricing`) | 200 | yes | 1 | 1 | `https://tinystudio.io/pricing.html` | none |
| specimen.html (`/specimen`) | 200 | yes | 1 | 1 | `https://tinystudio.io/specimen.html` | none |

Homepage canonical served live, unchanged from the closeout receipt:

> `<link rel="canonical" href="https://tinystudio.io/">`

3. Deployment-lag note (honesty, not a canonical regression): the live
deployment lags current main by exactly the two newest commits — f9f0b0f
(footer attribution link on home) and 1cc7a4e (canonical/JSON-LD URL
cleanup on /audit) — so the live audit page still names the redirecting
`https://tinystudio.io/audit.html` form that PR #56 already corrected on
main to the clean `/audit`. Neither lagging commit touches the home page's
canonical; the address the finding flagged (home, `https://tinystudio.io/`)
is identical on main and live and was already served correctly at the
2026-08-09 closeout.

Finding 6631c0ab0454 ("Missing canonical URL on home") remains closed on the
code side (PR #29), in CI (`npm run check` guard), and against the deployed
site; this lane (2026-08-11) re-confirmed all three against current main and
found nothing further to change on the finding's page.
Loading