From 81608be1a7992bdf63d01dd9c73d11b40efdc775 Mon Sep 17 00:00:00 2001 From: minimax-vps Date: Fri, 21 Aug 2026 09:58:21 +0530 Subject: [PATCH] docs(evidence): re-verify /agents /pricing /specimen page-head self-declaration (2026-08-21, lane 1) The three pages' canonical, og:url and JSON-LD WebPage @id/url already self-declare the clean non-307 URLs on origin/main (PR #218, ed2b1a9, merged 2026-08-19) and npm run check enforces the shape. Live probes (2026-08-21) still show the pre-fix .html declarations on all three pages, plus other 2026-08-19 staleness on /pricing, so the remaining action is a redeploy of origin/main, not a source change. Co-authored-by: CommandCodeBot --- ...ehead-self-decl-reverify-lane1-20260821.md | 52 ++++++++++++ .../pagehead-self-decl-reverify-2026-08-21.md | 79 +++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 .lane/reports/fix-pagehead-self-decl-reverify-lane1-20260821.md create mode 100644 docs/evidence/pagehead-self-decl-reverify-2026-08-21.md diff --git a/.lane/reports/fix-pagehead-self-decl-reverify-lane1-20260821.md b/.lane/reports/fix-pagehead-self-decl-reverify-lane1-20260821.md new file mode 100644 index 00000000..24c54063 --- /dev/null +++ b/.lane/reports/fix-pagehead-self-decl-reverify-lane1-20260821.md @@ -0,0 +1,52 @@ +# Lane 1 report: /agents /pricing /specimen page-head self-declaration re-verify (2026-08-21) + +Item: "[unreviewed-by-opus] /agents, /pricing, /specimen page-head canonical ++ og:url + JSON-LD WebPage @id all self-decl" (item id `c6f9cf8040`). + +## Result + +Source: **already fixed and guarded on origin/main** (PR #218 / `ed2b1a9`, +merged 2026-08-19; preceded by `df69628` and `3ff1398`). All three pages +self-declare their clean URLs in canonical, `og:url`, and JSON-LD `WebPage` +`@id`/`url`. `npm run check` passes. + +Live: **still stale** — the deployed site serves the pre-fix `.html` head +declarations on exactly these three pages, verified 2026-08-21 with +cache-busted `curl` probes: + +``` +/agents -> canonical https://tinystudio.io/agents.html (og:url, @id same) +/pricing -> canonical https://tinystudio.io/pricing.html (og:url, @id same) +/specimen -> canonical https://tinystudio.io/specimen.html(og:url, @id same) +``` + +The live deployment is also stale on other 2026-08-19+ fixes (/pricing +band lost its signup form and footer still says "The Tiny Studio"), while +/audit and / serve correct clean canonicals — consistent with a deploy from +before the 2026-08-19 merge batch, or a partial deploy. + +## What this lane changed + +No source changes were needed or made. Evidence only: + +- `docs/evidence/pagehead-self-decl-reverify-2026-08-21.md` — full + re-verify receipt (source table, live table, probe method, staleness + markers). +- `.lane/reports/fix-pagehead-self-decl-reverify-lane1-20260821.md` — this + report. + +## Remaining action (outside this repo lane) + +Redeploy origin/main (`npm run deploy` — manual wrangler deploy per this +domain's convention). Until then the live site's three pages keep declaring +the redirecting `.html` forms, and the live /pricing page keeps its missing +form / stale footer. + +## Verification method + +- `git log` on origin/main: `ed2b1a9` is an ancestor of `origin/main` + (`git merge-base --is-ancestor ed2b1a9 origin/main` -> yes). +- `npm run check` on this worktree (origin/main `92d55c3`): "TinyStudio.io + checks passed." +- Live probes: `curl -s -H 'Cache-Control: no-cache'` for canonical / + og:url / JSON-LD on all three pages; `curl -sI` for the `.html` 307s. diff --git a/docs/evidence/pagehead-self-decl-reverify-2026-08-21.md b/docs/evidence/pagehead-self-decl-reverify-2026-08-21.md new file mode 100644 index 00000000..8fa799d7 --- /dev/null +++ b/docs/evidence/pagehead-self-decl-reverify-2026-08-21.md @@ -0,0 +1,79 @@ +# Page-head self-declaration on /agents, /pricing, /specimen — re-verify (2026-08-21) + +Item: "[unreviewed-by-opus] /agents, /pricing, /specimen page-head canonical + +og:url + JSON-LD WebPage @id all self-decl" (finding item `c6f9cf8040`, +lane-1 packet 2026-08-21). + +## What the item asks + +Each of the three appraisal pages must declare its own clean URL in all three +machine-readable head surfaces: + +- `` -> the page's clean extensionless URL +- `` -> the same clean URL +- JSON-LD `WebPage` `@id`/`url` -> the same clean URL (`@id` with `#webpage`) + +The clean forms are the addresses that serve 200; the `.html` twins 307 to +them, so declaring a `.html` form would hand search engines and social +scrapers a redirecting address. + +## Source state (origin/main @ 92d55c3, 2026-08-21) + +All three pages self-declare correctly in source. This was fixed by PR #218 +(commit `ed2b1a9`, "point appraisal-page canonicals and JSON-LD WebPage @ids +at the clean non-307 URLs", merged 2026-08-19), preceded by the lane-1 fix +commit `df69628` (2026-08-15) and its re-landing `3ff1398`. + +| Page | canonical | og:url | WebPage `@id` | WebPage `url` | +|---|---|---|---|---| +| /agents | `https://tinystudio.io/agents` | same | `https://tinystudio.io/agents#webpage` | `https://tinystudio.io/agents` | +| /pricing | `https://tinystudio.io/pricing` | same | `https://tinystudio.io/pricing#webpage` | `https://tinystudio.io/pricing` | +| /specimen | `https://tinystudio.io/specimen` | same | `https://tinystudio.io/specimen#webpage` | `https://tinystudio.io/specimen` | + +`npm run check` passes ("TinyStudio.io checks passed") on this worktree at +origin/main `92d55c3`. The canonical guard (`scripts/check-site.mjs`) asserts +exactly one canonical per page naming the clean URL, and the structured-data +guard asserts the `WebPage` `@id`/`url` bindings. + +## Live state (2026-08-21) + +The deployed site still serves the pre-fix `.html` self-declarations on +exactly these three pages: + +| Live URL | canonical | og:url | WebPage `@id` | WebPage `url` | +|---|---|---|---|---| +| `https://tinystudio.io/agents` | `https://tinystudio.io/agents.html` | same | `.../agents.html#webpage` | `https://tinystudio.io/agents.html` | +| `https://tinystudio.io/pricing` | `https://tinystudio.io/pricing.html` | same | `.../pricing.html#webpage` | `https://tinystudio.io/pricing.html` | +| `https://tinystudio.io/specimen` | `https://tinystudio.io/specimen.html` | same | `.../specimen.html#webpage` | `https://tinystudio.io/specimen.html` | + +Probed 2026-08-21 ~04:26 UTC with `curl -s -H 'Cache-Control: no-cache'` +against `https://tinystudio.io/{agents,pricing,specimen}`. The `.html` twins +307 to the clean forms (verified `curl -sI`), so the live pages' own +declarations point at addresses that redirect. + +The same probes show the deployment is stale beyond this item: + +- `/pricing` closing `.band` has no signup form (the `form.lead` fixed by PR + #194 / #219 is absent; only the heading, sub, note and CTA-less note + remain), and the footer still reads `The Tiny Studio` (fixed by #112). +- `/agents`, `/pricing`, `/specimen` all serve the old `.html` head + declarations (this item). +- `/audit` and `/` serve the correct clean canonicals, and the + `/brief-requested` page carries the apple-touch-icon — so the deployment + is not uniformly ancient; it appears to be a partial deploy (or one from a + branch that carried the newer /audit work but not the 2026-08-19 merge of + #218/#112). + +## Verdict + +The source fix for this item is complete and merged on origin/main; CI +guards (`npm run check`) enforce it. The item's fault is no longer present +in the repository. What remains is deployment staleness: the live site has +not been redeployed from current main, so it still serves the pre-fix head +declarations on /agents, /pricing and /specimen. + +No further source change is proposed by this lane. The lane report +(`.lane/reports/fix-pagehead-self-decl-reverify-lane1-20260821.md`) records +the same findings; a deploy of origin/main (`npm run deploy`, manual per the +domain's deployment convention) is the remaining action to make the live +site match the source.