From 1ca28b87260623e908dad25209e9ece9289c2720 Mon Sep 17 00:00:00 2001 From: nish3451 Date: Fri, 14 Aug 2026 18:31:09 +0530 Subject: [PATCH] docs(evidence): re-verify specimen in-content conversion CTA on current main and live (2026-08-14) 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: CommandCodeBot --- ...en-in-content-cta-rereverify-2026-08-14.md | 80 ++++++++++++ ...en-in-content-cta-rereverify-2026-08-14.md | 117 ++++++++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 .lane/reports/specimen-in-content-cta-rereverify-2026-08-14.md create mode 100644 docs/evidence/specimen-in-content-cta-rereverify-2026-08-14.md diff --git a/.lane/reports/specimen-in-content-cta-rereverify-2026-08-14.md b/.lane/reports/specimen-in-content-cta-rereverify-2026-08-14.md new file mode 100644 index 00000000..730a6d12 --- /dev/null +++ b/.lane/reports/specimen-in-content-cta-rereverify-2026-08-14.md @@ -0,0 +1,80 @@ +# Lane 1 — specimen in-content conversion CTA — re-verification (2026-08-14) + +Lane: tinystudio-io lane 1 +Branch: `fix/specimen-in-content-cta-rereverify-2026-08-14` +Item: `94ec723c9e` — "[unreviewed-by-opus] The /specimen proof page contains +no in-content conversion CTA — the page the homepage routes" + +## Outcome + +**Closed. The /specimen proof page already carries an in-content conversion +CTA on `origin/main` and on the live site — the fix landed in PR #155 +(`b81281f`, merged 2026-08-14), superseding the conflict-locked PR #107. No +code change was needed; this lane re-verified the fix against the current +head and the live deployment of that head, and recorded the closeout +evidence.** + +## Verification performed + +1. **Fix commit on current main** — `git merge-base --is-ancestor b81281f + origin/main` → true; `origin/main` head is `2088b6b` (2026-08-14). + PR #155's message explains it superseded the conflict-locked PR #107, + which had carried the same change set since 2026-08-11 without landing. +2. **Fix commit in the deployed release** — the fleet deployment pin + (`release-state-tinystudio-io.json`) records the live Worker release at + sha `5c6521a` (2026-08-14); `git merge-base --is-ancestor b81281f + 5c6521a` → true. +3. **Source: the band CTA exists** — `public/specimen.html` lines 134-139 + carry the `.band` block with `Request the + appraisal` and the no-guarantees note between the report and the + footer. The homepage routes to this page: `public/index.html` line 250 + `Read the specimen →`. +4. **Source: CI guard exists** — `scripts/check-site.mjs` lines 1785-1812 + ("Specimen in-content conversion CTA") fail the build if the band, its + CTA to `/#start`, the no-guarantees note, `.band .cta` styling, or the + >=44px tap target (`padding:16px 24px`) regress. +5. **Site-wide checker** — `npm run check` → exit 0; "TinyStudio.io checks + passed." +6. **Full test suite** — `npm test` → exit 0: headings 6/6, sitemap 7/7, + agent-worker 76/76, agent-UI 8/8, product-contract 16/16, viewport 4/4, + narrow-viewport 4/4 owned routes (the only reported item is the + pre-existing, out-of-scope `/` overflow at 240px/260px, which does not + gate the exit code). +7. **Live site** — `GET https://tinystudio.io/specimen` → HTTP 200; the + served HTML carries the band CTA (two "Request the appraisal" + occurrences — nav and in-content band). `GET + https://tinystudio.io/specimen.html` → HTTP 307 → `/specimen`. The served + body is byte-identical to committed `public/specimen.html` (normalized + by stripping the `data-fonts-css` preload attribute the worker injects). + +## Files changed + +- `docs/evidence/specimen-in-content-cta-rereverify-2026-08-14.md` — new + evidence receipt recording the closeout on the current head and live site + (the lane's claimed file). +- `.lane/reports/specimen-in-content-cta-rereverify-2026-08-14.md` — this + report. + +## Verification commands + +- `git merge-base --is-ancestor b81281f origin/main` → true. +- `git merge-base --is-ancestor b81281f 5c6521a` → true (deployed release + is past the fix). +- `npm run check` → "TinyStudio.io checks passed." (exit 0). +- `npm test` → exit 0; all suites green. +- `curl -s -w "%{http_code}" https://tinystudio.io/specimen` → 200; body + carries the `.band` CTA to `/#start` and the no-guarantees note; body + byte-identical to source (normalized). +- `curl -s -w "%{http_code}" https://tinystudio.io/specimen.html` → 307 → + `/specimen`. + +## PR + +- https://github.com/nish3451/TinyStudio.io/pull/195 + +## Honest boundary + +This lane claims no behavioural change in the public surface — the fix +already shipped in PR #155. This lane makes no claim about pricing/legal +prose (owned by other lanes), the README/MEMORY/specs product-contract +wording, or any other review item. diff --git a/docs/evidence/specimen-in-content-cta-rereverify-2026-08-14.md b/docs/evidence/specimen-in-content-cta-rereverify-2026-08-14.md new file mode 100644 index 00000000..ebef659e --- /dev/null +++ b/docs/evidence/specimen-in-content-cta-rereverify-2026-08-14.md @@ -0,0 +1,117 @@ +# Specimen in-content conversion CTA — re-verification (2026-08-14) + +Date: 2026-08-14 +Scope: the review-queue item "[unreviewed-by-opus] The /specimen proof page +contains no in-content conversion CTA — the page the homepage routes" (item +`94ec723c9e`). This receipt re-verifies the item's acceptance criteria +against the current `origin/main` head (`2088b6b`, "docs(evidence): +re-verify brief-requested clean-links survivor PR #145 on current main and +live (2026-08-14)", merged 2026-08-14) and the live deployment of that +head. It is source plus live-deployment evidence; it does not claim anything +about ranking, traffic, or search results. + +## Summary + +The failure mode the item describes — the /specimen proof page ending +without any in-content conversion CTA — **no longer occurs, on source and on +the live site**. The code-side fix is already merged in `origin/main`: PR +#155 (`b81281f`, "fix(public): add in-content conversion CTA to the /specimen +proof page", merged 2026-08-14) added a dark `.band` block between the report +and the footer carrying an explicit `.cta` link to `/#start` labelled +"Request the appraisal", a no-guarantees note, a >=44px tap target +(`padding:16px 24px`), and a static source guard in `scripts/check-site.mjs` +that fails CI if the band, its CTA, or its tap target regresses. The commit +superseded the conflict-locked PR #107, which had carried the same change +set since 2026-08-11 without landing. Re-measured on 2026-08-14: the live +`https://tinystudio.io/specimen` serves the band and CTA, and the full test +suite passes on the current head. + +## Source checks on the current head (origin/main `2088b6b`) + +1. `public/specimen.html` carries the in-content conversion band immediately + before the footer (lines 134-139): + + ```html +
+

