Skip to content

fix(public): point llms.txt and offer.md buyer URLs at the clean non-307 paths - #202

Merged
nish3451 merged 6 commits into
mainfrom
fix/llms-offer-clean-buyer-urls-lane1
Aug 14, 2026
Merged

fix(public): point llms.txt and offer.md buyer URLs at the clean non-307 paths#202
nish3451 merged 6 commits into
mainfrom
fix/llms-offer-clean-buyer-urls-lane1

Conversation

@nish3451

@nish3451 nish3451 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

What

The deployed worker 307-redirects every .html form to its clean extensionless twin, so the buyer URLs in the machine-readable pair (public/llms.txt, public/offer.md) named addresses that redirect before they serve. Point them at the clean paths that serve 200:

  • https://tinystudio.io/audit.htmlhttps://tinystudio.io/audit
  • https://tinystudio.io/pricing.htmlhttps://tinystudio.io/pricing

Changed in both files: the AI-search evidence artifact pointer, all preferred-source mappings (q2/q3/q4/q6/q7), and the price-and-terms pointers.

Guard updates

  • scripts/check-site.mjs: the offer-fact needle, the price-question preferred-source guard, the audit evidence-artifact pointer guard, and the surrounding comments/messages now require the clean forms.
  • scripts/test-agent-ui.mjs: the offer-fact needle, the served-pages membership list, the price-question mapping assertion, and the audit/pricing pointer assertions now require the clean forms.

Verification

  • Live 2026-08-14: curl -sI https://tinystudio.io/audit.html → 307 → /audit; https://tinystudio.io/audit → 200. Same shape for /pricing.
  • npm run check passes ("TinyStudio.io checks passed.").
  • npm test green: 117 tests, 0 failures. Only out-of-scope note is the pre-existing mobile viewport scrollWidth on / (does not gate exit; identical on origin/main).
  • Item verify: no pricing.html/audit.html buyer-URL references remain in public/llms.txt or public/offer.md.

Re-land provenance

This is a re-land of the identical fix from PR #57 (fix/llms-offer-clean-buyer-urls, fix commit d187f48), cherry-picked onto current origin/main (e36d6ca). #57 sat behind current main since 2026-08-10; per the repo's reconciliation pattern (docs/evidence/duplicate-open-pr-clusters-residual-2026-08-11.md) this clean re-land supersedes it. The re-landed fix content is the twin's, with main's additive drift (q8-conversion-audit row, conversion-audit paragraph) preserved.

Files

  • public/llms.txt — audit/pricing buyer URLs → clean /audit, /pricing
  • public/offer.md — audit/pricing buyer URLs → clean /audit, /pricing
  • scripts/check-site.mjs — guard expectations moved to the clean forms
  • scripts/test-agent-ui.mjs — test expectations moved to the clean forms

Summary by CodeRabbit

  • Improvements

    • Updated audit and pricing links to use cleaner extensionless URLs, such as /audit and /pricing.
    • Improved content and navigation consistency across public site resources.
  • Bug Fixes

    • Updated site validation and interface checks to recognize the new clean routes.
    • Added validation to prevent outdated or repetitive pricing and offer terminology in linked content.

nish3451 and others added 2 commits August 14, 2026 21:43
…307 paths

The deployed worker 307-redirects every .html form to its clean
extensionless twin, so the machine-readable pair's buyer URLs named
addresses that redirect before they serve. Point the audit and pricing
URLs at https://tinystudio.io/audit and https://tinystudio.io/pricing
(the addresses that serve 200) and move the check-site and agent-ui
guard expectations to match.
@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.

@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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 26 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: Free

Run ID: e62bbf6a-38c0-4331-b153-d8f388d9c8e7

📥 Commits

Reviewing files that changed from the base of the PR and between 09c2d16 and 4182756.

📒 Files selected for processing (2)
  • public/llms.txt
  • public/offer.md
ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: 02ce46be-c9a7-4996-9055-2d037365b8ea

📥 Commits

Reviewing files that changed from the base of the PR and between d981610 and 09c2d16.

📒 Files selected for processing (5)
  • .lane/reports/fix-llms-offer-clean-buyer-urls-lane1.md
  • public/llms.txt
  • public/offer.md
  • scripts/check-site.mjs
  • scripts/test-agent-ui.mjs

📝 Walkthrough

Walkthrough

The change replaces selected .html buyer URLs with extensionless /pricing and /audit routes in public artifacts, site checks, and agent UI tests. The lane report records verification results and existing viewport notes.

Changes

Clean buyer URL updates

Layer / File(s) Summary
Update public buyer artifacts
.lane/reports/..., public/llms.txt, public/offer.md
Public pricing and audit references now use /pricing and /audit.
Align site validation
scripts/check-site.mjs
Site checks and validation messages now require or describe the clean pricing and audit routes.
Update UI and content tests
scripts/test-agent-ui.mjs
Tests now validate clean served routes and require both public artifacts to link to /pricing without disallowed pricing terminology.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 09c2d

The change updates buyer URLs and matching validation guards to use the deployed clean paths; no actionable merge-blocking risk remains beyond normal checks and review.


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/login.

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

@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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@nish3451
nish3451 merged commit c447585 into main Aug 14, 2026
3 checks passed
nish3451 added a commit that referenced this pull request Aug 15, 2026
…ainst current main and live (2026-08-15)

