Skip to content

Register pilot B "Artifact Editorial": /next/pilots/editorial/fractional-cto/ - #562

Merged
pftg merged 1 commit into
masterfrom
pilots-editorial
Aug 21, 2026
Merged

Register pilot B "Artifact Editorial": /next/pilots/editorial/fractional-cto/#562
pftg merged 1 commit into
masterfrom
pilots-editorial

Conversation

@pftg

@pftg pftg commented Aug 21, 2026

Copy link
Copy Markdown
Member

What

Pilot B of the three-register design comparison (10.01): the same landing anatomy and byte-identical copy as merged pilot A, wearing the Artifact Editorial register from Paul's in-progress Claude Design artifact — Source Serif 4 headlines, Hanken Grotesk body, JetBrains Mono labels (all self-hosted, latin variable subsets), paper #fbf9f8, deep-red #a91918, hairline borders, zero border-radius (verified: exactly one border-radius:0 in the shipped bundle).

The controlled comparison holds: stub diff vs pilot A = exactly the 6 register params; rendered body text of both pilots is byte-identical (verified twice, independently). The lightning demo judges skin, not words.

Preview: /next/pilots/editorial/fractional-cto/ (noindexed, sitemap-excluded).

Review chain

opus author → adversarial opus verifier → fix round → delta re-clear SHIP. The verifier's P2 catch: JetBrains Mono shipped weight 400 only, but the nav inherited 600/700 from parent rules — Chrome synthesized fake bolds on two elements. Declaration-grep can't see inherited weights; the fix pins font-weight: 400 and the OKF rule now prescribes walking computed font-weight in the rendered page (post-fix walk: 61/61 mono nodes at 400, every family renders only shipped weights). Both baseline diffs from the fix (0.00048, 0.0034) would have passed silently at the old 0.02 tolerance — the #560 floor made this fix measurable.

