Skip to content

PR-1: clean-slate v2 rail + qtest false-green fix - #555

Merged
pftg merged 4 commits into
masterfrom
v2-rail
Aug 21, 2026
Merged

PR-1: clean-slate v2 rail + qtest false-green fix#555
pftg merged 4 commits into
masterfrom
v2-rail

Conversation

@pftg

@pftg pftg commented Aug 21, 2026

Copy link
Copy Markdown
Member

PR-1 of the clean-slate plan (20.06): the v2 rail — root layouts/next/, /next/ noindexed staging on production, and the qtest false-green fix.

Built by an opus author, verified by a distinct opus reviewer handed the author's reasoning to attack. 9 findings, all applied before this PR opened.

What ships

Piece Verified how
bin/qtest root-layouts/ fix instrument test: layouts/next/foo.html → ["next-pilot"], SEO partial → :all; on HEAD both were nil → silent exit 0. Closes a today hole — SEO partial edits shipped ungated.
/next/ noindex + sitemap exclusion broken on purpose: strip the cascade → robots flips to index,follow AND sitemap gains the pages. The spec's build: block was proven inert by ablation (byte-identical output) and deleted — all the safety is the cascade.
v2 baseof (74 lines) zero fl-* in built output; conversion events intact (data-lead-form, data-cta-location present); analytics additionally gated not .Params.noindex so staging never pollutes the ADR-0004 engagement read
shared enhanced-meta-tags canonical full-tree byte diff of all 1,768 built files — the only attributable change is the /next/ page. The relative-canonical scare was refuted: legacy emits the identical form in test builds; production is absolute via canonifyURLs.
leak check zero /next/ references outside /next/ across the built tree — no RSS, menus, taxonomies, sitemap, sw precache

The honest label

The pilot is a rail smoke page, not a service-page mirror — measured: it renders 47 of the real page's 536 words, because service copy lives in frontmatter (overview, faqs) the smoke template doesn't read. ADR-0006 and new-page.md now say so, and the flip checklist forbids type: next on a real page until the v2 template reads every frontmatter section it uses. Porting those sections is PR-2's first task, before styling.

Review disposition

9 findings from the verifier, including: a canonical guard that could not fail (the regex also matched the fallback — now paired with a refute_match), content/next/ mapping to nil in qtest (the same false-green class one directory over), and the legacy body rule navigation.css:20 leaks into the rail (named in ADR-0006 so PR-2 owns the override). macOS pilot baselines committed as first baselines with the machine-local caveat; the reviewer's verdict distinguishes this from the still-blocked course/chapter re-record.

Gates

bin/hugo-build clean · rake test:unit 283 runs, 0 failures · next_rail_test 3/17 green after the guard fix · Linux next/pilot baselines: CI record dispatched on this branch, will be screened to the pilot keys only before merge.

🤖 Generated with Claude Code

The rail per 20.06 §PR-1, built by an opus author and verified by a distinct
opus reviewer (author != verifier), with the author's reasoning handed to the
reviewer to attack.

WHAT SHIPS
- bin/qtest: root layouts/ diffs no longer exit 0 silently - layouts/next/ and
  content/next/ map to the next-pilot key; any other root layouts/ path
  escalates to --all. This closes a TODAY hole: SEO partial edits shipped
  ungated before this.
- content/next/: cascade {noindex, private}. Verified by breaking it - strip
  the cascade and BOTH guards fail (robots flips to index,follow; sitemap
  gains the pages). All the safety is the cascade; the build: block the spec
  suggested was proven inert by ablation (byte-identical output) and deleted.
- layouts/next/baseof.html: functional partials verbatim (meta, schemas,
  analytics, favicons, service worker), zero fl-* (grep of built page: 0
  hits), clean chrome reused. Analytics additionally gated on (not
  .Params.noindex) so /next/ testing never pollutes the ADR-0004 engagement
  read.
- layouts/next/single.html + pages/next-pilot.css: the smoke template and a
  44-line tokens+reset bundle. Unique bundleName verified.
