fix(public): repair heading hierarchy on audited pages - #18
Conversation
intended-outcome: remove H1-to-H3 heading jumps on the four dogfood-flagged public pages without changing visible copy or styling. verify: test-public-heading-hierarchy, npm run check, npm test, git diff --check; sgscan diff-only review found no changed-line findings. Co-Authored-By: Claude <noreply@anthropic.com>
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.
|
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 (6)
📝 WalkthroughWalkthroughSelected headings on four public pages change from H3 to H2. A Node.js validator checks heading hierarchy and runs through both the ChangesHeading hierarchy updates
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f5c556b73
ℹ️ 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".
| <div class="info-card"> | ||
| <p class="eyebrow">Managed service</p> | ||
| <h3>The Website Correction</h3> | ||
| <h2>The Website Correction</h2> |
There was a problem hiding this comment.
Preserve the prior presentation when changing heading levels
When these pages render with /styles.css, this semantic change also alters their presentation: h2 receives a much larger clamp(2.2rem, 4vw, 4.2rem) size, a 12ch maximum width, and a top margin (public/styles.css:212-216), while the previous h3 used clamp(1.65rem, 2vw, 2.35rem) and .info-card h3 had component-specific spacing (public/styles.css:218-220,703-705). Consequently, every converted card and strip heading across the four audited pages becomes substantially larger and narrower, causing extra wrapping and potentially taller cards; add an h2 component style or class that retains the previous visual treatment while fixing the semantic hierarchy.
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.
… leave the June-20 bundle (#81) * fix(public): add the tinystudio.in release lane (Cloudflare Pages deploy path repair) The live site has served the 2026-06-20 bundle (07acd07) since June 20 while 17+ public PRs merged to main; the Cloudflare Pages git connection for tiny-studio-3f5 never shows checks/statuses on commits and no deploy workflow or secrets exist in the repo. The fleet Workers token lacks Cloudflare Pages:Edit, so no automation on this box can publish today. Add an in-repo release lane that works the moment a Pages-scoped token is provisioned (documented fail-closed message): - scripts/prepare-public-deploy-bundle.mjs: filtered bundle (public/ minus the snoozed-by-Nish managed-service buyer path from PRs #10/#11; every other merged fix preserved), fail-closed in both directions - scripts/test-public-deploy-bundle.mjs: regression guard, wired into npm test/ci (62 checks) - scripts/publish-public-site.mjs: prepare -> wrangler pages deploy to tiny-studio-3f5 -> live verification - scripts/check-public-live-deploy.mjs: live proof for the deploy-path accept (H2-after-H1 /promptly/support/ #18/#20, JSON-LD /contact/ #19, real 404s #34, homepage portfolio-only #29 + no buyer path) - .github/workflows/deploy-public-site.yml: vps-verify lane on push to main - wrangler 4.120.0 devDependency verify: npm test (603 checks, 0 failures); node scripts/prepare-public-deploy-bundle.mjs; git diff --check * fix(public): attach the source commit to Cloudflare Pages deployments wrangler pages deploy accepts --commit-hash/--commit-message/--commit-dirty for dashboard provenance. The bundle already records source_commit in deploy-manifest.json; pass it through so the Pages dashboard links the deployment to the exact tinystudio-in commit that produced the bundle. verify: node --check scripts/publish-public-site.mjs; node scripts/test-public-deploy-bundle.mjs (62 checks, 0 failures) Co-authored-by: CommandCodeBot <noreply@commandcode.ai> --------- Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
…y finding The 2026-08-08 dogfood finding "Heading hierarchy needs cleanup on /contact" (finding 52753880dfc7) was repaired in source by PR #18 (card headings promoted from H3 to H2, outline H1 -> H2s -> H3s with no jumps), and scripts/test-public-heading-hierarchy.mjs guards the worktree HTML. But the live site still serves the June-20 bundle: the deployed /contact/ page jumps H1 -> H3 (live outline [1,3,3,3,2,3,3,3]) and the deployed stylesheet keeps the old .info-card h3-only rule, so the finding silently stays open against tinystudio.in. Land the live guard following the fleet's live-guard pattern: - scripts/test-public-live-contact-heading-hierarchy.mjs (new): fetches the deployed /contact/ and /styles.css, then re-asserts the repaired outline (exactly one H1 first, three H2 card titles inside .info-card, flat H2 band before footer H3s, no heading-level jump greater than one) and the shared .info-card :is(h2, h3) rule at the former card scale. - Wired as npm run site:check-live-contact-heading-hierarchy and into the nightly live-site-check.yml staleness alarm. Deliberately NOT part of npm run test / npm run ci - blocking chains stay green on repo state alone, same convention as the soft-404 guard. - scripts/check-public-live-deploy.mjs: the deploy lane's post-deploy acceptance now also asserts H2-after-H1 on /contact/, so the moment the Pages token is provisioned and the lane publishes, the live repair is verified as part of deploy acceptance. - Network-tolerant: skips when the site is unreachable; fails loudly when the deployment serves stale pages. verify: node scripts/test-public-heading-hierarchy.mjs green; guard fails loudly on the current stale deployment; SKIP_LIVE_CHECKS=1 exit 0; git diff --check clean
…y finding (#119) The 2026-08-08 dogfood finding "Heading hierarchy needs cleanup on /contact" (finding 52753880dfc7) was repaired in source by PR #18 (card headings promoted from H3 to H2, outline H1 -> H2s -> H3s with no jumps), and scripts/test-public-heading-hierarchy.mjs guards the worktree HTML. But the live site still serves the June-20 bundle: the deployed /contact/ page jumps H1 -> H3 (live outline [1,3,3,3,2,3,3,3]) and the deployed stylesheet keeps the old .info-card h3-only rule, so the finding silently stays open against tinystudio.in. Land the live guard following the fleet's live-guard pattern: - scripts/test-public-live-contact-heading-hierarchy.mjs (new): fetches the deployed /contact/ and /styles.css, then re-asserts the repaired outline (exactly one H1 first, three H2 card titles inside .info-card, flat H2 band before footer H3s, no heading-level jump greater than one) and the shared .info-card :is(h2, h3) rule at the former card scale. - Wired as npm run site:check-live-contact-heading-hierarchy and into the nightly live-site-check.yml staleness alarm. Deliberately NOT part of npm run test / npm run ci - blocking chains stay green on repo state alone, same convention as the soft-404 guard. - scripts/check-public-live-deploy.mjs: the deploy lane's post-deploy acceptance now also asserts H2-after-H1 on /contact/, so the moment the Pages token is provisioned and the lane publishes, the live repair is verified as part of deploy acceptance. - Network-tolerant: skips when the site is unreachable; fails loudly when the deployment serves stale pages. verify: node scripts/test-public-heading-hierarchy.mjs green; guard fails loudly on the current stale deployment; SKIP_LIVE_CHECKS=1 exit 0; git diff --check clean
… PR #18, live blocked on missing Cloudflare token (#169) The dogfood finding "Heading hierarchy needs cleanup on /contact" (52753880dfc7) was repaired in source by PR #18 (commit 71a20a4, "fix(public): repair heading hierarchy on audited pages"): the three .info-card card headings were promoted from H3 to H2, giving the outline H1 -> H2s -> H3 footer columns with no jumps. scripts/test-public-heading-hierarchy.mjs pins the repaired outline (93 checks, 0 failures locally), and scripts/test-public-live-contact-heading-hierarchy.mjs guards the deployed page (nightly live-site-check workflow). Re-verified live: tinystudio.in/contact/ still serves the stale June-20 bundle (H1 -> H3 H3 H3), not because of any source defect but because CLOUDFLARE_API_TOKEN is missing from repo secrets and the deploy workflow fails closed at the "Required Pages secrets not provisioned" step (runs 31842883261, 31839437264, 31837007159 all failed; every main-merge deploy since 2026-06-20 fails identically). Provisioning that token is a Nish action outside this lane's scope; this report documents the verification. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
intended-outcome: Remove the dogfood-reported H1-to-H3 jumps from /contact, /promptly, /promptly/privacy, and /drishti while preserving visible copy, IDs, classes, links, and styling.
verify: The new focused test fails on the pre-fix pages (4 H1-to-H3 failures) and passes after the fix (18 checks).
npm run checkandnpm testpass through test-gate;git diff --checkis clean. sgscan diff-only review reports 0 changed-line findings; its remaining warnings are baseline-only.Scope: PR-only. No deploy, merge, dependency, auth, payment, lead/customer, migration, pricing, or legal-copy changes.
Summary by CodeRabbit
Accessibility
Quality Improvements