Skip to content

fix(public): add in-content conversion CTA to the /specimen proof page - #107

Closed
nish3451 wants to merge 4 commits into
mainfrom
fix/specimen-conversion-cta
Closed

fix(public): add in-content conversion CTA to the /specimen proof page#107
nish3451 wants to merge 4 commits into
mainfrom
fix/specimen-conversion-cta

Conversation

@nish3451

@nish3451 nish3451 commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

What

The homepage routes its "Read the specimen" call-out to /specimen, but the proof page ended at the Confidentiality section with only the nav CTA to convert. A reader who finishes the sample report had no in-content next step.

Closes the backlog item: [unreviewed-by-grok] The /specimen proof page contains no in-content conversion CTA — the page the homepage routes.

Change

  • public/specimen.html: dark .band after the report (house pattern from /pricing and /agents) with an explicit .cta link to /#start ("Request the appraisal"), a copy line, and the standard no-guarantees note.
  • public/specimen.css: styles the band CTA as a pill with a >=44px hit area (the site's own tap-target standard).
  • public/specimen.js: include .band in the reveal-on-scroll selector (matches pricing/agents).
  • scripts/check-site.mjs: static source guard so the band, CTA link, note and 44px tap target cannot silently regress (repo convention: every fix carries a guard). Guard proven to fire on a mutated copy.
  • scripts/test-heading-hierarchy.mjs: locked specimen outline updated [1,2,2,2,2,3,2] -> [1,2,2,2,2,3,2,2] for the new h2.

Verification

  • npm run check: passed
  • npm test (all suites: headings, sitemap, contract, worker, ui): all pass
  • git diff --check: clean
  • Playwright at 1280x900 and 390x844: band renders after the report and before the footer on both, CTA visible with 46px hit area on both, no horizontal overflow on mobile.
  • CTA geometry: desktop {height: 46, width: 194}, mobile {height: 46, width: 194}.

Summary by CodeRabbit

  • New Features

    • Added an in-content appraisal call-to-action band with turnaround details, a request link, and a no-guarantees notice.
    • Added responsive styling, accessible tap-area spacing, hover/focus states, and reveal animation for the CTA.
  • Tests

    • Added regression checks for the CTA’s placement, content, styling, and accessibility requirements.
    • Updated heading hierarchy validation for the new section.

The homepage routes its 'Read the specimen' call-out to /specimen, but the
page ended at the Confidentiality section with only the nav CTA to convert.
A reader who finishes the sample report had no in-content next step.

Add a dark .band (house pattern from /pricing and /agents) after the report
with an explicit .cta link to /#start, a no-guarantees note, and a >=44px
tap target. Include .band in the specimen reveal-on-scroll selector, update
the locked heading outline (new h2), and guard the CTA shape in
check-site.mjs so it cannot silently regress.

@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 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 455852b3-328e-4f43-bb34-1be675ef64ec

📥 Commits

Reviewing files that changed from the base of the PR and between 1e78ecf and 8941a2f.

📒 Files selected for processing (5)
  • public/specimen.css
  • public/specimen.html
  • public/specimen.js
  • scripts/check-site.mjs
  • scripts/test-heading-hierarchy.mjs

📝 Walkthrough

Walkthrough

The specimen page adds an appraisal CTA band after the confidentiality section. It includes styling, reveal animation support, exact-link validation, tap-target checks, disclaimer checks, and an updated heading hierarchy expectation.

Changes

Specimen CTA

Layer / File(s) Summary
Add and animate the CTA band
public/specimen.html, public/specimen.css, public/specimen.js
The specimen page adds the appraisal CTA, its styling and interaction states, and reveal animation support for the band.
Validate CTA markup and heading structure
scripts/check-site.mjs, scripts/test-heading-hierarchy.mjs
Static checks require the CTA structure, target, disclaimer, styling, and tap-target padding. The expected heading outline includes the new h2.

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

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding an in-content conversion CTA to the /specimen proof page.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/specimen-conversion-cta

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.

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

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

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

nish3451 added a commit that referenced this pull request Aug 12, 2026
…(PR #22 conflict-locked, superseded by #28) against current GitHub state (2026-08-12) (#152)

Closes the review item "Two open PRs carry the same heading-hierarchy fix —
PR #22 is conflict-locked and superseded" (review queue, unreviewed-by-grok),
re-verified against the current GitHub state on 2026-08-12.

Verified facts (2026-08-12):
- PR #22 is CLOSED (2026-08-09), never merged, mergeStateStatus: DIRTY
  (conflict-locked) at close — the item's description was accurate.
- The superseding fix PR #28 is MERGED on main (2026-08-09, commit 7be3d8f);
  sibling duplicate #27 is also CLOSED.
- All 53 currently open PRs diff-reviewed: the only literal heading markup
  anywhere is one hierarchy-preserving h2 on /specimen in PR #107 (with its
  locked outline updated in scripts/test-heading-hierarchy.mjs) and one
  standalone h1 in PR #116's new closed-intake page — zero open PR retags
  an existing heading level, so no open PR duplicates the heading fix.
- Main has carried exactly one heading fix since 2026-08-09: the only
  heading-tag change since the merge is 2ae7504's two hierarchy-preserving
  homepage FAQ h3s (PR #102, locked outline updated). npm run check passes
  and npm test passes in full (test:headings 6/6) on current origin/main
  (ad9cee3).
- Site-side verification is current via docs/evidence/heading-hierarchy-2026-08-09.md
  (PR #74) with the 2026-08-12 re-verify in flight as PR #120.

Docs-only change; no code, no deployment.
nish3451 added a commit that referenced this pull request Aug 13, 2026
#155)

The homepage routes its 'Read the specimen' call-out to /specimen, but the
page ended at the Confidentiality section with only the nav CTA to convert.
A reader who finishes the sample report had no in-content next step.

Add a dark .band (house pattern from shared.css, as used on /pricing and
/agents) after the report with an explicit .cta link to /#start, a
no-guarantees note, and a >=44px tap target. Include .band in the specimen
reveal-on-scroll selector, update the locked heading outline (new h2), and
guard the CTA shape in check-site.mjs so it cannot silently regress.

Supersedes the conflict-locked PR #107 (fix/specimen-conversion-cta), which
carried the same change set but has been DIRTY against main since 2026-08-11.
@nish3451

Copy link
Copy Markdown
Collaborator Author

Closing: superseded by #155 (specimen CTA landed on main).

@nish3451 nish3451 closed this Aug 14, 2026
nish3451 added a commit that referenced this pull request Aug 14, 2026
…nt main and live (2026-08-14) (#195)

The review item "[unreviewed-by-opus] The /specimen proof page contains no
in-content conversion CTA" is already fixed: PR #155 (b81281f) landed the
.band conversion CTA on /specimen on 2026-08-14, superseding the
conflict-locked PR #107. This receipt re-verifies the fix against current
origin/main (2088b6b) and the live deployment (release 5c6521a): the band
CTA to /#start is on source, guarded by check-site.mjs, served live, and
covered by the passing test suite. No code change was needed.

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 14, 2026
… on current state (#203)

#107 closed 2026-08-14 (stale duplicate, conflict-locked since 2026-08-11);
#155 merged 2026-08-13 as b81281f and is on current main and live. The
specimen.html band hunks are byte-identical as the item states, and no open
PR carries the fix — the cluster is fully resolved.

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
…-107-155-lane1-2026-08-21

docs(evidence): reconcile the duplicate specimen-CTA PR #107/#155 cluster (2026-08-21, lane 1)
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