Skip to content

docs(evidence): re-verify canonical-URL finding 6631c0ab0454 against current main and live (2026-08-20, lane 1) - #248

Merged
nish3451 merged 34 commits into
mainfrom
docs/canonical-rereverify-2026-08-20
Aug 21, 2026
Merged

docs(evidence): re-verify canonical-URL finding 6631c0ab0454 against current main and live (2026-08-20, lane 1)#248
nish3451 merged 34 commits into
mainfrom
docs/canonical-rereverify-2026-08-20

Conversation

@nish3451

@nish3451 nish3451 commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Re-verify the canonical-URL finding 6631c0ab0454 ('Missing canonical URL on home') against current origin/main head d0daea9 and the deployed site.

The finding has been closed since 2026-08-09 by PR #29 and re-verified on 2026-08-09, 08-11 (twice), 08-12, 08-13, 08-14 and 08-17. This PR appends the 2026-08-20 re-verification section to docs/evidence/canonical-urls-2026-08-09.md against head d0daea9.

Three checks:

  1. Source + CI: full test chain passes on d0daea9. The 'Canonical URLs (dogfood)' guard in scripts/check-site.mjs still enforces exactly one non-commented inside per page with a non-empty href pointing at the page's canonical https://tinystudio.io address (home: https://tinystudio.io/, audit: /audit, agents: /agents, pricing: /pricing, specimen: /specimen) and no URL duplicated across pages. PR fix(public): point appraisal-page canonicals and JSON-LD WebPage @ids at the clean non-307 URLs #218 extended the guard to the clean extensionless addresses for the three appraisal pages, so the source-side guarantee is strictly stronger than at the 08-17 receipt.
  2. Live: headless Chromium (Playwright 1.62.1) measurement of the deployed site. All six served pages return 200 with a CSP header, each serves exactly one canonical link in document.head and one across the whole document, no console or page errors, six distinct hrefs. Home serves — unchanged from every prior receipt. The .html forms still 307 to their clean twins and www. still 301s to the apex the home canonical names.
  3. Deployment parity: home canonical is byte-identical live vs source. PR fix(public): point appraisal-page canonicals and JSON-LD WebPage @ids at the clean non-307 URLs #218 (ed2b1a9) cleaned the canonicals on /agents, /pricing, /specimen from the redirecting .html forms to the clean extensionless addresses; source on origin/main matches the guard, but the live deployment still serves the .html-form canonicals on those three pages — a deployment lag, not a source regression. The home finding is unaffected by that lag.

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-20) re-confirmed all three against current main and live and found nothing further to change on the finding's page.

Files touched:

  • docs/evidence/canonical-urls-2026-08-09.md: append 2026-08-20 re-verification section.
  • .lane/reports/docs-canonical-rereverify-2026-08-20.md: new lane report.

Greptile Summary

This documentation-only PR appends an August 20 re-verification of the home-page canonical URL and adds the corresponding lane report.

  • Records source, CI, live-site, and deployment-parity checks.
  • Notes that three appraisal pages remain behind the current source deployment.
  • Contains two non-blocking evidence-quality issues: an omitted test-chain entry and an overbroad source/deployment parity claim.

Confidence Score: 4/5

The PR appears safe to merge after addressing two non-blocking documentation inaccuracies in the lane report.

Production behavior is unchanged, but the new report incompletely records the executed test chain and overstates the parity guaranteed between repository source and separately deployed static assets.

Files Needing Attention: .lane/reports/docs-canonical-rereverify-2026-08-20.md

Important Files Changed

Filename Overview
.lane/reports/docs-canonical-rereverify-2026-08-20.md Adds the lane receipt, but its test list omits the study check and its limitation section contradicts the documented deployment lag.
docs/evidence/canonical-urls-2026-08-09.md Appends a detailed re-verification section that records the complete direct test chain and current live canonical measurements.

Fix all with Greploop Fix All in Claude Code Fix All in Codex Fix All in Cursor

Prompt To Fix All With AI
### Issue 1
.lane/reports/docs-canonical-rereverify-2026-08-20.md:17-24
**Full test chain is incomplete**

The report says every script in the `npm test` chain ran directly, but its command summary omits `node --test scripts/test-study-freshness.mjs`. This leaves the verification receipt unable to demonstrate that the independently failing study-freshness check ran.

### Issue 2
.lane/reports/docs-canonical-rereverify-2026-08-20.md:111-114
**Source parity guarantee is overstated**