The preferred-source declaration (PR #42, extended by PR #102's q8) still
holds on the current head: npm run check passes with the "AI Answer
Readiness (dogfood 4473a99a9bc9)" guard enforcing section presence,
exactly-one-page coverage for all eight controlled questions, served-page
membership, pricing-page ownership for q2/q7, and the offer.md mirror,
and the full test suite passes (121 tests, 0 failures). Two commits since
the 2026-08-14 receipt touched llms.txt/offer.md — #193 extended the
conversion-audit bridge statement, and #202 re-pointed the mappings from
the 307-redirecting .html addresses to the clean extensionless addresses
that serve 200 (/pricing, /audit) — neither regressed the declaration.
Fresh live fetches on 2026-08-15 show llms.txt and offer.md serve the
identical eight-question mapping byte-for-byte, every mapped page serves
200 and is in the live sitemap, the homepage identity block still answers
all eight questions with no retired Agent Desk framing, and the audit-page
embed still matches the fixture. The finding stays closed with no code
change.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
nish3451 added a commit that referenced this pull request Aug 15, 2026
…ainst current main and live (2026-08-15) (#226)

The preferred-source declaration (PR #42, extended by PR #102's q8) still
holds on the current head: npm run check passes with the "AI Answer
Readiness (dogfood 4473a99a9bc9)" guard enforcing section presence,
exactly-one-page coverage for all eight controlled questions, served-page
membership, pricing-page ownership for q2/q7, and the offer.md mirror,
and the full test suite passes (121 tests, 0 failures). Two commits since
the 2026-08-14 receipt touched llms.txt/offer.md — #193 extended the
conversion-audit bridge statement, and #202 re-pointed the mappings from
the 307-redirecting .html addresses to the clean extensionless addresses
that serve 200 (/pricing, /audit) — neither regressed the declaration.
Fresh live fetches on 2026-08-15 show llms.txt and offer.md serve the
identical eight-question mapping byte-for-byte, every mapped page serves
200 and is in the live sitemap, the homepage identity block still answers
all eight questions with no retired Agent Desk framing, and the audit-page
embed still matches the fixture. The finding stays closed with no code
change.

Co-authored-by: nish3451 <nish3451@users.noreply.github.com>
Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
nish3451 added a commit that referenced this pull request Aug 15, 2026
…nt main and live (2026-08-15) (#231)

The 44px tap-target fix (PR #48, extended by #70) still holds on the
current head: npm run check passes with the tap-target guard pinning the
>=44px rules in all five stylesheets, and the full test suite passes (242
tests, 0 failures), including the narrow-viewport Chromium regressions
from #174 and #176. Since the 2026-08-14 receipt (base 7ad776a), three
commits touched the surface: #176 and #174 (index.css/shared.css
layout-only changes that did not move any tap-target rule) and #202/#193
(llms.txt/offer.md text and URLs only). Fresh headless-Chromium
full-element sweeps at 390x844 on a local static copy of public/ and on
the live deployment show every standalone interactive element on all
seven served pages is >=44px in height and width (logo 50, nav links 45,
nav CTA 47, lead CTA 44, footer links 44-45, .back 45, in-content CTAs
46, Agent Desk controls 44-65.2); the only sub-44px elements are inline
text links inside sentences (.xa1/.xi19/.xp1), exempt under the WCAG
2.5.8/2.5.5 Inline exception and intentionally excluded. All seven live
pages serve 200 and match main element-for-element. The finding stays
closed with no code change.

Co-authored-by: nish3451 <nish3451@users.noreply.github.com>
Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
nish3451 added a commit that referenced this pull request Aug 21, 2026
…nt main and live (2026-08-21, lane 1, item 7a215e4e7a) (#279)

The closed twin's fix PR #57 (commit d187f48, 'fix(public): point llms.txt
and offer.md buyer URLs at the clean non-307 paths') was re-landed and
merged to origin/main as PR #202 (squash c447585, 2026-08-15). This
lane-1 closeout re-verifies the survivor tree authoritatively against
current origin/main (92d55c3) and the live deployment:

- public/llms.txt and public/offer.md both point every buyer URL at the
  clean form (/audit, /pricing) that serves 200; live md5 matches the
  worktree copy of both files.
- /audit.html and /pricing.html still 307 to their clean twins (worker
  behavior unchanged from the twin's fix); /audit and /pricing serve 200.
- The check-site and agent-ui guards require the clean form; a one-line
  revert (pricing.html) makes node scripts/check-site.mjs exit 1 with
  the named guard message; restore passes.
- PR #57 closed 2026-08-15 with a comment naming survivor #202; the
  cluster is reconciled.

No code change on this branch — opening a duplicate of PR #202 would
recreate the duplicate open-PR cluster the fleet reconciled. The two
remaining 'pricing.html' strings in llms.txt:6 and offer.md:3 are
prose file-name references, not buyer URLs, and are outside the twin's
fix scope (touched independently on branch growth/geo-llms-pricing-clean-b,
origin/pr/275).

Files:
- docs/evidence/llms-offer-clean-buyer-urls-rereverify-2026-08-21-lane1.md (new evidence receipt)
- .lane/reports/chore-llms-offer-clean-buyer-urls-rereverify-lane1-2026-08-21.md (lane-1 closeout)

Co-authored-by: minimax-vps <minimax-vps@local>
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