Skip to content

Clean-slate v2 pivot persisted + Phase 2.3 course module eyebrow - #552

Merged
pftg merged 7 commits into
masterfrom
redesign-v2-kickoff
Aug 21, 2026
Merged

Clean-slate v2 pivot persisted + Phase 2.3 course module eyebrow#552
pftg merged 7 commits into
masterfrom
redesign-v2-kickoff

Conversation

@pftg

@pftg pftg commented Aug 21, 2026

Copy link
Copy Markdown
Member

Two commits: the clean-slate v2 pivot persisted so any session can resume it, and Phase 2.3 shipped — the course module eyebrow.

Commit 1 — the pivot, in-repo

Paul approved the revised strategy (plan mode) and asked that all artifacts survive session interruption. The approved plan lived in a session-local file — invisible to a cold session. Now:

  • 20.06-clean-slate-v2-plan.md — plan of record: dual-run v2 rail (root layouts/next/, clean bundles, functional partials reused verbatim), /next/ non-indexed production staging, page-by-page cutover, legacy frozen (780 button sites + 39 blacks dropped as work-done-twice). Carries a COLD-SESSION STATE LEDGER.
  • Decisions of record: 2-direction design competition, fully open (rebrand allowed); Claude Design + stitch collaborate; model routing (critical decisions + editing/outlining = fable · coding/code review/content writing = opus · mechanical = sonnet).
  • Supersession markers on every surface a cold session might read stale: README banner + two inline markers, 20.01 banner, OKF concept pivoted + log.
  • A sonnet verifier attacked the diff against its own bar first — 3 findings (two unmarked stale assertions in the README, one wrong ledger status), all fixed pre-commit. Its spot-checks verified the bin/qtest:69-78 hole, noindex plumbing, and all fl-line counts.

Commit 2 — Phase 2.3

Module 2 · Validate the Problem above every prefixed lesson H1 — canonical eyebrow spec, names mirroring the module map in how-this-course-works. Census: 25 lessons render (5/6/2/5/7 across Modules 1–5); quickstart/faq/walkthroughs/reference correctly get none.

Opus diff review (author ≠ verifier) returned 4 findings, all addressed pre-commit:

Finding Fix
the module-N tag branch was dead code — the 6 tagged lessons are a strict subset of the 25 prefixed; hasPrefix "module-" would even render "Module card" from an unrelated tag branch deleted; anchored prefix regex is the single derivation
digit-only eyebrow duplicated the H1's number — decorative, not helpful module name added — information the H1 doesn't carry
comment misstated its own data (6+25 reads as 31) rewritten
baselines invalidated below

Reviewer also verified: zero regex false positives across every real title (rendered census, not mental trace), findRESubmatch guard holds, rule survives production PurgeCSS verbatim, no competing cascade.

Evidence

Browser-measured: computed spec exact (letter-spacing 1.68px = 0.14em @ 12px), 5.13:1 on white — AA pass. Desktop 1920 + mobile 390 inspected.

Merge-base attribution run (both suites, same machine, fixtures reset between):

Run Failures
master themes @ merge base 13 — machine drift, none mine
branch themes base 13 + exactly desktop/course/chapter, mobile/course/chapter

The delta is precisely the intended change.

Baseline handoff