Gates

  • Copy parity + claims: banned sweep (15 strings) zero hits · testimonial rendered-vs-yaml diff empty on BOTH pilots (the unit gate now globs next/pilots/** — pilot C inherits coverage automatically, vacuity-guarded) · tenure derived · Clutch link canon-exact
  • Contrast: computed walk, 117 text nodes × 2 viewports, 0 failures (ink band worst 7.42:1; CTA edge 14.83:1 vs 3:1 required)
  • bin/rake test:unit 292 runs, 6140 assertions, 0 failures · scoped desktop+mobile screenshots green vs re-recorded baselines at 0.0001 · pilot A regression green · zero console errors/404s, no Google Fonts fetches
  • PurgeCSS: 56 bundle classes ↔ 56 rendered, both set-diffs empty; bundle 10.4KB raw / 2.8KB gzip

Notes

🤖 Generated with Claude Code

https://claude.ai/code/session_011SP5gaqXEgUie8pdFrmbeJ

…nal-cto/

Pilot B of the three-register design comparison (10.01): Paul's in-progress
Claude Design artifact ("Fractional CTO - Artifact Editorial", DESKTOP_1440 +
MOBILE_390) translated from inline styles onto the /next/ rail. Paper #fbf9f8
with #f3f0ed tint bands, white cards on 1px #d8d3cd, sections divided by 1px
#e5e1dd hairlines, deep red #a91918 (NOT the standard ruby - the artifact uses
the darker cut and keeps #cc342d as its hover only), ZERO border-radius
anywhere, Source Serif 4 headlines over Hanken Grotesk body with JetBrains Mono
for every eyebrow and label.

COPY IS UNCHANGED FROM PILOT A - that is the point. The stub was copied, not
rewritten: `diff` between the two stubs is six lines (title, description,
`register`, `font`). The desktop and mobile screenshot tests assert the same
strings as pilot A's, so a copy edit that reaches only one pilot fails. The
comparison varies the register and nothing else, or it measures nothing.

Register fidelity, and the two places it could not be literal:

- The artifact has NO dark band; the settled anatomy does, and the anatomy is
  held constant across pilots, so the band is inverted rather than dropped.
  This is where pilot A shipped an AA miss and it is not repeatable here: the
  accent is 7.05:1 on paper but 2.31:1 on ink #1b1c1c. On the band, text takes
  a light neutral (#c9c2ba, 9.69:1 / #b9b2aa, 8.14:1), the accent survives only
  as a lightened non-text rule (#e07a6e, 5.84:1), and the filled CTA inverts to
  paper - an accent fill on the #232424 card is ~2.2:1, a button with no
  visible edge (WCAG 1.4.11).
- Devices the anatomy has no slot for were translated, not invented: the
  artifact's screen-label chip becomes the brand mark, its boxed STATUS pill
  becomes the step numeral, its 32x2 accent rule opens every band (suppressed
  in the hero, where the artifact starts with the eyebrow alone), its square
  ink list marker replaces the disc, and the tech tags become square hairline
  chips because the register has no rounded corner anywhere.

Gates widened, because a second pilot silently disarms the first pilot's:
test/unit/next_rail_test.rb had the testimonial-verbatim and tenure-derived
gates pinned to the pilot-A path, so pilot B could have smoothed the Wozniak
quote undetected. Both now iterate next/pilots/**/index.html through one helper
that owns the "found nothing" assertion. Verified by breaking it: smoothing
pilot B's quote fails naming next/pilots/editorial/fractional-cto/index.html.

Three faces self-hosted as ONE static/css/fonts-editorial.css keyed by register
rather than by family, because the stub's `font:` key carries one stylesheet
and one preload and three files would mean editing the shared landing.html for
one pilot. All three families are variable, so each is one latin binary that
every declared weight instantiates from.

Only shipped weights are rendered - and that is established by WALKING computed
font-weight in the browser, not by grepping declarations. The grep missed a
real defect that review caught: JetBrains Mono ships 400 only, but .rr-brand-mark
inherited 700 from .rr-brand and the nav .rr-btn inherited 600 from
:where(.rr-nav-links a), so Chrome fake-bolded both and the same mono label
rendered heavier in the nav than in the hero. font-weight is now pinned on both.
The walk resolves fontFamily per node and histograms fontWeight: 55 mono nodes,
53 at 400 + 2 synthesized BEFORE the fix, 55 at 400 after; Hanken Grotesk 400
(40) + 600 (10) and Source Serif 4 600 (13) + 700 (5), all shipped weights.
Worth noting the visual gate DID catch the fix at difference_level 0.00048
desktop / 0.0034 mobile, in a 12px-tall nav region - it would have passed
silently under the old 0.02 default (PR #560).

Evidence: bin/hugo-build clean; bin/rake test:unit 292 runs, 6140 assertions,
0 failures; scoped desktop + mobile next_editorial screenshots green against
these committed macOS baselines; rendered blockquote diffed against
data/testimonials.yaml is empty; noindex present and the canon Clutch profile
link present on both built pilots; the banned sweep ($400K, $5K/$15K, 0.5%,
3-6 months, six-month search, 30 days' notice, free code audit, 32 client,
five working days, 3+ years, $190, 18 years, monthly cost + the voice-guide
set) returns zero matches across the built pilots dir. Browser pass at 1440 and
at 390: zero console messages, zero 404s, and walking every text node's
computed colour against its resolved background gives 117 elements checked per
viewport with zero contrast failures (worst 5.06:1); no page horizontal
overflow, the comparison table scrolls inside its own box, h1 lands at the
artifact's 33px on mobile.

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

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: 06c12968-b93e-4520-8d6f-64dba2572de6


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

Copy link
Copy Markdown
Contributor

@pftg
pftg merged commit 451770a into master Aug 21, 2026
5 of 6 checks passed
@pftg
pftg deleted the pilots-editorial branch August 21, 2026 18:45
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