- enhanced-meta-tags.html: canonical resolves source_page when set - proven
  byte-inert on legacy by full-tree diff of all 1768 built files (only the
  /next/ page differs). The relative-canonical scare was refuted: legacy pages
  emit the identical relative form in test builds; production is absolute via
  canonifyURLs.
- content/next/services/fractional-cto.md stub, test_next_pilot (desktop,
  mobile, noindex + sitemap unit guards), ADR-0006, ownership-map row,
  new-page.md fork section.

REVIEW FINDINGS APPLIED (9)
- The pilot renders 47 of the real page's 536 words - service copy lives in
  frontmatter the smoke template does not read. Relabelled everywhere: PR-1
  ships a RAIL SMOKE PAGE; porting overview/faqs is PR-2's first task, and the
  flip instruction now carries the checklist (flipping type:next early would
  gut the live page to the smoke subset).
- The canonical guard could not fail - %r{/services/fractional-cto/\z} also
  matches the /next/ fallback. Now paired with refute_match /next/.
- content/next/ mapped to nil in qtest - the same false-green class one
  directory over. Fixed.
- navigation.css:20 leaks a legacy body rule (18px/1.6/#121212) into the rail -
  named in ADR-0006 Consequences so PR-2 owns the override instead of
  rediscovering it.
- macOS next/pilot baselines are committed as FIRST baselines with the
  machine-local caveat (nothing prior to corrupt; CI-Linux is the fleet
  authority). The course/chapter macOS re-record stays blocked - different
  case, prior good baselines exist.

Known red until the CI dispatch lands: Linux next/pilot baselines do not exist
and fail_if_new hard-errors in CI - recorded on the branch next.

Gates: bin/hugo-build clean; rake test:unit 283 runs 0 failures (reviewer run);
next_rail_test 3 runs 17 assertions green after the guard fix; leak check of
the full built tree: zero /next/ references outside /next/.

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: d1b60a53-c448-4a1d-836d-5a33983a1d7a


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

The dispatch recorded 71 baselines for a PR that adds two new page keys. Kept
exactly the 2 next/pilot FIRST baselines (Bin 0 -> N: no prior baseline
existed, so nothing can be corrupted) and dropped the other 69 whole-site
rewrites, which would fold unrelated drift into this PR. Bot commit replaced
via force-with-lease; its ref survives in run 32483366996.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
pftg and others added 2 commits August 21, 2026 15:10
Paul 2026-08-21: highly opinionated questions get multiple subagents with
different personas and an organized vote. Recorded in CLAUDE.md's autonomy
grant (widened from big/critical calls to any question where reasonable people
disagree) and applied to the imminent design judging: four distinct personas -
the burned founder, the CFO skeptic, the mobile commuter, the brand strategist
- each voting with its strongest objection and evidence, plus the fable
/impeccable critic. Independent agreement valid; manufactured dissent is not;
each panellist names the strongest finding AGAINST its own preference.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e pilot

Codex final gate on #555 returned 2 findings, both about the NEXT page rather
than this one, both accepted.

1. The v2 baseof dropped the mermaid/font feature block - my own PR-1 brief
   said keep it, the author omitted it, and the internal reviewer missed it
   too (the pilot's source has no diagrams, so nothing was visibly broken).
   Restored verbatim from the theme baseof with one necessary difference: a
   /next/ stub renders the SOURCE page's content, so the render hook sets the
   Store flags on the source page - the block now resolves source-or-self
   ($mp) before reading the flags. Verified the conditional still holds: the
   pilot ships zero mermaid bytes.

2. bin/qtest mapped ALL layouts/next/ and content/next/ changes to the
   hardcoded next-pilot key - a future v2 page's own test would never run for
   shared-template changes, the same silent-narrowing class this PR exists to
   close. Now derives every ^next- key from the PAGE_TESTS registry, so adding
   a page's key IS its registration.

Gates: bin/hugo-build clean; next_rail_test green; ruby -c on qtest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@pftg
pftg merged commit 703fee1 into master Aug 21, 2026
5 of 6 checks passed
@pftg
pftg deleted the v2-rail branch August 21, 2026 13:29
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