The 13-failure base proves this machine cannot record trustworthy macOS baselines (same class as #540's revert). Invalidated by this PR and not recorded locally:

macos desktop/course/chapter    macos mobile/course/chapter

Linux: CI record dispatched on this branch after opening; screened by size-delta and only course/* keys kept (whole-site records carry other people's content drift — learned on #540).

🤖 Generated with Claude Code

@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: c3245b7c-3b48-4396-bca6-8ca2edb79057


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.

@pftg
pftg force-pushed the redesign-v2-kickoff branch from a69e988 to 09674b7 Compare August 21, 2026 11:56
pftg added a commit that referenced this pull request Aug 21, 2026
Codex pre-merge on #552 returned 4 findings. Three accepted, one declined.

ACCEPTED - all three are the same failure: records written before the opus
review changed the implementation, never swept after.

1. OKF log and 20.06 described a tag-first derivation; the shipped template is
   prefix-only (the tag branch was deleted as dead code in review). A future
   maintainer could have restored deleted code or debugged nonexistent
   behavior. Both records now state prefix-only + name dict.
2. 20.06's gate line said "verifiers on sonnet" blanket - written before Paul's
   routing table finalized. Now stage-specific: code review = opus, design
   critique = fable, mechanical = sonnet.
3. The cold-session ledger still scheduled the Linux dispatch and Direction 2,
   both complete. Rows updated; judging now correctly blocked on Paul's Claude
   Design pass alone.

DECLINED - recording macOS course/chapter baselines from this machine. The
merge-base run measured 13 failures on UNTOUCHED master here, so a local macOS
record poisons the repo with machine drift (the exact mechanism #540 reverted).
Cost acknowledged: those two keys stay red on macOS runs (diff 3.2%/11.4% vs
0.03 tolerance) until recorded on a healthy Mac - now tracked as an OUTSTANDING
item in the 20.06 ledger, not just the PR body.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
pftg and others added 6 commits August 21, 2026 14:02
Paul approved the revised strategy (plan mode) and asked that all project
artifacts let a separate session finish the work when interrupted. The approved
plan lived only in a session-local plans file - invisible to a cold session -
so this commit moves the whole state into the repo.

New plan of record: docs/projects/2608-site-design-system/20-29-strategy/
20.06-clean-slate-v2-plan.md - the dual-run v2 rail (root layouts/next/, clean
bundles, functional partials reused verbatim), /next/ non-indexed production
staging, page-by-page cutover, legacy frozen with the 780 button sites and 39
blacks dropped as work-done-twice. Carries a COLD-SESSION STATE LEDGER with
per-item status and exact next actions, updated in the same commit as the work
it describes.

Decisions of record captured: 2-direction design competition, FULLY OPEN
(rebrand allowed - ruby/LIGHT hold on the live site only until Paul picks);
Claude Design and stitch COLLABORATE (the old "Rescue Room" project renders
extraction, which is why previews looked like course reuse); sub-agent model
routing - code review on opus, docs/panels on sonnet, mechanical on haiku,
Fable never inherited by spawns (CLAUDE.md updated).

Supersession markers placed where a cold session would otherwise read stale
direction as current: 2608 README pivot banner + inline markers on the
"no authority" paragraph and the phase table; 20.01 Phase-2 banner; OKF
site-redesign-rollout.md pivoted (old lane model kept under a superseded
heading) + log entry.

Author != verifier: a sonnet reviewer attacked the staged diff against its own
acceptance bar and returned 3 findings, all fixed before this commit - two
unmarked stale assertions in the README (the file a cold session reads FIRST)
and a ledger status claiming IN PROGRESS for work not yet started. Its
spot-checks verified bin/qtest:69-78 hole, enhanced-meta-tags noindex,
sitemap private-filter, and all three fl-line counts as written.

Gates: bin/hugo-build clean; v0.2 okf_validate exits 0; concept stamped with
measured UTC.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Course lessons carry the canonical eyebrow (12px/700/0.14em/uppercase/ruby)
above the H1: "Module 2 · Validate the Problem". Derived from the "N.N ·"
title prefix; names mirror the canonical module map in how-this-course-works.
25 lessons render (census 5/6/2/5/7 across Modules 1-5); quickstart, faq,
walkthroughs, reference pages correctly get none. Browser-measured: computed
spec exact (letter-spacing 1.68px = 0.14em @ 12px), 5.13:1 on white - AA pass.
Desktop 1920 + mobile 390 inspected.

Opus diff review (author != verifier) returned 4 findings; all addressed
before this commit:

- F2/F3: the module-N tag branch was DEAD CODE - the 6 tagged lessons are a
  strict subset of the 25 prefixed ones, and hasPrefix "module-" without a
  digit check would render "Module card" from an unrelated tag. Tag branch
  deleted; derivation is the anchored prefix regex alone (11 lines -> 6).
- F4 (design): the digit-only eyebrow duplicated the number already visible in
  the H1 one line below - decorative, not helpful, failing CLAUDE.md's own
  gate language. Fixed by adding the module NAME, which the H1 does not carry.
- F1 (baselines): course/chapter desktop+mobile baselines are invalidated by
  design. Handling per the recorded procedure - see the attribution run in the
  next commit / PR body; local macOS records are untrustworthy on this
  machine, Linux records ride a CI dispatch on the branch, screened.

The reviewer also verified: regex safe against every real title (rendered
census, zero false positives on digit-leading titles), findRESubmatch empty
slice guarded by `with`, eyebrow rule survives production PurgeCSS verbatim,
no competing cascade (the one other header-p rule is @media print).

Also rides: model routing final form in CLAUDE.md (critical decisions +
editing/outlining = fable; coding, code review, content writing = opus;
mechanical = sonnet), 20.06 ledger status, OKF log entry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
One brief, two tools: the identical fully-open contract runs in stitch (agent-
driven; direction 2 generating now) and in a NEW Claude Design project (Paul-
driven) - identical wording keeps outputs comparable, and the doc warns off the
old "Rescue Room" project, which renders the extracted system this competition
steps back from. Carries its own status ledger per the cold-session rule.

Constraints are only the hard ones: no stock people, no logo walls/carousels/
repeated CTAs, claims-canon on any company fact, no extraction from the
current site. Everything else - palette, typography, identity - open, per
Paul's fully-open decision.

Routing refinements from Paul recorded in CLAUDE.md: design critique joins
fable (with critical decisions and editing/outlining); the /impeccable judging
panel therefore runs on fable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Dark midnight-navy/charcoal, IBM Plex Sans, forensic-artifact narrative.
Canon flags recorded for judging: invents a 90-day guarantee (not in canon);
dark chrome contradicts the peer-set evidence ADR-0003 cited - panel weighs
both, since the brief was fully open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The branch dispatch recorded 72 baselines for a change that adds one line to
one template. Screened per the recorded procedure (ci-gates.md): kept exactly
the 2 course keys this PR invalidates - desktop +0.84%, mobile +1.71%, both
consistent with an added eyebrow line - and dropped the other 70, which are
whole-site record noise and would fold unrelated drift into this PR (the
blog/tag.png content-drift incident, 2026-08-21).

The bot's whole-record commit is replaced by this screened one via
force-with-lease; backup of the bot ref is the run itself (32479029380).

macOS course/chapter keys remain UNRECORDED deliberately - the merge-base run
proved this machine's macOS render is drifted (13 failures on untouched
master), so local records would poison the repo. Listed in the PR handoff.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codex pre-merge on #552 returned 4 findings. Three accepted, one declined.

ACCEPTED - all three are the same failure: records written before the opus
review changed the implementation, never swept after.

1. OKF log and 20.06 described a tag-first derivation; the shipped template is
   prefix-only (the tag branch was deleted as dead code in review). A future
   maintainer could have restored deleted code or debugged nonexistent
   behavior. Both records now state prefix-only + name dict.
2. 20.06's gate line said "verifiers on sonnet" blanket - written before Paul's
   routing table finalized. Now stage-specific: code review = opus, design
   critique = fable, mechanical = sonnet.
3. The cold-session ledger still scheduled the Linux dispatch and Direction 2,
   both complete. Rows updated; judging now correctly blocked on Paul's Claude
   Design pass alone.

DECLINED - recording macOS course/chapter baselines from this machine. The
merge-base run measured 13 failures on UNTOUCHED master here, so a local macOS
record poisons the repo with machine drift (the exact mechanism #540 reverted).
Cost acknowledged: those two keys stay red on macOS runs (diff 3.2%/11.4% vs
0.03 tolerance) until recorded on a healthy Mac - now tracked as an OUTSTANDING
item in the 20.06 ledger, not just the PR body.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@pftg
pftg force-pushed the redesign-v2-kickoff branch from c065f53 to dd9c2f1 Compare August 21, 2026 12:06
Paul pointed out DesignSync reaches claude.ai/design from here - no copy-paste
handoff needed. Created "JetThoughts - From-Scratch Competition (2608)"
(a5f25203-6dd9-45c6-a978-5842152d1389) and seeded 8 files: the fully-open
BRIEF.md, both directions' DESIGN.md summaries (with the ruby-locked disclosure
on D1 and the canon flags on D2), and both full-page renders (2560px) as
preview cards. The old "Rescue Room" project stays untouched - it renders the
extracted system.

Paul's move shrinks to: open the project, run/iterate the brief, or critique
the two seeded directions. Everything cross-pollinates before the fable critic
and the judging board.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@pftg
pftg merged commit 46c0a5a into master Aug 21, 2026
4 of 5 checks passed
@pftg
pftg deleted the redesign-v2-kickoff branch August 21, 2026 12:10
@github-actions

Copy link
Copy Markdown
Contributor

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