Serving deployed assets verbatim does not guarantee that current repository source matches the separately deployed asset version. The report itself records this exact drift on three pages, so this statement can incorrectly present source-only CI as sufficient to establish live parity.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "docs(evidence): re-verify canonical-URL ..." | Re-trigger Greptile

Greptile also left 2 inline comments on this PR.

…current main and live (2026-08-20, lane 1)

Re-verify on origin/main d0daea9: home canonical (<link rel="canonical"
href="https://tinystudio.io/">) is byte-identical to every prior receipt,
the 'Canonical URLs (dogfood)' guard in scripts/check-site.mjs passes the
full npm test chain, the live site serves the same home canonical with no
console or page errors on six served pages, and PR #218 extended the guard
to the clean extensionless addresses for /agents, /pricing, /specimen —
strengthening the source-side guarantee the finding rests on. The home
finding 6631c0ab0454 remains closed on the code side, in CI, and against
the deployed site; only change in this PR is the standing receipt and the
new lane report. Records the deployment lag on PR #218 (live /agents,
/pricing, /specimen still serve the .html-form canonicals) as a separate
ship item.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nish3451, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 25 minutes

Limit details: You’ve used the included review currently available.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: b36f609b-823d-4353-bd15-a90f29366581

📥 Commits

Reviewing files that changed from the base of the PR and between aba2e5b and ee4ef39.

📒 Files selected for processing (2)
  • .lane/reports/docs-canonical-rereverify-2026-08-20.md
  • docs/evidence/canonical-urls-2026-08-09.md

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/settings/billing.

Comment @coderabbitai help to get the list of available commands.

Comment on lines +17 to +24
the chain ran directly: `node scripts/check-site.mjs` →
"TinyStudio.io checks passed"; headings 6/6, sitemap 7/7, worker 80/80,
ui 16/16, contract 8/8, first-viewport 4/4, narrow-pages 34/34 rows PASS,
narrow 11/11 rows PASS. The "Canonical URLs (dogfood)" guard
(`scripts/check-site.mjs`, lines ~1893-1934) still enforces exactly one
non-commented `<link rel="canonical">` inside `<head>` per page, a
non-empty href pointing at the page's canonical `https://tinystudio.io`
address (home: `https://tinystudio.io/`, audit: `https://tinystudio.io/audit`,

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 Full test chain is incomplete

The report says every script in the npm test chain ran directly, but its command summary omits node --test scripts/test-study-freshness.mjs. This leaves the verification receipt unable to demonstrate that the independently failing study-freshness check ran.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .lane/reports/docs-canonical-rereverify-2026-08-20.md
Line: 17-24

Comment:
**Full test chain is incomplete**

The report says every script in the `npm test` chain ran directly, but its command summary omits `node --test scripts/test-study-freshness.mjs`. This leaves the verification receipt unable to demonstrate that the independently failing study-freshness check ran.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude Code Fix in Codex Fix in Cursor

Comment on lines +111 to +114
CI gate. What prevents regression in CI is the source-string guard in
`scripts/check-site.mjs`; the served pages are the static files verbatim
through the Worker's ASSETS binding, so source and served bytes cannot drift
unless the Worker's asset serving changes.

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 Source parity guarantee is overstated

Serving deployed assets verbatim does not guarantee that current repository source matches the separately deployed asset version. The report itself records this exact drift on three pages, so this statement can incorrectly present source-only CI as sufficient to establish live parity.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .lane/reports/docs-canonical-rereverify-2026-08-20.md
Line: 111-114

Comment:
**Source parity guarantee is overstated**

Serving deployed assets verbatim does not guarantee that current repository source matches the separately deployed asset version. The report itself records this exact drift on three pages, so this statement can incorrectly present source-only CI as sufficient to establish live parity.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude Code Fix in Codex Fix in Cursor

nish3451 and others added 26 commits August 20, 2026 23:01
…ne report

- Add 'study-freshness pass' to the npm-test chain command summary so the
  receipt records every script that ran (test-study-freshness.mjs was the
  omission Greptile flagged).
- Tighten the Limitation section: source and served bytes CAN drift when a
  commit lands on main but its static assets have not yet been redeployed
  to the Worker. Reference the same PR #218 deployment lag the report
  records on /agents, /pricing, and /specimen as the live example.
@nish3451
nish3451 merged commit ed69cab into main Aug 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant