Skip to content

W5: completion mechanics - long-wait bridges, path integrity, fork routing, Going Further compression - #435

Merged
pftg merged 12 commits into
masterfrom
course-w5-completion
Aug 1, 2026
Merged

W5: completion mechanics - long-wait bridges, path integrity, fork routing, Going Further compression#435
pftg merged 12 commits into
masterfrom
course-w5-completion

Conversation

@pftg

@pftg pftg commented Aug 1, 2026

Copy link
Copy Markdown
Member

W5: completion mechanics — long-wait bridges, path integrity, decision-fork routing, Going Further compression

The wave plan's final planned wave (20.15) and the strategy review's highest-leverage lever ("completion mechanics beat more media"). Content + yaml + one devx gate; no shared CSS/templates — campaign-safe. Groomed → 4 tasks (WIP=1), each gated.

T1 — Long-wait bridges (the approved centerpiece)

At the 3 calendar-forced pauses where readers drop off, added a bridge = one parallel micro-action + an explicit "come back when X" re-entry trigger:

  • 1.4 (7-day demand test): during the wait, start Module 2's 30-name list; come back at 300 views.
  • 1.5 (Stripe verification): build the whole button in test mode (card 4242); come back when Stripe activates the account.
  • 2.4 (interview booking, the biggest cliff): start interviews at 3 booked, don't hold for 10.

Reviewed by a 3-persona cold-eyes panel (voice / Sam-ICP / learning-experience). The panel caught and fixed: a correctness bug (the Stripe trigger named a UI signal that doesn't exist), two banned-voice patterns, a path-honesty gap (the 1.4 list was built before the 300-visit signal existed — added the under-3% re-aim clause), plus a 2.3 head-start seam, a gloss, and a redundancy trim.

T2 — Path-finder fix + O7c path-integrity gate (20%-slot)

  • Fixed the one live Next-drift: 2.1's core route now points at 2.3 (matching course_sequence.yaml), 2.2 offered as optional.
  • Built bin/check-course-paths: every lesson's Next resolves + branched lessons match their yaml Core path. Report-only (COURSE_PATH_BLOCK=1 to block) with a before/after proof it catches the 2.1 drift class + a self-test. "Fix the gate, not the instance."

T3 — Decision-fork routing (4.1, 5.6)

Added the diagnose→route layer to the two unrouted forks, mirroring 2.5's template: yaml branches + branch-aware Next (4.1 routes self-serve/hire/re-validate off the worksheet answer; 5.6 routes persevere/pivot off whether a deposit cleared). Fork bodies untouched (4.1's mermaid is C6-protected). Validated clean by check-course-paths.

T4 — Going Further compression

Both hard-over pages brought under the 2,900 band by cutting redundancy only: pivot-or-persevere 3,206→2,894w, validation-tools 3,150→2,896w; churn 2,870→2,860w and glossary 2,733→2,688w lightly trimmed; how-this-course-works left at 2,751w (no forced cut). Independent reviewer verdict: SHIP — no decision criterion, canon number, cross-link, or reuse bridge lost, and the cuts removed three voice tells (a 4× parallel structure, an anaphora, a run).

Gates

  • bin/hugo-build 8/8 every commit; bin/check-course-paths clean; banned-pattern sweep 0 across all edits; canon spot-checks pass.
  • Content-only (markdown + yaml + a bin/ script) → no visual suite per policy; rendered scroll gate on every edited page. Honest bin/dtest from main: 34/34 green, zero failures (content-only, no regression; first run flaked on a transient abort, clean re-run green).

Parked (not in this PR)

The progress-completion tracker stays gated on Paul's 30-min Clarity check (his desk) — the passive course-visited.html localStorage layer already exists; only the visible completion UI waits.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added clearer branch-based course navigation for ownership, hiring, self-serve, outbound sales, and pivot decisions.
    • Added practical guidance for running smoke tests, preparing interviews, handling payment verification, and continuing outreach.
    • Expanded the pivot-or-persevere framework with trigger examples, pivot types, and measurement guidance.
  • Content Updates

    • Refined lessons throughout the course with clearer instructions, improved tool guidance, and more direct explanations.
    • Updated next steps to better reflect learner progress and recommended follow-up paths.

pftg and others added 12 commits August 2, 2026 00:55
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…orrectness), voice banned-patterns, 1.4 path-honesty clause + checklist, 2.3 head-start seam

3-persona panel (voice/Sam/LX): Stripe trigger named a non-existent UI signal (Sam); '## momentum usually dies' + 'Two things keep it moving' banned patterns (voice); 1.4 list built before the 300-visit signal (LX path) - added under-3% re-aim clause; 2.3 now acknowledges the 1.4-wait head-start; subreddit glossed; redundant 'Done fires at 10' trimmed; part-timer note added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The in-body Next funneled solely to the optional 2.2, but 2.1's branch in
data/course_sequence.yaml marks 2.3 as the Core path and 2.2 as skippable.
Rewrite the Next so the core route names 2.3, with 2.2 offered as optional -
mirroring the 5.1-around-5.2 pattern and matching the yaml branch labels.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Build-time check modeled on bin/check-svg-floor (report-only by default,
COURSE_PATH_BLOCK=1 to block). Per course lesson: (1) every in-body Next link
resolves to a real lesson page; (2) for lessons with a yaml Core-path branch,
the Next's core route (first link) names that same slug - the 2.1 drift class.
Includes --self-test asserting the drift predicate + a clean live tree.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nches + branch-aware Next)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…oward band

3206 -> 2894 words. Cut table-restatement prose, loop-theme restatements,
and case-anecdote bloat; fixed banned 'Founders who' / negative-parallelism
tells. Six pivot types, trigger table, ledger, and cross-links unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3150 -> 2896 words. Merged the four-point 'what none can do' closer, dropped
two 'vague input' mistake bullets that duplicated the prepare sections,
de-duped viability-score explanation, tightened workflow steps. All three
tool sections, tables, prompts, and cross-links unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…isition toward band

2870 -> 2860 words. Light pass: removed a restated 'messy middle' line and a
doubled 'wrong segment never converts' sentence. All teaching, tables, cohort
data, mermaid, and the refund-email prompt unchanged. Soft-over; no deeper fat
without cutting teaching.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…band

2733 -> 2688 words. Removed one abstract 'learn vocabulary under pressure'
paragraph that restated the concrete opener and 'why now' section - also drops
a mild fake-authority generalization tell. All five word definitions, BS-question
prompts, Rails examples, and both acronym tables unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…y line (reviewer P3)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@pftg
pftg merged commit a35d663 into master Aug 1, 2026
3 checks passed
@pftg
pftg deleted the course-w5-completion branch August 1, 2026 23:47
@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 288842a8-cd01-455c-84e4-bfbeea16ae31

📥 Commits

Reviewing files that changed from the base of the PR and between 6edd192 and d14ec57.

📒 Files selected for processing (13)
  • bin/check-course-paths
  • content/course/tech-for-non-technical-founders-2026/customers-leaving-churn-triage-not-acquisition/index.md
  • content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/index.md
  • content/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/index.md
  • content/course/tech-for-non-technical-founders-2026/five-tech-words-stop-nodding-at/index.md
  • content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/index.md
  • content/course/tech-for-non-technical-founders-2026/paid-pilot-charge-before-ship/index.md
  • content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md
  • content/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/index.md
  • content/course/tech-for-non-technical-founders-2026/should-you-hire-2026-decision-tree/index.md
  • content/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/index.md
  • content/course/tech-for-non-technical-founders-2026/validation-tools-field-guide/index.md
  • data/course_sequence.yaml

📝 Walkthrough

Walkthrough

The changes add a course-path validation script, branch-aware navigation for Lessons 4.1 and 5.6, and revised lesson guidance for validation, interviews, payments, hiring, and pivot decisions.

Changes

Course path updates

Layer / File(s) Summary
Course path validator
bin/check-course-paths
The Ruby utility checks lesson Next: links, detects dead links and Core-path drift, supports self-tests, and provides report-only or blocking modes.
Branch navigation and decision routing
data/course_sequence.yaml, content/course/tech-for-non-technical-founders-2026/should-you-hire-2026-decision-tree/index.md, content/course/tech-for-non-technical-founders-2026/paid-pilot-charge-before-ship/index.md
Lesson 4.1 now routes to self-serve or hire paths. Lesson 5.6 routes signed deposits to outbound sales and unsuccessful payment efforts to the pivot framework.
Validation workflow guidance
content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/index.md, content/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/index.md, content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/index.md, content/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/index.md, content/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/index.md, content/course/tech-for-non-technical-founders-2026/validation-tools-field-guide/index.md
The lessons now describe interview preparation, campaign waiting steps, Stripe verification, tool workflows, and the distinction between tool reports and customer validation.
Pivot framework and lesson revisions
content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md, content/course/tech-for-non-technical-founders-2026/customers-leaving-churn-triage-not-acquisition/index.md, content/course/tech-for-non-technical-founders-2026/five-tech-words-stop-nodding-at/index.md
The pivot framework adds trigger responses, ledger examples, measurement criteria, and discovery-loop guidance. Supporting lessons revise churn, technical-language, and hypothesis-testing wording.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Learner
  participant Lesson41 as Lesson 4.1
  participant CourseSequence as course_sequence.yaml
  participant Lesson56 as Lesson 5.6
  Learner->>Lesson41: Complete ownership setup
  Lesson41->>CourseSequence: Choose self-serve or hire track
  CourseSequence-->>Learner: Open the selected follow-up
  Learner->>Lesson56: Record deposit result
  Lesson56->>CourseSequence: Choose outbound or pivot path
  CourseSequence-->>Learner: Open the selected follow-up
Loading

Possibly related PRs

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch course-w5-completion

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 added a commit that referenced this pull request Aug 1, 2026
…trospective

Co-Authored-By: Claude Fable 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