Skip to content

fix(public): stop /agent-desk claiming the apex root as canonical - #138

Closed
nish3451 wants to merge 2 commits into
mainfrom
fix/agent-desk-canonical-off-apex
Closed

fix(public): stop /agent-desk claiming the apex root as canonical#138
nish3451 wants to merge 2 commits into
mainfrom
fix/agent-desk-canonical-off-apex

Conversation

@nish3451

Copy link
Copy Markdown
Collaborator

The item

/agent-desk claims the apex root as its canonical, but the root is a live page (The Website Appraisal homepage). The retired Agent Desk page (public/agent-desk.html) declared the homepage URL as its <link rel="canonical"> and og:url, so a noindex page canonicalized to a live page — telling Google the legacy surface is a duplicate of the homepage and re-consolidating the retired title/snippet onto tinystudio.io (the consolidation the de-indexing pass in agent-desk-retired-title-2026-08-09.md exists to stop).

What changed

  • public/agent-desk.html: canonical + og:url move from the apex root (https://tinystudio.io/) to the page’s own served address https://tinystudio.io/agent-desk.html. The page is still served at both /agent-desk and /agent-desk.html (worker PUBLIC_ASSET_PATHS), with no redirect and no removal — old deep links keep working.
  • scripts/check-site.mjs: the Retired Agent Desk index guard now fails npm run check if the canonical or og:url ever regresses to the apex root (a noindex page canonicalizing to a live page must never return). Verified: reverting the canonical to the apex root fails the check with both guard messages.

Verification

  • npm run check green
  • npm test green (6 headings + 7 sitemap + 55 worker + 16 UI + 8 contract = 92 subtests)
  • Guard regression verified: restoring the apex canonical/og:url fails the check loudly

Closes the lane-1 item "Stop /agent-desk from claiming the apex root as its canonical — the live legacy surface still serves the root."

The retired Agent Desk page declared the homepage URL as its canonical and
og:url, so a noindex page canonicalized to a live page - telling Google the
legacy surface is a duplicate of the homepage and re-consolidating the
retired title/snippet onto tinystudio.io. The canonical and og:url now name
the page's own served address, https://tinystudio.io/agent-desk.html, and
check-site.mjs fails if either ever regresses to the apex root.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Aug 12, 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: 33 minutes

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?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b7039ee9-d4c8-4ee7-85d6-62c9a5391b95

📥 Commits

Reviewing files that changed from the base of the PR and between ad9cee3 and 1eb7b0d.

📒 Files selected for processing (2)
  • public/agent-desk.html
  • scripts/check-site.mjs

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

@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

https://github.com/nish3451/TinyStudio.io/blob/6889d4ea3d03c9827aeeb86ab687fbb8d39ee415/public/agent-desk.html#L18-L19
P2 Badge Use the non-redirecting URL for Agent Desk metadata

With the current Cloudflare ASSETS routing, .html requests are 307-redirected to their extensionless twins, as the existing canonical guard documents in scripts/check-site.mjs lines 1565-1567. Consequently, both tags now advertise https://tinystudio.io/agent-desk.html, which redirects to /agent-desk, rather than the page's final 200 URL; this preserves the canonical redirect problem that the change is intended to eliminate. Use the extensionless URL for both tags and update the newly added guard accordingly.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1eb7b0d755

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread public/agent-desk.html
Comment on lines +18 to +19
<meta property="og:url" content="https://tinystudio.io/agent-desk.html" />
<link rel="canonical" href="https://tinystudio.io/agent-desk.html" />

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 Canonicalize to the non-redirecting Agent Desk URL

In production, the static-assets layer 307-redirects .html page URLs to their extensionless twins, as documented by the existing canonical contract in scripts/check-site.mjs:1569-1572. Consequently, both new tags identify a redirect rather than the 200-serving /agent-desk URL, and the new checker also locks in that conflicting signal. Use https://tinystudio.io/agent-desk for the canonical and og:url instead.

Useful? React with 👍 / 👎.

@nish3451

Copy link
Copy Markdown
Collaborator Author

Closing as the stale duplicate in the agent-desk-canonical PR reconciliation (see docs/evidence/agent-desk-canonical-pr-reconcile-2026-08-12). PR #105 (duplicate-open-pr-clusters-2026-08-11) already declared #91 the surviving delivery path for the retired Agent Desk canonical/og:url fix, and this branch was opened after that declaration without it. #91 carries the byte-identical public/agent-desk.html change (canonical + og:url -> https://tinystudio.io/agent-desk.html); this branch's shorter check-site.mjs guard enforces the same invariants (exactly one canonical naming the page's own address; og:url naming the page's own address). #91 has since been refreshed onto current origin/main (merge 333099f, npm run check + npm test green) and is MERGEABLE — the single delivery path.

@nish3451 nish3451 closed this Aug 12, 2026
nish3451 added a commit that referenced this pull request Aug 21, 2026
… current main and live (2026-08-21, lane 1) (#276)

Item ba5fb5fb58: the THREE agent-desk-canonical PRs #91/#131/#138 are
no longer a duplicate open-PR cluster — #131 and #138 were closed by
PR #157 on 2026-08-12, the substantive fix is on origin/main head
92d55c3 via PR #229 (commit 798cd71, merged 2026-08-17), and the
canonical <link rel="canonical" href="https://tinystudio.io/agent-desk">
plus matching <meta property="og:url"> are present on source and live,
md5-for-md5 (3310f720f1b9234970327ba35c52da94). Re-verification on the
current head shows no code change is needed.

This receipt is process evidence — a state verification of the
repository's pull requests plus a reconciliation-history re-verify —
not a live-index measurement. The dispatch item's trailing token
"#105's declared survivor #9" reads "#91" in the backlog source and
in the pr/postmerge-198 snapshot; the typo is in the dispatch only.

Co-authored-by: minimax-vps <minimax-vps@local>
Co-authored-by: minimax-vps <minimax-vps@users.noreply.github.com>
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