That was a real one. Yours is read the same way.

+

Four passes, by hand, and a plain document with each fault named in + order of what it costs you — the fix beside it. Thirty seconds to ask, + findings inside five working days, yours to keep either way.

+ Request the appraisal +
No revenue, ranking, ROAS, conversion, booked-call or + sales-volume guarantees. Only the work.
+
+ ``` + + The CTA targets `/#start`, the same request surface as the nav CTA, so a + reader who finishes the sample has an in-content next step. +2. The homepage routes its "Read the specimen" call-out to exactly this + page: `public/index.html` line 250 ends the confidentiality section with + `Read the specimen →`. +3. `public/specimen.css` styles the band CTA and keeps the >=44px hit area: + `.band .cta` is present with `padding:16px 24px`. +4. `scripts/check-site.mjs` (the "Specimen in-content conversion CTA" block, + lines 1785-1812) statically guards the shape: it requires a `.band` block + between the report and the footer, a `.cta` link to `/#start` labelled + "Request the appraisal", the no-guarantees note, `.band .cta` styling, + and the 16px/24px padding. CI fails if any piece regresses. +5. `npm run check` passes (exit 0, "TinyStudio.io checks passed."). +6. `npm test` passes (exit 0) on the current head: `check-site` plus the + heading-hierarchy (6/6), sitemap (7/7), agent-worker (76/76), + agent-UI (8/8), product-contract (16/16), viewport (4/4), and + narrow-viewport suites — all green, zero failures. (The only reported + item is a pre-existing, out-of-scope note that `/` overflows at 240px + and 260px; it does not gate the exit code and does not touch the + specimen CTA.) +7. `git merge-base --is-ancestor b81281f origin/main` → true: PR #155's fix + commit is on current main. + +## Live checks (2026-08-14) + +- `GET https://tinystudio.io/specimen` → HTTP 200; the served HTML carries + the `.band` block with `Request the + appraisal` and the no-guarantees note verbatim (two "Request the + appraisal" occurrences: the nav CTA and the in-content band CTA). +- `GET https://tinystudio.io/specimen.html` → HTTP 307 → `/specimen` (the + extensionless twin is canonical). +- The served `/specimen` body is byte-identical to the committed + `public/specimen.html` (compared normalized by stripping the + `data-fonts-css` preload attribute, which the worker injects at serve + time), so the live page is exactly the file the source guard checks. +- `release-state-tinystudio-io.json` (the fleet's deployment pin) records + the live Cloudflare Worker release at sha `5c6521a` (2026-08-14); `git + merge-base --is-ancestor b81281f 5c6521a` → true, so PR #155's fix commit + is inside the deployed release. + +## Repro steps + +1. Source guard: `npm run check` — the "Specimen in-content conversion CTA" + section fails if the `.band` block, its `.cta` link to `/#start`, the + no-guarantees note, `.band .cta` styling, or the 16px/24px padding + regress. +2. `npm test` — the full suite (headings, sitemap, worker, UI, contract, + viewport, narrow-viewport) passes on the current head. +3. `curl -s https://tinystudio.io/specimen` → HTTP 200; grep for + `class="cta"` `href="/#start"` → present in the band before the footer. +4. `git merge-base --is-ancestor b81281f origin/main` and `... 5c6521a` → + both true. + +## Limitation + +This is a source plus live-deployment measurement, not a behavioral +conversion test. The static guard in `scripts/check-site.mjs` is what +prevents the band CTA from silently regressing; the live re-check above is +the standing way to re-confirm the deployed state. + +## Closeout + +The review item "[unreviewed-by-opus] The /specimen proof page contains no +in-content conversion CTA — the page the homepage routes" is **closed +against current main and live**: PR #155 (`b81281f`) is merged in +`origin/main` `2088b6b` and inside the deployed release `5c6521a`; the +specimen page carries an in-content `.band` conversion CTA to `/#start` +with the >=44px tap target; the homepage routes its "Read the specimen" +call-out to `/specimen`; the live site serves the band CTA; and `npm run +check` plus `npm test` pass on the current head. The receipt now records +the closeout on the current head so the item cannot be re-opened by tracker +drift.