fix(public): point brief-requested nav and back links at clean non-307 paths - #145
Conversation
The post-signup /brief-requested page still linked its logo, nav and back link at the .html forms (index.html, audit.html, agents.html, pricing.html), each of which the worker 307-redirects to its clean extensionless twin — the same redirecting-internal-link fault PR #34 removed from the five public pages, left unfixed on the sixth surface. Point the five anchors at /, /audit, /agents, /pricing and extend the check-site.mjs internal-links guard (dogfood 996dffe45ef7) to cover the brief-requested page so the shape cannot return.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughThe ChangesClean URL validation
Estimated code review effort: 1 (Trivial) | ~5 minutes Mergeability Score: ⚪ Minimal · up to The post-signup page now uses clean navigation paths and validates them against regressions; no actionable merge-blocking risk remains after normal checks and review. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: edc128a55f
ℹ️ 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".
| ["pricing page", read("public/pricing.html")], | ||
| ["specimen page", read("public/specimen.html")] | ||
| ["specimen page", read("public/specimen.html")], | ||
| ["brief-requested page", read("public/brief-requested.html")] |
There was a problem hiding this comment.
Normalize root-relative URLs in the new link guard
When a future edit on this newly guarded page uses a root-relative redirecting URL such as href="/audit.html", the check still passes: target remains /audit.html, while htmlPageTargets only contains the bare audit.html key. This permits the same 307-producing link shape the guard claims to prevent; normalize leading / and ./ forms (or parse the pathname) before the lookup.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7fe35ee25b
ℹ️ 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".
| ["pricing page", read("public/pricing.html")], | ||
| ["specimen page", read("public/specimen.html")] | ||
| ["specimen page", read("public/specimen.html")], | ||
| ["brief-requested page", read("public/brief-requested.html")] |
There was a problem hiding this comment.
Add brief-requested.html to the forbidden targets
When any guarded page contains href="brief-requested.html", the check still passes because that target is absent from htmlPageTargets, even though the deployed .html URL redirects to /brief-requested. Adding this page only to internalLinkPages scans links originating from it; it does not guard links pointing to it. I confirmed this by inserting such an anchor into public/index.html and running npm run check, which still passed.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…8-14) PR #145 merged to main as f9214c1 (2026-08-14T09:42:02Z): brief-requested now serves the clean anchors and the internal-links guard covers the page. Update the receipt and lane report from "survivor verified, awaiting merge" to the landed closeout. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
…on current main and live (2026-08-14) (#188) * docs(evidence): re-verify brief-requested clean-links survivor PR #145 on current main and live (2026-08-14) The post-signup surface still carries the redirecting-.html fault the item names (verified live: all four .html hrefs 307 to their clean twins). The fix lives on the sole surviving delivery path PR #145, open and MERGEABLE against current origin/main with CI green; this receipt records the authoritative re-verify of that tree (check + 117 tests + negative probe) so the surface closes when #145 merges. Co-authored-by: CommandCodeBot <noreply@commandcode.ai> * docs(evidence): record the merged landing of survivor PR #145 (2026-08-14) PR #145 merged to main as f9214c1 (2026-08-14T09:42:02Z): brief-requested now serves the clean anchors and the internal-links guard covers the page. Update the receipt and lane report from "survivor verified, awaiting merge" to the landed closeout. Co-authored-by: CommandCodeBot <noreply@commandcode.ai> --------- Co-authored-by: nish3451 <nish3451@users.noreply.github.com> Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
…duals (#196) * docs(evidence): close the two post-#105 duplicate fix-PR cluster residuals Both residual clusters from the #105 reconciliation are in terminal state: cluster 1 (brief-requested clean links) merged via survivor #145 (f9214c1), cluster 2 (favicon) delivered via #85 and #113. Verified on this run that no open PR carries either fix, main carries both, checks/tests are green on a fresh main tree, and live /brief-requested serves no .html hrefs. Records the authoritative closeout of item f3c90474c1. Co-authored-by: CommandCodeBot <noreply@commandcode.ai> * docs(lane-report): note PR #196 delivery in closeout report Co-authored-by: CommandCodeBot <noreply@commandcode.ai> --------- Co-authored-by: nish3451 <nish3451@users.noreply.github.com> Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
What
The post-signup surface at
/brief-requested(public/brief-requested.html) still carries the redirecting-internal-link fault PR #34 removed from the five public pages: its logo, three nav links and the back link point at.htmlforms that the deployed worker 307-redirects to their clean extensionless twins (verified live 2026-08-12:/audit.html→ 307 →/audit, and the live page still serves all four.htmlhrefs):index.html→ 307 →//audit.html→ 307 →/audit/auditagents.html→ 307 →/agents/agentspricing.html→ 307 →/pricing/pricingindex.html→ 307 →//Why it slipped past the guard
The "Internal page links (dogfood 996dffe45ef7)" guard in
scripts/check-site.mjsonly covered the five public pages —brief-requested.htmlwas not ininternalLinkPages. This PR fixes the instance and the detector: the guard now includes the brief-requested page, and a negative probe confirmed it exits 1 if any.htmlpage-name anchor returns there.Re-land provenance
This is a re-land of the identical fix from PR #97 (
fix/brief-requested-clean-links, fix commitad5164e), cherry-picked onto currentorigin/main(5864e39). The re-landed commit's content lines are byte-identical to #97's fix commit (verified by diff); only hunk line numbers shifted because PR #113 (rel=icon favicon) landed since. #97 sat BEHIND current main since 2026-08-11 with ten main-merge commits, so per the repo's reconciliation pattern (docs/evidence/duplicate-open-pr-clusters-residual-2026-08-11.md) this clean re-land supersedes it and #97 is closed as the stale duplicate.Validation
npm run checkpasses ("TinyStudio.io checks passed.").npm testgreen: headings 6/6, sitemap 7/7, worker 55/55, UI 16/16, contract 8/8 (92 tests, 0 failures).rg -q 'href="[^"]*\.html' public/brief-requested.html→ no match.href="audit.html"(andhref="agents.html") makescheck-site.mjsexit 1 withInternal page link on brief-requested page must point at the clean destination "/audit"; passes again after restore.https://tinystudio.io/brief-requestedstill servesindex.html/audit.html/agents.html/pricing.html; each.htmlpath returns 307 to its clean twin — the fault this PR removes is live today.Files
public/brief-requested.html— five anchors pointed at clean pathsscripts/check-site.mjs— internal-links guard extended to cover the post-signup pageSummary by CodeRabbit