Skip to content

PR-2: pilot renders the full page, styled per D1 (−85.6% CSS) - #557

Merged
pftg merged 3 commits into
masterfrom
pr2-pilot
Aug 21, 2026
Merged

PR-2: pilot renders the full page, styled per D1 (−85.6% CSS)#557
pftg merged 3 commits into
masterfrom
pr2-pilot

Conversation

@pftg

@pftg pftg commented Aug 21, 2026

Copy link
Copy Markdown
Member

PR-2 of the clean-slate plan: the /next/ pilot now renders the full service page (580 words vs the live 587 — was 47) styled per Direction 1 "Artifact Editorial", the 4–1 winner of the persona-panel vote recorded in 20.07.

Opus author → opus verifier (HOLD, 12 findings) → all applied → browser re-verified.

The headline number

The repo's own CSS evidence form (compiled + gzip, never line counts):

Page Gzip CSS
/services/fractional-cto/ (legacy) 21,586 B
/next/services/fractional-cto/ (rail) 3,105 B

−85.6% (−83.2% netting out swiper). That's the number the clean-slate rail exists to produce.

What the verifier caught

  • A shipped AA failure from one token: .next-article a (0,1,1) outranked both single-class CTAs (0,1,0) — the page's one filled button rendered black-on-ruby at 3.33:1, verified in pixels. Fixed with :where(a); re-verified white-on-ruby 5.13:1.
  • Every trust signal silently dropped by the composition swap (FAQs in; clients/testimonials out — shared legacy partials, out of scope). Restored the minimal canon-exact proof line: Rated 4.8/5 on Clutch, profile linked, no review count.
  • An unsourced number contradicting the page itself: FAQ 5 said "15+ years of industry experience" one screen below the derived 18+ stat. Removed at the frontmatter source — which also fixes the live page's FAQPage JSON-LD.
  • The rail sat outside both copy ratchets (marketing_copy_test globbed only theme layouts; no next/** in rendered globs). Both extended.
  • FAQ heading was a styled <p> — 330 words invisible to screen-reader heading nav. Now a real h2.
  • The tenure test's honest limit is documented: derived == frozen until 2027, so it can't discriminate this year — and bites forever after.

Baselines

macOS: re-recorded via bin/record-baselines (kept 2, restored 54 — the wrapper doing exactly its job). Linux: CI record dispatched on this branch; will be screened to the pilot keys only before merge.

Gates

bin/hugo-build clean · next_rail_test 4/23 green · marketing_copy_test green with widened globs · browser-verified 1920 + 390, console clean · noindex/canonical/zero-fl-* all re-confirmed · OKF entry rides the commit.

Review on production-staging: /next/services/fractional-cto/ (noindexed, invisible to users and crawlers).

🤖 Generated with Claude Code

pftg and others added 2 commits August 21, 2026 15:52
Four personas on sonnet (each looking at the actual full-page renders, each
required to name the strongest objection to its own pick) plus the fable
critic in the main loop. Tally and per-voter reasoning recorded in 20.07.

The fable critique added what the panel missed: D2 has visible execution
defects, not just taste problems - hero/Phase-01/final-CTA text renders
washed-out pale on white, and the page alternates white/black bands, the
exact background-switch disease the 2.4 homepage rewrite exists to cure.

The dissent is preserved and actionable: Alex (the ICP persona) voted D2 for
its problem-naming specificity - so the synthesis grafts D2's copy register
(Opaque Box / Misaligned Clock / Debt Spiral) into D1's visual system, minus
the fabricated 90-day guarantee the CFO persona called a due-diligence
disqualifier.

Paul's Claude Design pass can still override. Until then D1 is the working
winner and PR-2 styles the pilot against it - a reversible call (CSS on a
noindexed staging page), made under the autonomy grant.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Part 1 (content): layouts/next/single.html ports the source page's frontmatter
sections - overview narrative, outcome stats, FAQs as a dl - 580 words vs the
live page's 587 (was 47). The tenure stat replicates the legacy template's
DERIVATION (now.Year - foundingYear), not the frozen frontmatter 18.

Part 2 (style): Artifact Editorial per the 4-1 competition vote. Paper
#fbf9f8, serif headline stack with system fallback (nothing fetched - repo
self-hosts only Caveat/Space Grotesk; self-hosting the D1 faces is its own
PR), ruby confined to hairlines, small-caps labels, the hero arrow-link and
ONE filled CTA. 0px corners, no shadows, 1px outlines.

Opus verifier returned a HOLD with 12 findings; all applied:

- F1 BLOCKER: `.next-article a` (0,1,1) outranked both single-class CTAs
  (0,1,0) - the page's one filled button shipped BLACK on ruby at 3.33:1, an
  AA failure. One-token fix: `:where(a)`. Re-verified in computed styles:
  button now white-on-ruby 5.13:1, link ruby.
- F2 BLOCKER: PR-1's near-empty baselines would fail every run - re-recorded
  via bin/record-baselines (kept 2, restored 54); Linux keys via CI dispatch
  on this branch.
- F3: the composition swap (FAQs in, clients/testimonials out - shared legacy
  partials, out of scope) dropped EVERY trust signal. Restored the minimal
  canon-exact proof line: "Rated 4.8/5 on Clutch" with the profile linked, no
  review count.
- F5: FAQ 5 carried unsourced "15+ years of industry experience" contradicting
  the derived 18+ stat on the same screen - removed at the frontmatter source,
  which also fixes the LIVE page's FAQPage JSON-LD.
- F6: the rail sat outside BOTH copy ratchets (marketing_copy_test globbed
  only themes/ layouts; RENDERED_GLOBS had no next/). Both extended.
- F4 a11y: FAQ section heading is a real h2 (was a styled p - 330 words
  invisible to heading navigation).
- F8: tenure derivation gets a rendered assertion, with its honest limit
  documented: derived == frozen until 2027, so it cannot discriminate this
  year and bites forever after.
- F7/F10/F11: exact-duplicate token aliased to var(--surface); measure back
  to ~68ch; comment corrected (the #fff-on-paper tonal step is 1.05:1 - the
  hairlines do the work).

Verifier's measurement worth headlining - the repo's own CSS evidence form:
next-pilot 3,105 B gzip vs single-service 21,586 B = minus 85.6% (minus 83.2%
netting out swiper). That is the number the clean-slate rail exists for.

Gates: bin/hugo-build clean; next_rail_test 4 runs 23 assertions green;
marketing_copy_test green with the widened globs; browser-verified at 1920 and
390, console clean. OKF entry rides this commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 10426ef9-2cb9-479a-a9dc-b3aa87d0a866


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

71 recorded for a 2-file PR; kept exactly the 2 next/pilot keys (desktop
+16.9%, mobile +5.6% - the wholesale restyle, expected) and dropped the other
69 whole-site rewrites. Bot commit replaced via force-with-lease; its ref
survives in run 32491318340.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@pftg
pftg merged commit 38f7448 into master Aug 21, 2026
5 of 6 checks passed
@pftg
pftg deleted the pr2-pilot branch August 21, 2026 14:37
pftg added a commit that referenced this pull request Aug 21, 2026
Ledger sync: PR-2 merged, D1 vote recorded, PR-3 unblocked to Paul's review

Docs-only pointer update after #557 (38f7448) squash-merged. Vote tally
lives in 20.07; this table points at it per the ledger's own rule.


Claude-Session: https://claude.ai/code/session_011SP5gaqXEgUie8pdFrmbeJ

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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