Skip to content

Vibe Code Rescue: 2026 client-acquisition operating system + JTBD customer profile - #387

Merged
pftg merged 23 commits into
masterfrom
rescue-operation-setup
Jul 24, 2026
Merged

Vibe Code Rescue: 2026 client-acquisition operating system + JTBD customer profile#387
pftg merged 23 commits into
masterfrom
rescue-operation-setup

Conversation

@pftg

@pftg pftg commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

Stands up the Vibe Code Rescue client-acquisition operation so separate sessions can execute it step-by-step with zero context loss. Docs-only (no template/CSS/content-body changes). Goal it serves: 1 signed rescue client by Nov 30, 2026.

What's in it

Operating system (how we run it)

  • 2026-autumn-client-acquisition-strategy.md — vision, market validation, goal, 4 plays, roadmap, biggest risk (white-label partner)
  • operating-system.md — EOS-lite: accountability chart, quarterly OKR, rocks, weekly scorecard, IDS issues, pipeline, current-state pointer
  • vibe-code-rescue-operation-runbook.md — the shared cross-session state: ▶ START HERE block, artifact index, task cards, and an Incremental agent backlog (T1-T9) so a fresh session takes the next Ready task and runs it end-to-end

Foundations (brainstormed → voted, per the "don't trust your gut" mandate)

  • assumptions-register.md (A0) — ICP / lead-trigger / find-channel / pre-validation each given options, a scored vote, and a pre-validation test + kill-criteria
  • customer-profile-four-forces.md — JTBD customer profile ("Alex") + the Four Forces of Progress (push/pull/anxiety/habit) + a force → channel → message/post/comment map
  • icp-trigger-taxonomy.md (T1) — 8 ranked observable buying triggers + venue map (= the Push force)
  • sourcing-pipeline.md (T2) — per-trigger query recipes, lane split (agent-unattended vs Paul-manual), verified venues, run-now vs needs-Paul tool stack

Sprint drafts (cold-eyes fixes applied)

  • offer-one-pager.md, warm-intro-referral-kit.md, booking-page-spec.md

Also: reconciled 2510 GOAL-AT-A-GLANCE to the ICP-E rescue plan; 2604 TASK-TRACKER P2 note.

Per-commit

  • f3d090fd — operating system + sprint kit
  • c6823ece — JTBD customer profile + Four Forces of Progress

Review discipline

Every foundational premise is a falsifiable bet with a kill-criteria that fires on the first cohort of calls/touches (tracked by OS-WEEKLY). Each artifact carries a LIGHT cold-eyes self-refute with the verdict in-file.

Not in scope / next

Populating the actual prospect list (T4/T5), openers (T7), discovery kit (T8) — queued as autonomous agent work. Human-only items (Paul's desk): booking page, price confirm, send, calls, close.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added company-level reference docs for vision/mission, operating practices, and the opportunity portfolio, plus a new landing page for the company documentation layer.
    • Added/overhauled “Vibe Code Rescue” planning and execution materials, including strategy, executive summary, runbook, assumptions register, market analysis, customer/voice-of-customer, sourcing, prospecting/grooming, outbound openers, booking/offer details, pipeline/send tracking, and session + reply/send playbooks.
    • Refreshed existing project docs (SEO one-page summary, typography/UX task tracker).
    • Updated documentation location rules in CLAUDE.md.
  • Chores
    • Expanded repository ignore rules for additional agent scaffolding subdirectories and kanban.

Paul Keen and others added 2 commits July 21, 2026 23:34
… kit

Set up the Vibe Code Rescue operation so separate sessions execute it
without context loss:

- strategy + operating-system (EOS-lite) + operation runbook with a
  START HERE block, artifact index, and incremental agent backlog (T1-T9)
- A0 assumptions register: ICP/trigger/channel/pre-validation each
  brainstormed -> voted -> given pre-validation tests + kill-criteria
- T1 ICP trigger taxonomy + T2 sourcing pipeline (folds in web/community
  research: fetchability constraints, verified HN/IndieHackers seeds,
  proof-of-pain anchor, run-now vs needs-Paul tool stack)
- offer one-pager, warm-intro/referral kit, booking-page spec drafts
- reconcile 2510 GOAL-AT-A-GLANCE to ICP-E; 2604 tracker P2 note

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Build the demand model under the ICP: Alex the burned non-technical
founder, the job to be done, and the four forces (push/pull/anxiety/
habit). Push = the trigger taxonomy (what we listen for to find them);
pull = our ownership/trust wedge; anxiety + habit = the objection bank
to dismantle. Includes the force -> channel -> message/post/comment map
answering how we find them and what we say. Wired into runbook artifact
index; feeds A0, T1, T7 openers, T9 objections.

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

coderabbitai Bot commented Jul 21, 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: 2738e858-f826-4c73-92d0-c49110c875a9

📥 Commits

Reviewing files that changed from the base of the PR and between e4bc885 and 7eafbad.

📒 Files selected for processing (11)
  • docs/projects/2607-vibe-code-rescue/backlog.md
  • docs/projects/2607-vibe-code-rescue/executive-summary.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/SEND-SHEET.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/outbound-openers.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/pipeline.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/reply-monitor-prompt.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/send-runner-prompt.md
  • docs/projects/2607-vibe-code-rescue/strategy.md

📝 Walkthrough

Walkthrough

Adds company-level documentation and a complete Vibe Code Rescue acquisition system, including strategy, market research, operating governance, customer validation, offer assets, sourcing runbooks, prospect research, and project tracking updates.

Changes

Vibe Code Rescue acquisition system

Layer / File(s) Summary
Company documentation and strategy
.gitignore, CLAUDE.md, docs/business/*, docs/projects/2510-seo-content-strategy/*, docs/projects/2607-vibe-code-rescue/{strategy.md,executive-summary.md}, docs/projects/2607-vibe-code-rescue/10-19-research/*
Adds documentation policies, company operating materials, portfolio tracking, rescue strategy, market research, SEO planning, roadmap, and project framing.
Validation and sprint governance
docs/projects/2607-vibe-code-rescue/rescue-sprint/{assumptions-register.md,customer-profile-four-forces.md,icp-trigger-taxonomy.md,sourcing-pipeline.md,t4-t5-grooming.md}, docs/projects/2607-vibe-code-rescue/{operation-runbook.md,backlog.md}
Defines the target founder profile, assumptions, triggers, sourcing lanes, qualification rules, sprint cards, dependencies, gates, and operating procedures.
Offer, discovery, and outreach assets
docs/projects/2607-vibe-code-rescue/rescue-sprint/{booking-page-spec.md,offer-one-pager.md,warm-intro-referral-kit.md,discovery-kit.md,45-minute-session-playbook.md,objection-followup-bank.md,outbound-openers.md,SEND-SHEET.md,send-runner-prompt.md,reply-monitor-prompt.md}
Specifies the booking flow, rescue offer, discovery call, objection responses, follow-ups, personalized openers, browser-agent controls, and send tracking.
Prospect data and voice capture
docs/projects/2607-vibe-code-rescue/rescue-sprint/{prospects/*,cold-prospect-list.md,voice-of-customer.md,pipeline.md}
Adds prospect records, qualification outcomes, consolidated scoring, attributed voice-of-customer material, phrase-bank inputs, and pipeline metrics.

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

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: a Vibe Code Rescue client-acquisition operating system with JTBD customer profile work.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rescue-operation-setup

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.

Paul Keen and others added 7 commits July 21, 2026 23:47
Session-generated .claude/agents/{analysis,architecture,custom,data,
development,devops,documentation,flow-nexus,github,goal,optimization,
payments,sona,specialized,sublinear,v3}/ are plugin scaffolding, not
JT-authored agents. Ignore them alongside the existing browser/
consensus/sparc/testing entries so they stop showing as untracked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
One-page bet in Basecamp Shape Up format (Problem / Appetite / Solution
/ Rabbit holes / No-gos): rescue funded founders from broken AI/dev-shop
code by handing back a product they own and understand; one signed
client by Nov 30 to prove the machine. Linked from the strategy doc and
the runbook START HERE read-order.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… prove demand

This is the company's revenue operating system, not a reusable how-to,
so it belongs with the other major initiatives under docs/projects/
(2509/2510/2604/2605), not in docs/workflows/. Relocate and rename to
clean project-scoped names (executive-summary, strategy, operating-
system, operation-runbook, rescue-sprint/); fix all cross-links
(internal, cross-depth outbound to 90-99/2510/workflows, and the
inbound 2510 GOAL pointer). History preserved via git mv.

Also adds a 'Why we believe the demand is real' section to the exec
summary: measured AI-code-defect research (Liu 2026, Columbia DAPLab),
public founder-help volume (r/vibecoding growth, Ask HN threads), the
six-competitor market as demand proof, and willingness-to-pay at our
band (JetRockets minimums, the $40K-vs-$150K rebuild, named incidents).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The 'new docs only under docs/workflows/' rule is what sent the whole
Vibe Code Rescue operating system into workflows/. Update it: how-tos
stay in workflows/; business operations/campaigns/migrations/courses
get their own docs/projects/<YYMM-slug>/ folder (the existing 2509-2607
convention). Prevents recurrence.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New 10-19-research/market-analysis-2026.md sizes the opportunity:
- context (hard, sourced): $4.7B AI-app-builder market/38% CAGR; Lovable
  8M users, 45.7% founders/80% non-technical, 200K projects/day; Cursor
  360K paying; Replit 50M; Apple +84% app submissions YoY; Veracode 45%
  AI code fails security
- rescue-market sizing top-down + bottom-up [ESTIMATE-labelled], ~thousands
  of ICP-fit US prospects/yr, soft ~$225M serviceable market
- SOM: JT needs <1% -> market size is not the constraint, trust is
- pricing benchmarks, competitive density, confidence table
- caught + EXCLUDED Mordor's $7.06B report (haptic coding, wrong market)

Wired into exec-summary demand section + strategy 'Why now'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Being CEO = run the whole business, with Vibe Code Rescue as ONE project
validating one opportunity - not the business collapsed into a single
project. Introduce a company layer at docs/business/:
- index.md (front door), vision-mission.md (durable company identity,
  independent of any wedge), opportunity-portfolio.md (the bets + how we
  validate/kill/scale; VCR = portfolio bet #1, state Validating)
- move operating-system.md up to docs/business/ (it runs ALL projects;
  current OKR happens to be the active rescue bet) and reframe it as the
  company OS
- 2607-vibe-code-rescue stays as the project validating the opportunity;
  add a 'Part of business bet #1' pointer up to the company layer
- fix every cross-layer link (OS in/out, 2510 inbound); update CLAUDE.md
  new-doc rule to the 3 layers (business / project / workflow)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add t4-t5-grooming.md: discovery/throughput/qualification votes, lane
  split (T4 IndieHackers-first fetchable / T5 Reddit excerpt+F5Bot), DONE
  criteria, read-only anti-ban rules, assumption trace, LIGHT cold-eyes PASS.
- Runbook: point T4/T5 cards at the grooming (held for Paul's go), add
  grooming + VoC to artifact index, fix stale docs/workflows/ -> docs/projects/
  path, refresh current-state (next Ready = T8; T4/T5 await approval).
- sourcing-pipeline.md: replace dead GummySearch (shut Nov 2025) with F5Bot
  (free JSON/RSS feed, bypasses Reddit fetch block) + paid options.
- Add voice-of-customer.md swipe file (Four-Forces-keyed, attribution tags).

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

Due to the large number of review comments, Critical severity comments were prioritized as inline comments.

🟠 Major comments (23)
docs/business/opportunity-portfolio.md-35-35 (1)

35-35: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Distinguish measured market signals from estimated rescue-pool sizing.

market-analysis-2026.md explicitly labels the rescue pool as JT-derived assumptions with Low-Medium confidence. Calling the pool “measured, not guessed” overstates the evidence; reserve “measured” for the sourced tool/user signals and label the serviceable pool as an estimate.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/business/opportunity-portfolio.md` at line 35, Update the Timing bullet
in opportunity-portfolio.md to remove the claim that the broken, funded MVP pool
is “measured, not guessed.” Describe the rescue pool as an estimate based on
JT-derived assumptions, while reserving “measured” for the sourced AI-builder
tool and user signals.
docs/projects/2607-vibe-code-rescue/strategy.md-62-65 (1)

62-65: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Update the roadmap and risk after the partner was locked.

The strategy records the white-label partner as locked on July 21, 2026, while these sections still schedule partner lock for August and describe it as unresolved. Replace the stale milestone with the remaining validation work: paid trial rescue, quality-bar confirmation, and fallback-partner naming.

Also applies to: 72-76

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/strategy.md` around lines 62 - 65, Update
the roadmap entries in the August–November strategy table and the corresponding
risk section to remove the stale white-label partner-lock milestone, since the
partner was locked on July 21, 2026. Replace it with the remaining validation
work: complete a paid trial rescue, confirm the quality bar, and name a fallback
partner, while preserving the surrounding roadmap commitments.
docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md-5-7 (1)

5-7: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Clarify that the SEO project is a supporting workstream, not a second active bet.

The portfolio policy allows only one validating bet, and docs/business/opportunity-portfolio.md#L19 identifies Vibe Code Rescue as that bet. Calling the SEO project “NEXT ACTIVE PROJECT” can imply a competing active initiative. Label it as a supporting content/marketing workstream under portfolio bet #1, or explicitly document a different portfolio state.

  • docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md#L5-L7: replace “NEXT ACTIVE PROJECT” with supporting-workstream language.
  • docs/business/opportunity-portfolio.md#L19-L19: keep the one-validating-bet rule explicit.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md` around lines 5 -
7, Update the status in GOAL-AT-A-GLANCE.md to describe the SEO effort as a
supporting content/marketing workstream under portfolio bet `#1`, not a next
active project. In docs/business/opportunity-portfolio.md, retain the explicit
one-validating-bet rule at the cited line; no direct change is needed there
unless required to preserve that wording.
docs/business/operating-system.md-37-40 (1)

37-40: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Choose one Rescue Audit pricing contract and propagate it everywhere.

docs/business/operating-system.md#L39 counts paid Rescue Audits, while docs/projects/2607-vibe-code-rescue/executive-summary.md#L40 defines a free Code Audit and docs/projects/2607-vibe-code-rescue/strategy.md#L47-L49 describes a fixed-fee audit. This changes the offer, funnel, KPI, and booking flow. Decide whether the audit is free or paid, then update all three documents and the downstream booking/runbook artifacts.

  • docs/business/operating-system.md#L37-L40: align KR3 with the chosen audit model.
  • docs/projects/2607-vibe-code-rescue/executive-summary.md#L38-L40: align the offer definition with KR3.
  • docs/projects/2607-vibe-code-rescue/strategy.md#L47-L49: use the same pricing language.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/business/operating-system.md` around lines 37 - 40, Choose a single
pricing model for the Rescue Audit, then propagate it consistently across
docs/business/operating-system.md lines 37-40,
docs/projects/2607-vibe-code-rescue/executive-summary.md lines 38-40, and
docs/projects/2607-vibe-code-rescue/strategy.md lines 47-49: align KR3, the
offer definition, and the pricing language, then update the downstream booking
and runbook artifacts to match.
docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md-14-25 (1)

14-25: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Make the hard numbers and incident claims individually traceable.

  • docs/business/vision-mission.md#L9-L11, docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md#L25-L28, docs/projects/2607-vibe-code-rescue/executive-summary.md#L18-L24, and docs/projects/2607-vibe-code-rescue/strategy.md#L24-L29 still need direct citations for the retention/user-count/pricing/incidents claims.
  • docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md#L14-L25 and #L94-L98 should map each row to a specific source URL/title/date instead of a broad source bundle; keep the Mordor exclusion note.
  • Reword “45% of AI-generated code carries OWASP vulnerabilities” to match the Veracode wording: 45% of tasks introduced detectable security vulnerabilities.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md`
around lines 14 - 25, Make every hard-number and incident claim directly
traceable: add specific source URL, title, and date citations to
docs/business/vision-mission.md lines 9-11,
docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md lines 25-28,
docs/projects/2607-vibe-code-rescue/executive-summary.md lines 18-24, and
docs/projects/2607-vibe-code-rescue/strategy.md lines 24-29. In
docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md lines
14-25 and 94-98, map each claim or table row to an individual source
URL/title/date, retain the Mordor exclusion note, and revise the Veracode claim
to state that 45% of tasks introduced detectable security vulnerabilities rather
than claiming 45% of generated code carries OWASP vulnerabilities.

Source: Coding guidelines

docs/projects/2607-vibe-code-rescue/operation-runbook.md-80-83 (1)

80-83: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Fix the T8 readiness/dependency contradiction.

T8 is Ready while its dependency is A2 draft, and A2 is still In progress; the lifecycle rule says a card is ready only when all dependencies are Done. Either mark T8 blocked until A2 is done or change the dependency semantics and lifecycle rule to explicitly allow draft dependencies.

Also applies to: 104-105

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 80 -
83, The T8 status conflicts with its A2 draft dependency and the runbook’s
readiness rule. Update the T8 row and the “Next Ready T-task” statement to mark
T8 blocked until A2 is Done, preserving the existing dependency semantics and
lifecycle rule.
docs/projects/2607-vibe-code-rescue/operation-runbook.md-5-8 (1)

5-8: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Include the repository-required startup checks.

This startup sequence only names BASE_HANDBOOK.md and flow-router.md, but the repository instructions also require reading applicable architecture/knowledge-bundle documentation, consuming .okf through its skills, and using semantic search before exact shell verification. Add those steps or link to the canonical startup procedure so future sessions do not bypass repository policy.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 5 - 8,
Update the startup sequence in the runbook’s “How to read this” section to
include or link to the canonical repository startup procedure, covering
applicable architecture and knowledge-bundle documentation, consuming .okf
through its skills, and performing semantic search before exact shell
verification. Preserve the existing BASE_HANDBOOK.md and flow-router.md steps.

Source: Coding guidelines

docs/projects/2607-vibe-code-rescue/operation-runbook.md-226-232 (1)

226-232: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Connect D1 to the backlog outputs.

D1 requires a call script, follow-up sequence, and audit template, while T8/T9 produce those artifacts; however, D1 only depends on A2 and remains independently Blocked. Add T8/T9 to the dependency/status handoff or split D1 so completed backlog tasks can actually advance the card.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 226 -
232, Update the CARD D1 dependency and status handoff so its required call
script, follow-up sequence, and audit template are explicitly connected to the
T8/T9 outputs. Either add T8/T9 as dependencies with an advancement path from
their completion, or split D1 to allow those completed backlog tasks to advance
the card while preserving the existing A2 dependency.
docs/projects/2607-vibe-code-rescue/operation-runbook.md-142-149 (1)

142-149: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Choose one booking implementation path.

S0 says the lean path is an external Cal.com/NeetoCal link with no site change, but its steps and inputs require embedding a widget in the consultation page. This is an implementation contract conflict; decide between an external-link rollout and a page/template change, then update the status, inputs, and definition of done consistently.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 142 -
149, Resolve the booking implementation contract in CARD S0 by choosing either
an external Cal.com/NeetoCal link with no site change or an embedded widget
requiring consultation-page/template changes. Update the status, inputs, steps,
and definition-of-done consistently with the selected path, using the referenced
consultation page, template, and operating-system section only when applicable.
docs/projects/2607-vibe-code-rescue/operation-runbook.md-17-17 (1)

17-17: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Correct the future-dated current state.

The runbook labels 2026-07-22 as the current state, but the review date is July 21, 2026. Either use 2026-07-21 or explicitly mark this as a planned/future state; otherwise sessions may treat tomorrow’s work as already completed.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` at line 17, Correct
the date in the “Current state” entry to 2026-07-21, or explicitly label
2026-07-22 as a planned/future state. Preserve the existing milestone statuses
and next-step guidance.
docs/projects/2607-vibe-code-rescue/operation-runbook.md-75-75 (1)

75-75: 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Define mailbox-data handling before enabling T3.

T3 exports contact names, touch history, and qualification notes from Paul’s mailbox into repository documentation. One-time consent from Paul does not define minimization, retention/deletion, access, or handling of third-party personal data. Restrict the captured fields and document consent scope plus retention rules before this task runs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` at line 75, Update
the T3 “Warm-source pass (Gmail)” entry and its referenced warm-intro
documentation to define mailbox-data handling before execution: limit captured
fields to the minimum necessary, document Paul’s consent scope, specify access
controls and retention/deletion rules, and address handling of third-party
personal data. Keep T3 blocked until these requirements are documented and
consent is confirmed.
docs/projects/2607-vibe-code-rescue/operation-runbook.md-50-61 (1)

50-61: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Reconcile the Paul dependency contract.

The desk says these are the only items requiring Paul and explicitly calls any other “waiting on Paul” state a mis-scope, but T4/T5 are both awaiting Paul’s approval. Add that approval as a tracked desk item or remove the hard gate from T4/T5.

Also applies to: 76-77

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 50 -
61, Reconcile the “HUMAN-ONLY” contract in the Paul’s desk section with the
T4/T5 approval gates: either add the required Paul approval as a tracked desk
item with its dependency and blocking effects, or remove the hard “waiting on
Paul” gates from T4/T5. Ensure no workflow state outside the listed desk items
claims to require Paul.
docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md-42-50 (1)

42-50: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Add the missing Habit phrase-bank row.

The Four Forces model has Push, Pull, Anxiety, and Habit, and t4-t5-grooming.md:100-104 requires at least one phrase per force. Add Habit to this table so the T7 interface can represent all four forces.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md`
around lines 42 - 50, Add a Habit row to the phrase-bank table alongside Push,
Pull, and Anxiety, using the same placeholder and source-tag structure. Keep it
empty and verbatim-only as required, without adding an archetype-derived phrase.
docs/projects/2607-vibe-code-rescue/rescue-sprint/t4-t5-grooming.md-52-54 (1)

52-54: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Scope the “open each thread exactly once” rule to fetchable venues.

T4 is defined as full-thread read-once extraction, but T5 explicitly says Reddit bodies are mostly unavailable and uses excerpt/F5Bot capture. State the exception directly; otherwise the workflow contains an impossible requirement for T5.

Also applies to: 71-76

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/t4-t5-grooming.md` around
lines 52 - 54, Clarify the “open each thread exactly once” rule in the Pick A
workflow to apply only to venues with fetchable full-thread content. Explicitly
exempt Reddit or other unavailable-body sources, allowing their excerpt/F5Bot
capture path while preserving read-once extraction for fetchable venues.
docs/projects/2607-vibe-code-rescue/rescue-sprint/sourcing-pipeline.md-63-76 (1)

63-76: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Use one canonical destination for cold prospects.

This file sends cold rows to a “Cold section” in warm-intro-referral-kit.md, but t4-t5-grooming.md:82-88 explicitly requires a separate cold-prospect-list.md. Reconcile this before T6 runs; otherwise rows can be written to the wrong artifact and disappear from the dedupe/openers flow.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/sourcing-pipeline.md`
around lines 63 - 76, Update the row-destination guidance in the sourcing
pipeline so cold prospect rows are written to the canonical
cold-prospect-list.md artifact required by t4-t5-grooming, while warm rows
continue targeting warm-intro-referral-kit.md. Remove the conflicting
instruction to place cold rows in a Cold section of the warm file, ensuring T6
merges the correct artifacts.
docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md-37-41 (1)

37-41: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Make repo access a real gate or change the audit promise.

Line 37 says read access is required to run the audit, but the confirmation copy makes access optional (“If you can”). This will book un-auditable calls. Require access before booking, or explicitly route callers without access to a separate triage/discovery flow.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md`
around lines 37 - 41, Align the booking qualification and “Confirmation message
copy” so repository read access is enforced before booking when the audit is
promised. Alternatively, explicitly route callers without access into a separate
triage/discovery flow and revise the confirmation copy to reflect that path; do
not present access as optional for an auditable call.
docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md-25-34 (1)

25-34: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Add the fields required by the T3 warm-source contract.

The table has no last touch column, although sourcing-pipeline.md:45-51 requires T3 to append name, last touch, why-ICP, and best path. Without that field, the warm-source output loses required relationship context and cannot be audited consistently.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md`
around lines 25 - 34, Update the warm-source table to add a Last touch column
alongside the existing Name, Relationship to Paul, Why they're near the ICP, and
Best intro path fields. Add corresponding last-touch placeholder values to every
referral row, preserving the existing relationship and sourcing details so the
output satisfies the T3 warm-source contract.
docs/projects/2607-vibe-code-rescue/rescue-sprint/icp-trigger-taxonomy.md-79-85 (1)

79-85: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Align the venue access map with the verified fetchability constraints.

This table says Reddit and other venues are available through “web search + read” or are public, while sourcing-pipeline.md:84-89 and :94-98 state that Reddit bodies are not reliably fetchable and require excerpts/F5Bot. Specify the actual access mode per venue so T2/T4/T5 do not assume full-thread access.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/icp-trigger-taxonomy.md`
around lines 79 - 85, Update the venue access map in the taxonomy table to match
the verified fetchability constraints from sourcing-pipeline.md, especially the
Reddit rows and other venues currently labeled “web search + read” or “public.”
Explicitly distinguish reliable full-content access from search-result excerpts,
F5Bot, or manual access so T2/T4/T5 do not assume Reddit full-thread retrieval;
preserve each venue’s existing trigger coverage.
docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md-32-32 (1)

32-32: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Correct the speaker tag for the Replit incident quote.

The text identifies “I destroyed months of work in seconds” as the Replit AI agent’s words, but the tag is [VERBATIM-founder, incident]. Use an incident/vendor tag and explicitly exclude it from founder-quote counts; otherwise T7 may mirror non-founder language as customer voice.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md` at
line 32, Update the Replit incident entry’s tag from VERBATIM-founder to an
incident/vendor designation, and explicitly mark it as excluded from
founder-quote counts. Preserve the quote and its incident context so T7 does not
treat the Replit AI agent’s words as founder customer voice.
docs/projects/2607-vibe-code-rescue/rescue-sprint/assumptions-register.md-20-24 (1)

20-24: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Recalculate the weighted vote totals before treating A0 as validated.

Several totals do not match the displayed scores: A3 should be 18, B1/B2/B3 should be 23/28/23, C3/C4 should be 17/18, and D2 should be 25. Because these tables determine the selected ICP, trigger, channel, and pre-qualification bets, the current record is not auditable.

Also applies to: 40-44, 61-67, 83-88

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/assumptions-register.md`
around lines 20 - 24, Recalculate and correct every weighted vote total in the
assumptions register, including the A, B, C, and D rows identified by the
review, so each Total /35 matches its displayed scores and multipliers.
Specifically verify A3, B1, B2, B3, C3, C4, and D2, and preserve the table’s
existing scoring format for auditability before treating A0 as validated.
docs/projects/2607-vibe-code-rescue/rescue-sprint/t4-t5-grooming.md-24-30 (1)

24-30: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Recalculate the grooming vote totals.

Vote 1 should total A=44, B=38, C=35, not 43/31/34. Vote 2 option C should total 32, not 31. These totals are used to justify the selected sourcing and capture designs, so they must be internally consistent.

Also applies to: 44-50

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/t4-t5-grooming.md` around
lines 24 - 30, The grooming vote tables in the documented criteria sections need
corrected weighted totals. Update Vote 1 to A=44, B=38, and C=35, and update
Vote 2 option C to 32; adjust the corresponding displayed totals in the sections
around the visible “Weighted total” row and the referenced later vote so they
are internally consistent.
docs/projects/2607-vibe-code-rescue/rescue-sprint/sourcing-pipeline.md-126-126 (1)

126-126: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not mark T4/T5 ready before Paul approves the grooming gate.

The line says both cards should “run now,” but t4-t5-grooming.md:1-8 and the runbook state that sourcing is blocked pending Paul’s approval. Keep the execution status consistent with that hard gate.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/sourcing-pipeline.md` at
line 126, Update the “Next Ready” status in the sourcing pipeline document so T4
and T5 remain blocked pending Paul’s grooming-gate approval, rather than being
described as ready to run. Preserve the note that T3 is waiting on optional
Gmail consent, and keep the status consistent with the gating guidance in
t4-t5-grooming.md and the runbook.
docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md-13-15 (1)

13-15: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Do not claim automatic KPI counting without an integration contract.

The spec says every booking is automatically counted, but the later instructions still require manually maintaining the pipeline and attribution. Define the actual Cal.com/NeetoCal-to-scorecard integration, or change the copy to say bookings are recorded and reconciled manually.

Also applies to: 47-51

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md`
around lines 13 - 15, Align the KPI claim in the booking-page specification with
the documented workflow: either define the concrete Cal.com/NeetoCal integration
that sends bookings into the operating-system.md scorecard and resolves
attribution, or replace claims of automatic counting with manual recording and
reconciliation. Update the related booking and scorecard instructions
consistently.
🟡 Minor comments (6)
docs/business/vision-mission.md-29-29 (1)

29-29: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix the broken ICP profile link.

From docs/business/vision-mission.md, ../../90-99-content-strategy/... escapes the docs/ directory. Use ../90-99-content-strategy/strategy-analysis/90.10-icp-primary-website-target.md.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/business/vision-mission.md` at line 29, Update the ICP profile Markdown
link in the vision and mission content to use the path relative to the docs
directory, changing the escaped `../../90-99-content-strategy/...` reference to
`../90-99-content-strategy/strategy-analysis/90.10-icp-primary-website-target.md`.
docs/projects/2607-vibe-code-rescue/operation-runbook.md-22-22 (1)

22-22: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add the required blank line before the table.

markdownlint-cli2 reports MD058 here. Insert a blank line between the artifact-index paragraph and the table.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` at line 22, Insert
a blank line between the artifact-index paragraph and the table header in the
operation runbook, preserving the existing table content and formatting.

Source: Linters/SAST tools

docs/projects/2607-vibe-code-rescue/operation-runbook.md-190-194 (1)

190-194: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Capitalize “LinkedIn.”

The platform name is written as linkedin in the skill and cold-eyes references. Use LinkedIn consistently in this user-facing operating documentation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 190 -
194, Update the user-facing references in the skills and cold-eyes entries to
capitalize the platform name as “LinkedIn,” including the skill identifiers and
blog/LinkedIn text, while preserving the existing wording and formatting.

Source: Linters/SAST tools

docs/projects/2607-vibe-code-rescue/operation-runbook.md-12-16 (1)

12-16: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the fresh-session read order unambiguous.

Line 12 says to read “START HERE” first, while Line 16 says executive-summary.md comes first. Choose one order; otherwise sessions can start from inconsistent state.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md` around lines 12 -
16, Update the “START HERE (fresh session)” read-order instructions so they
specify one unambiguous first step. Make the ordering consistent between the
heading guidance and the numbered “Read order” list, preserving the intended
sequence for executive-summary.md, the START HERE block, ACTIVE SPRINT state,
and the Incremental agent backlog.
docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md-36-36 (1)

36-36: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Do not present paraphrases as real founder quotes.

Line 110 says these are paraphrased archetypes, but this line labels them “Real founder language” and puts them in quotation marks. Mark them as illustrative until T4/T5 harvests verbatim evidence; otherwise T7 may mirror invented language as customer voice.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md`
at line 36, Update the “Real founder language” section to label the listed
phrases as illustrative paraphrases rather than verified founder quotes, and
remove quotation-mark treatment that implies verbatim evidence. Preserve the
phrases as provisional examples until T4/T5 produces validated language.
docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md-52-52 (1)

52-52: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Align the social-proof figures to the company source. customer-profile-four-forces.md uses “3-year average relationships,” while the company copy uses “five-year average client relationships”; keep that duration, plus the 4.8/5 from 32 clients claim, consistent across these docs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md`
at line 52, The social-proof wording is inconsistent with the company source. In
docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md:52,
docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md:32, and
docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md:77,
use “five-year average client relationships” while preserving the “4.8/5 from 32
clients” claim.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Major comments:
In `@docs/business/operating-system.md`:
- Around line 37-40: Choose a single pricing model for the Rescue Audit, then
propagate it consistently across docs/business/operating-system.md lines 37-40,
docs/projects/2607-vibe-code-rescue/executive-summary.md lines 38-40, and
docs/projects/2607-vibe-code-rescue/strategy.md lines 47-49: align KR3, the
offer definition, and the pricing language, then update the downstream booking
and runbook artifacts to match.

In `@docs/business/opportunity-portfolio.md`:
- Line 35: Update the Timing bullet in opportunity-portfolio.md to remove the
claim that the broken, funded MVP pool is “measured, not guessed.” Describe the
rescue pool as an estimate based on JT-derived assumptions, while reserving
“measured” for the sourced AI-builder tool and user signals.

In `@docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md`:
- Around line 5-7: Update the status in GOAL-AT-A-GLANCE.md to describe the SEO
effort as a supporting content/marketing workstream under portfolio bet `#1`, not
a next active project. In docs/business/opportunity-portfolio.md, retain the
explicit one-validating-bet rule at the cited line; no direct change is needed
there unless required to preserve that wording.

In `@docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md`:
- Around line 14-25: Make every hard-number and incident claim directly
traceable: add specific source URL, title, and date citations to
docs/business/vision-mission.md lines 9-11,
docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md lines 25-28,
docs/projects/2607-vibe-code-rescue/executive-summary.md lines 18-24, and
docs/projects/2607-vibe-code-rescue/strategy.md lines 24-29. In
docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md lines
14-25 and 94-98, map each claim or table row to an individual source
URL/title/date, retain the Mordor exclusion note, and revise the Veracode claim
to state that 45% of tasks introduced detectable security vulnerabilities rather
than claiming 45% of generated code carries OWASP vulnerabilities.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md`:
- Around line 80-83: The T8 status conflicts with its A2 draft dependency and
the runbook’s readiness rule. Update the T8 row and the “Next Ready T-task”
statement to mark T8 blocked until A2 is Done, preserving the existing
dependency semantics and lifecycle rule.
- Around line 5-8: Update the startup sequence in the runbook’s “How to read
this” section to include or link to the canonical repository startup procedure,
covering applicable architecture and knowledge-bundle documentation, consuming
.okf through its skills, and performing semantic search before exact shell
verification. Preserve the existing BASE_HANDBOOK.md and flow-router.md steps.
- Around line 226-232: Update the CARD D1 dependency and status handoff so its
required call script, follow-up sequence, and audit template are explicitly
connected to the T8/T9 outputs. Either add T8/T9 as dependencies with an
advancement path from their completion, or split D1 to allow those completed
backlog tasks to advance the card while preserving the existing A2 dependency.
- Around line 142-149: Resolve the booking implementation contract in CARD S0 by
choosing either an external Cal.com/NeetoCal link with no site change or an
embedded widget requiring consultation-page/template changes. Update the status,
inputs, steps, and definition-of-done consistently with the selected path, using
the referenced consultation page, template, and operating-system section only
when applicable.
- Line 17: Correct the date in the “Current state” entry to 2026-07-21, or
explicitly label 2026-07-22 as a planned/future state. Preserve the existing
milestone statuses and next-step guidance.
- Line 75: Update the T3 “Warm-source pass (Gmail)” entry and its referenced
warm-intro documentation to define mailbox-data handling before execution: limit
captured fields to the minimum necessary, document Paul’s consent scope, specify
access controls and retention/deletion rules, and address handling of
third-party personal data. Keep T3 blocked until these requirements are
documented and consent is confirmed.
- Around line 50-61: Reconcile the “HUMAN-ONLY” contract in the Paul’s desk
section with the T4/T5 approval gates: either add the required Paul approval as
a tracked desk item with its dependency and blocking effects, or remove the hard
“waiting on Paul” gates from T4/T5. Ensure no workflow state outside the listed
desk items claims to require Paul.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/assumptions-register.md`:
- Around line 20-24: Recalculate and correct every weighted vote total in the
assumptions register, including the A, B, C, and D rows identified by the
review, so each Total /35 matches its displayed scores and multipliers.
Specifically verify A3, B1, B2, B3, C3, C4, and D2, and preserve the table’s
existing scoring format for auditability before treating A0 as validated.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md`:
- Around line 37-41: Align the booking qualification and “Confirmation message
copy” so repository read access is enforced before booking when the audit is
promised. Alternatively, explicitly route callers without access into a separate
triage/discovery flow and revise the confirmation copy to reflect that path; do
not present access as optional for an auditable call.
- Around line 13-15: Align the KPI claim in the booking-page specification with
the documented workflow: either define the concrete Cal.com/NeetoCal integration
that sends bookings into the operating-system.md scorecard and resolves
attribution, or replace claims of automatic counting with manual recording and
reconciliation. Update the related booking and scorecard instructions
consistently.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/icp-trigger-taxonomy.md`:
- Around line 79-85: Update the venue access map in the taxonomy table to match
the verified fetchability constraints from sourcing-pipeline.md, especially the
Reddit rows and other venues currently labeled “web search + read” or “public.”
Explicitly distinguish reliable full-content access from search-result excerpts,
F5Bot, or manual access so T2/T4/T5 do not assume Reddit full-thread retrieval;
preserve each venue’s existing trigger coverage.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/sourcing-pipeline.md`:
- Around line 63-76: Update the row-destination guidance in the sourcing
pipeline so cold prospect rows are written to the canonical
cold-prospect-list.md artifact required by t4-t5-grooming, while warm rows
continue targeting warm-intro-referral-kit.md. Remove the conflicting
instruction to place cold rows in a Cold section of the warm file, ensuring T6
merges the correct artifacts.
- Line 126: Update the “Next Ready” status in the sourcing pipeline document so
T4 and T5 remain blocked pending Paul’s grooming-gate approval, rather than
being described as ready to run. Preserve the note that T3 is waiting on
optional Gmail consent, and keep the status consistent with the gating guidance
in t4-t5-grooming.md and the runbook.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/t4-t5-grooming.md`:
- Around line 52-54: Clarify the “open each thread exactly once” rule in the
Pick A workflow to apply only to venues with fetchable full-thread content.
Explicitly exempt Reddit or other unavailable-body sources, allowing their
excerpt/F5Bot capture path while preserving read-once extraction for fetchable
venues.
- Around line 24-30: The grooming vote tables in the documented criteria
sections need corrected weighted totals. Update Vote 1 to A=44, B=38, and C=35,
and update Vote 2 option C to 32; adjust the corresponding displayed totals in
the sections around the visible “Weighted total” row and the referenced later
vote so they are internally consistent.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md`:
- Around line 42-50: Add a Habit row to the phrase-bank table alongside Push,
Pull, and Anxiety, using the same placeholder and source-tag structure. Keep it
empty and verbatim-only as required, without adding an archetype-derived phrase.
- Line 32: Update the Replit incident entry’s tag from VERBATIM-founder to an
incident/vendor designation, and explicitly mark it as excluded from
founder-quote counts. Preserve the quote and its incident context so T7 does not
treat the Replit AI agent’s words as founder customer voice.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md`:
- Around line 25-34: Update the warm-source table to add a Last touch column
alongside the existing Name, Relationship to Paul, Why they're near the ICP, and
Best intro path fields. Add corresponding last-touch placeholder values to every
referral row, preserving the existing relationship and sourcing details so the
output satisfies the T3 warm-source contract.

In `@docs/projects/2607-vibe-code-rescue/strategy.md`:
- Around line 62-65: Update the roadmap entries in the August–November strategy
table and the corresponding risk section to remove the stale white-label
partner-lock milestone, since the partner was locked on July 21, 2026. Replace
it with the remaining validation work: complete a paid trial rescue, confirm the
quality bar, and name a fallback partner, while preserving the surrounding
roadmap commitments.

---

Minor comments:
In `@docs/business/vision-mission.md`:
- Line 29: Update the ICP profile Markdown link in the vision and mission
content to use the path relative to the docs directory, changing the escaped
`../../90-99-content-strategy/...` reference to
`../90-99-content-strategy/strategy-analysis/90.10-icp-primary-website-target.md`.

In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md`:
- Line 22: Insert a blank line between the artifact-index paragraph and the
table header in the operation runbook, preserving the existing table content and
formatting.
- Around line 190-194: Update the user-facing references in the skills and
cold-eyes entries to capitalize the platform name as “LinkedIn,” including the
skill identifiers and blog/LinkedIn text, while preserving the existing wording
and formatting.
- Around line 12-16: Update the “START HERE (fresh session)” read-order
instructions so they specify one unambiguous first step. Make the ordering
consistent between the heading guidance and the numbered “Read order” list,
preserving the intended sequence for executive-summary.md, the START HERE block,
ACTIVE SPRINT state, and the Incremental agent backlog.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md`:
- Line 36: Update the “Real founder language” section to label the listed
phrases as illustrative paraphrases rather than verified founder quotes, and
remove quotation-mark treatment that implies verbatim evidence. Preserve the
phrases as provisional examples until T4/T5 produces validated language.
- Line 52: The social-proof wording is inconsistent with the company source. In
docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md:52,
docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md:32, and
docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md:77,
use “five-year average client relationships” while preserving the “4.8/5 from 32
clients” claim.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b7a0274f-acc8-4b57-8f65-fd6e24df974a

📥 Commits

Reviewing files that changed from the base of the PR and between b488993 and a924536.

📒 Files selected for processing (21)
  • .gitignore
  • CLAUDE.md
  • docs/business/index.md
  • docs/business/operating-system.md
  • docs/business/opportunity-portfolio.md
  • docs/business/vision-mission.md
  • docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md
  • docs/projects/2604-typography-ux/TASK-TRACKER.md
  • docs/projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md
  • docs/projects/2607-vibe-code-rescue/executive-summary.md
  • docs/projects/2607-vibe-code-rescue/operation-runbook.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/assumptions-register.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/icp-trigger-taxonomy.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/sourcing-pipeline.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/t4-t5-grooming.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md
  • docs/projects/2607-vibe-code-rescue/strategy.md

Paul Keen and others added 8 commits July 22, 2026 01:00
- backlog.md: one-file-per-project atomic task list any agent can run cold.
  Stage 1 sourcing P1-P7 (IH comment-mine / IH posts / HN / Reddit / X /
  competitor comments / F5Bot) each write to own prospects/<id>.md (parallel-
  safe, no collision) + inline VoC; seeded with URLs/handles verified 2026-07-22
  so agents don't re-derive. Stage 2 P8 merge+dedupe+score. Stage 3 P9 openers.
- Runbook: point START HERE + backlog table + artifact index at backlog.md;
  T4/T5 now the strategic view, P1-P9 the execution granularity.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ready

- discovery-kit.md: 45-min Code Audit agenda + SPIN/Four-Forces call script
  (behavior questions, ownership wedge after pain, real salvage numbers) +
  one-page Red/Amber/Green scorecard + salvage-vs-rebuild verdict template.
  Devil's-advocate self-refute PASS; watch-item = hold pain-before-intake order.
- Runbook + backlog: T8 Done, T9 (objection/follow-up bank) now Ready.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- prospects/p1-p7 stub files (row schema + VoC heading) so each source task
  is turnkey - agent just appends.
- prospects/RUN.md: one concise copy-paste prompt per task (P1-P9, T9) sharing
  a common wrapper (read task + grooming, qualify hard, own file, no commit).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Board jetthoughts.github.io holds tasks #1-#10 (tag 2607): P1-P6 sourcing,
P7 F5Bot (blocked on Paul), P8 merge (dep P1-P7), P9 openers (dep P8), T9.
Board is local-only (kanban/ is gitignored with other agent working-state);
backlog.md + prospects/RUN.md are the committed specs + seeds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- P1 IH comment-mine: 7 ICP rows from seeded threads + site-scoped search
- P2 IH founder posts: 6 rows (SpecBuildLab, Saul_E, SANICE_AI, techPackets)
- P3 HN threads: 4 rows (thin - HN is dev-dominated, mostly secondhand)
- P4 Reddit excerpt-only: 10 rows (strongest venue for raw founder pain)
- P5 X/Twitter: 4 rows (low yield as expected - auditors dominate)
- P6 Competitor comments: 5 rows (blog sections gated, found in adjacent threads)
- P7 F5Bot: 5 keywords live on free plan, awaiting first digest
- T9 Objection bank: 9 objections + 3-touch no-reply follow-up sequence

Total: ~36 prospect rows across 6 source files. P8 (merge) ready to run.
…er tags

- P3: clear rows table (all dev/observer, no founder voices)
- P4: remove 2 failing rows (auditor, observer)
- P5: remove 3 rows (investor, consultant, observer), keep 1 semi-ICP
- P6: remove 2 rows (dev venting, observer)
- All: replace em-dashes with hyphens in VoC sections
- Merge P1-P7 into cold-prospect-list.md: 25 rows, zero dupes
- 19 ICP, 6 semi-ICP across IH/Reddit/LinkedIn/X
- Trigger breakdown: 11 T1 (bugs), 3 T3 (ownership), 11 T7 (stuck)
- Fold VoC into voice-of-customer.md: 13 Push, 5 Pull, 5 Anxiety, 4 Habit
- Phrase bank populated with 12 VERBATIM-founder mirror phrases
- LIGHT gate: Paul would recognize these as worth his time
- A2 pricing: 3-tier structure ($2,500 triage / $7,500 rescue / $10K foundation reset)
- AI-assisted delivery model: same senior oversight, 3x cost reduction vs traditional
- Update offer-one-pager.md with new pricing + tier descriptions
- Update objection bank + customer profile with new price anchors
- P9: 25 personalized outbound openers (thread-reply/DM per prospect)
- Each opener mirrors founder verbatim words, offers free audit, no pitch
- Send strategy: 3-5/day staggered across platforms to avoid spam flags

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 13

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md (1)

7-7: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Use a declared attribution tag for the incident quote.

[VERBATIM-founder, incident] is outside the tag schema declared on Line 7 and can be misclassified as founder language. Add a dedicated [VERBATIM-incident] category and explicitly exclude it from opener mirroring.

Proposed fix
-**Attribution rule**: tag each quote `[VERBATIM-founder]`, `[VERBATIM-dev/team]`, `[blog-paraphrase]`, or `[vendor]`.
+**Attribution rule**: tag each quote `[VERBATIM-founder]`, `[VERBATIM-dev/team]`, `[VERBATIM-incident]`, `[blog-paraphrase]`, or `[vendor]`.

- `[VERBATIM-founder, incident]` "I destroyed months of work in seconds"
+ `[VERBATIM-incident]` "I destroyed months of work in seconds"

Also applies to: 58-58

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md` at
line 7, Update the attribution rule and the related incident quote tags to use a
dedicated [VERBATIM-incident] category instead of [VERBATIM-founder, incident].
Explicitly state that incident quotes are not safe to mirror as “their words,”
while preserving the existing source-link requirement and applying the change to
both occurrences.
🧹 Nitpick comments (1)
docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md (1)

19-24: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Separate founder VoC from secondhand evidence.

These sections are titled “verbatim founder lines,” but they include [VERBATIM-dev/team] commentary and, in P5, an investor/CEO signal explicitly described as outside the target small-founder ICP. Keep this evidence in a clearly labeled observer/secondhand section, or ensure downstream harvesting filters it out before building the founder phrase bank.

  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md#L19-L24: rename the section and classify all entries as secondhand evidence.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p5-x.md#L24-L28: reclassify consultant, developer, and investor commentary outside founder VoC.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p6-competitor-comments.md#L26-L31: move the Alex Turnbull line out of founder VoC.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md` around
lines 19 - 24, Separate founder VoC from secondhand evidence across
docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md lines
19-24, p5-x.md lines 24-28, and p6-competitor-comments.md lines 26-31: rename
the P3 section and classify its entries as secondhand evidence, reclassify the
consultant, developer, and investor commentary in P5, and move the Alex Turnbull
line in P6 out of founder VoC so downstream phrase harvesting excludes them.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/projects/2607-vibe-code-rescue/backlog.md`:
- Around line 78-80: Synchronize the live task-state documentation: in
docs/projects/2607-vibe-code-rescue/backlog.md lines 78-80, reconcile P7/P8/P9
statuses and remove the stale “Then: P8” sequence; update
docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md lines 5,
64, and 77-78 to match the authoritative state, including the F5Bot count,
pending status, and deduplication notes.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md`:
- Around line 70-74: Add an explicit data-handling and access-safety contract to
the audit process, including sanitized or non-production access where feasible,
a prohibition on copying secrets or customer data into findings, defined
retention and deletion practices, and access revocation after completion. Apply
the same contract to the related guidance at the sections corresponding to the
additional referenced ranges.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/objection-followup-bank.md`:
- Around line 125-149: Align the “3-touch no-reply follow-up sequence” schedule
with its stated 3–4 business-day spacing by updating the Touch 2 and Touch 3 day
ranges to consistently follow Touch 1 at day 0. Preserve the three-touch
structure and the existing sequence content.
- Around line 11-12: Split the 3-touch no-reply sequence by booking state:
update the follow-up copy for founders who replied but never booked so it does
not claim “the Code Audit slot is still yours,” while preserving that wording
only for founders who previously booked. Apply the same distinction to the
additional copy referenced by the review.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/outbound-openers.md`:
- Around line 81-87: Remove the unrelated “$55K” rebuild claim from the r/cursor
OP 1q1v99l opener, while preserving the source quote, audit offer, and booking
link.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p1-ih-comments.md`:
- Around line 6-14: Update every row in the prospects table with the required
best path field, extending the header and separator to match the canonical
schema. Populate each row’s best path with the appropriate outreach channel so
P8 can select it reliably, while preserving the existing handle/channel, source
URL, trigger#, why-ICP, and verdict values.
- Around line 8-10: Update the prospect classifications for dianewilliams75,
J_Jie556517, Sam A, and the corresponding entries at 14-14 and 28-28 so they are
held as semi-ICP rather than marked ICP unless their quotes provide explicit
current rescue need and build-origin evidence. Replace contextless VoC evidence
with qualifying sentences before any P8 promotion.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p2-ih-posts.md`:
- Around line 5-8: Align every prospect table with the downstream schema by
adding best-contact path and status columns to
docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p2-ih-posts.md lines
5-8, p3-hn.md lines 6-10, p4-reddit.md lines 6-8, p5-x.md lines 6-8,
p6-competitor-comments.md lines 6-8, and p7-f5bot.md lines 34-36; in
p7-f5bot.md, place both fields before the first digest is logged.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p7-f5bot.md`:
- Around line 24-25: Update the “Free plan limitation” section in p7-f5bot.md so
the free-tier alert timing states approximately 2 hours. Remove the 24–48 hour
first-digest claim from this free-plan description, since it applies only to
paid digest scheduling.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/RUN.md`:
- Around line 3-6: Update the wrapper prompt’s dependency statement so P8
requires only the applicable subset of P1-P7 and does not wait for optional P7
completion. Preserve the additive F5Bot output guidance, and keep the existing
task-specific execution and qualification requirements unchanged.
- Line 3: Remove the hardcoded machine-specific repository path from the prompt
in RUN.md and replace it with a portable reference to the current repository
root, while preserving the task dependency and execution guidance.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md`:
- Around line 32-34: Update the three copied dev/team quote entries in the
voice-of-customer document to include the canonical source URL for the “Vibe
coding is breaking our app and I'm tired of it” thread, replacing the non-URL
“same thread” references as needed while preserving the verbatim quotes and
attribution.
- Around line 86-87: Restore every phrase-bank entry in the affected table,
including the original wording on the first quote and the complete source text
for the second quote; if shortening is required, apply and document an explicit
excerpt convention. Update the “12 usable” claim to match the resulting verbatim
or clearly labeled paraphrase entries, and ensure the mirrored T7 founder quotes
remain faithful to the source.

---

Outside diff comments:
In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md`:
- Line 7: Update the attribution rule and the related incident quote tags to use
a dedicated [VERBATIM-incident] category instead of [VERBATIM-founder,
incident]. Explicitly state that incident quotes are not safe to mirror as
“their words,” while preserving the existing source-link requirement and
applying the change to both occurrences.

---

Nitpick comments:
In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md`:
- Around line 19-24: Separate founder VoC from secondhand evidence across
docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md lines
19-24, p5-x.md lines 24-28, and p6-competitor-comments.md lines 26-31: rename
the P3 section and classify its entries as secondhand evidence, reclassify the
consultant, developer, and investor commentary in P5, and move the Alex Turnbull
line in P6 out of founder VoC so downstream phrase harvesting excludes them.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4bc8679d-2922-44e5-8162-5b57dca6e01d

📥 Commits

Reviewing files that changed from the base of the PR and between a924536 and 0e970fe.

📒 Files selected for processing (18)
  • .gitignore
  • docs/projects/2607-vibe-code-rescue/backlog.md
  • docs/projects/2607-vibe-code-rescue/operation-runbook.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/objection-followup-bank.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/outbound-openers.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/RUN.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p1-ih-comments.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p2-ih-posts.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p3-hn.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p4-reddit.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p5-x.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p6-competitor-comments.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p7-f5bot.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md
🚧 Files skipped from review as they are similar to previous changes (4)
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md
  • .gitignore
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/customer-profile-four-forces.md
  • docs/projects/2607-vibe-code-rescue/operation-runbook.md

Comment thread docs/projects/2607-vibe-code-rescue/backlog.md Outdated
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md Outdated
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/outbound-openers.md Outdated
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/RUN.md
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/RUN.md
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md Outdated
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md Outdated
Paul Keen added 3 commits July 22, 2026 02:14
- Pivot from live code review to async AI-intensive due diligence
- Add 45-minute session playbook (context + access call)
- Update discovery kit, booking spec, offer one-pager for async model
- Sync operating-system.md: A2 pricing confirmed, issues #2/#3 resolved
- Sync backlog + runbook: all P1-P9 + T-tasks marked done
- Fix 'Rescue Auditbase' typo in outbound openers (3 occurrences)
- Fix missing space in operation-runbook numbering
- Remove stale $25K pricing reference in operating-system
- Remove repeated 'We do free Rescue Context Calls' vendor tagline from all 25 openers
- Vary offer language across 8 distinct phrases (no single phrase >7/25)
- Fix grammar (subject-verb disagreement in 5 openers)
- Remove pricing from openers except Saul_E (price is the choice axis)
- Beef up Sam A opener, reduce 'we'll tell you' from 9→7, 'plain-English' from 8→6
- Update VoC phrase bank: match opener wording, add 4 missing strong quotes
- Update cold-eyes note: 16 mirror phrases (was 12)

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md (1)

51-53: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Source every public credibility claim or remove it.

The offer publishes client-rating/retention metrics, while the referral blurb publishes a rescue-specific “since 2011” claim. The supplied context does not substantiate these exact statements, so they should not ship as factual marketing copy without citations.

  • docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md#L51-L53: cite or remove the client-rating and retention claims.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md#L68-L70: narrow “rescuing ... since 2011” to the supported founding-year claim or provide evidence.

As per coding guidelines, Markdown content must avoid unsupported claims.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md` around
lines 51 - 53, Remove or add citations for the unsupported client-rating and
retention claims in
docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md lines
51-53. In
docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md
lines 68-70, narrow the rescue-specific “since 2011” statement to the supported
founding-year claim or provide evidence; ensure both documents contain only
substantiated public credibility claims.

Source: Coding guidelines

🧹 Nitpick comments (1)
docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md (1)

3-3: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use hyphens instead of em dashes throughout these Markdown files.

The titles and prose contain characters. Replace them with - consistently.

  • docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md#L3-L3: update the title and remaining em-dash occurrences in the file.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/45-minute-session-playbook.md#L3-L3: update the title and remaining em-dash occurrences in the file.

As per coding guidelines, Markdown content must use - rather than em dashes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md` at line
3, Replace every em dash character with a hyphen in the title and prose of
docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md (lines 3-3)
and
docs/projects/2607-vibe-code-rescue/rescue-sprint/45-minute-session-playbook.md
(lines 3-3), preserving all other Markdown content.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/projects/2607-vibe-code-rescue/operation-runbook.md`:
- Line 58: Update the P2 pricing row in the operation runbook to remove the
stale “rescue from $25K” default and state the confirmed $2,500/$7,500/$10,000
tiers, keeping the existing audit-free wording and confirmation note intact.
- Around line 17-19: Synchronize the runbook snapshot with the canonical task
table: update the current-state summary, VoC/offer status entries, and
next-Ready task so they reflect T8 as Done and Paul’s opener review/send as the
next action. Ensure all affected status and handoff notes are internally
consistent before merge.

In
`@docs/projects/2607-vibe-code-rescue/rescue-sprint/45-minute-session-playbook.md`:
- Around line 17-38: Update the pre-call email in the “Pre-call prep” section to
avoid requesting or implying shared administrator credentials. Replace the
admin-access wording with instructions for the founder to retain admin control
and, after the mutual NDA is signed, provision a temporary read-only principal
for the code repository and hosting account.
- Around line 107-117: Update the “Suggested way in” section around the salvage
estimate to remove the unsupported “30-50%” claim. Replace it with a
case-specific, explicitly qualified estimate based on the audit, or reference
validated historical data that supports the range; keep the surrounding
salvage-versus-reset framing intact.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md`:
- Around line 35-43: Resolve the hosting-access scope consistently: in
docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md lines 35-43,
decide whether hosting/deployment is audited and document its handling; align
the access list in
docs/projects/2607-vibe-code-rescue/rescue-sprint/45-minute-session-playbook.md
lines 91-95 and the post-call checklist in lines 135-143 with that same
decision.
- Around line 72-82: Update the Rescue Audit data-handling statement so an
explicit request can permit only the minimum necessary sanitized source
excerpts, while secrets, credentials, and customer data remain prohibited from
the write-up without exception. Align the “No secret sharing” and “No customer
data in the report” bullets with this rule and remove any contradictory
permission in the opening paragraph.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md`:
- Around line 18-20: Define and apply one consistent minimum-necessary audit
access contract across Step 1 in
docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md lines 18-20
and the forwardable offer in
docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md
lines 5-8: specify limited read-only scopes, explicitly exclude secrets, PII,
and customer data, and state the handling rules before publishing either
message.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/outbound-openers.md`:
- Around line 59-63: Update the opener text in outbound-openers.md to describe
the two-stage audit delivery: a 45-minute context call followed by an offline
audit and scorecard delivered within 48 hours. Replace language implying the
team maps the system or runs the code during the call, and apply the wording
consistently across the openers.
- Around line 81-87: Remove the unrelated “$55K” rebuild claim from the r/cursor
OP 1q1v99l opener, while preserving the source quote and the surrounding
salvageability and audit messaging.

In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md`:
- Around line 84-98: Review the phrase entries in the voice-of-customer table,
especially those attributed to techPackets, r/nocode, KaiaColban, and
r/Solopreneur, and remove inserted ellipses or appended explanatory paraphrases
from text labeled [VERBATIM-founder]. If edited wording must remain, relabel
that entry as paraphrase and exclude it from the verbatim count, preserving only
exact source substrings in verbatim entries.
- Around line 104-106: Update the “Updated from P1-P7 sourcing + opener polish”
note to report the canonical Push section count of 13 [VERBATIM-founder] lines
instead of 10, leaving the remaining sourcing guidance unchanged.

---

Outside diff comments:
In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md`:
- Around line 51-53: Remove or add citations for the unsupported client-rating
and retention claims in
docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md lines
51-53. In
docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md
lines 68-70, narrow the rescue-specific “since 2011” statement to the supported
founding-year claim or provide evidence; ensure both documents contain only
substantiated public credibility claims.

---

Nitpick comments:
In `@docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md`:
- Line 3: Replace every em dash character with a hyphen in the title and prose
of docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md (lines
3-3) and
docs/projects/2607-vibe-code-rescue/rescue-sprint/45-minute-session-playbook.md
(lines 3-3), preserving all other Markdown content.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 046e0c0e-50ca-40c5-b396-3c94a56b5ae0

📥 Commits

Reviewing files that changed from the base of the PR and between 0e970fe and e4bc885.

📒 Files selected for processing (11)
  • docs/business/operating-system.md
  • docs/projects/2607-vibe-code-rescue/backlog.md
  • docs/projects/2607-vibe-code-rescue/operation-runbook.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/45-minute-session-playbook.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/offer-one-pager.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/outbound-openers.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/voice-of-customer.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/warm-intro-referral-kit.md
🚧 Files skipped from review as they are similar to previous changes (4)
  • docs/business/operating-system.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/booking-page-spec.md
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md
  • docs/projects/2607-vibe-code-rescue/backlog.md

Comment thread docs/projects/2607-vibe-code-rescue/operation-runbook.md
Comment thread docs/projects/2607-vibe-code-rescue/operation-runbook.md
Comment thread docs/projects/2607-vibe-code-rescue/rescue-sprint/discovery-kit.md
Paul Keen and others added 3 commits July 24, 2026 18:10
Code-review of the rescue-sprint kit before first sends. Fixes:
- Joy Adamson routing (SEND-SHEET msg 5, opener #3, prospect row 3): her
  quote is a comment on Nico Casavecchia's post; copy said 'your post'
  and pointed Paul at Nico's thread. Now says 'your comment', with a
  DM-via-profile routing note.
- Pre-send gate added to SEND-SHEET + backlog Next: confirm NeetoCal S0
  checklist (URL resolves 200, but event setup unchecked), tracking
  sheet, msg-5 routing — THEN send.
- New rescue-sprint/pipeline.md: send/reply/booking ledger so A0
  kill-criteria (~20 touches / ~10 calls) are countable; added as P10.
- SEND-SHEET next-batch fixed: #6-10 → #4-#8 (batch 1 used #1-3,#12,#13;
  #4/#5 are the highest-trigger unsent rows).
- Channel contradiction resolved: openers' thread-reply choice supersedes
  prospect-list 'IH DM' column (note added); SEND-SHEET labels actions.
- Retention claim unified to sourced 5-year average (one-pager,
  four-forces) per warm-intro sourced-claims registry; was 3-year/'three
  years' in two docs.
- Rows 16-17 downgraded to semi-ICP (pre-build/partner-seeking; audit
  offer may not fit) with send-last note.
- P3 (HN) marked retired venue (0 rows, dev-dominated) so no future
  session re-runs it; kanban board noted as local-only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Second pass from the review swarm's late finders:
- strategy.md and executive-summary.md still described OUR offer with the
  pre-A2 placeholder band ($25-50K, 4-8wk, keep 30-50%); both now carry
  the A2-confirmed 3-tier pricing. Market-context mentions of $25-50K
  (strategy.md:24, runbook A2 inputs line) left as-is — those describe
  competitor/market rates, not our offer.
- backlog.md board pointer said 'tasks #1-#10'; live board has #1-#18
  (sprint-2 S-cards). Range updated; board cards #10 (P9 openers) and
  #13 (BOOKING_LINK replacement) moved to done to match reality (25
  openers exist, zero placeholders remain).
- Afrikonnect opener (outbound-openers #12 + SEND-SHEET msg 3): removed
  the one banned negative-parallelism construction ('The worst part
  isn't X, it's Y') from prospect-facing copy.

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

- rescue-sprint/send-runner-prompt.md: Comet/Claude-in-Chrome runner —
  pre-research every prospect (post live, author matches, situation
  unchanged, right tool named), HARD STOP for Paul's approval, send
  (IH public replies / LinkedIn DM via Joy's profile), log to pipeline.
- rescue-sprint/reply-monitor-prompt.md: daily read-only inbox sweep
  (IH, LinkedIn, Reddit, Gmail/neetocal), classify replies, draft
  responses from the objection bank, update pipeline, never auto-reply.
- SEND-SHEET gate updated: booking link confirmed live by Paul
  2026-07-24 (no re-verification), pipeline sheet done; remaining gate
  = Paul approves the browser-agent run.
- P7 root cause: F5Bot never digested because the account email was
  never verified — verification email (admin@f5bot.com, 2026-07-21)
  sits in Gmail. Backlog Done-list + blocker note updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@pftg
pftg merged commit b486b21 into master Jul 24, 2026
2 checks passed
@pftg
pftg deleted the rescue-operation-setup branch July 24, 2026 17:47
pftg added a commit that referenced this pull request Jul 25, 2026
…rnal accuracy

Founder-facing (7): r/cursor opener no longer borrows Saul_E's $55K
figure; openers #2/#4/#6/#8 + SEND-SHEET align to the real delivery
(45-min call -> 48h offline audit, not audit-in-45-min); Touch 1
follow-up no longer claims 'slot is still yours' to never-booked
founders; pre-call email asks founders to HOLD admin and grant
read-only (never hand admin credentials); discovery-kit secrets rule
is absolute (sanitized excerpts only, synced to runbook event note);
booking confirmation sets read-access expectation with a hostage-case
escape hatch (spec + runbook copies).

Internal accuracy (14): runbook P2/T9 stale $25K -> confirmed tiers;
D1 card marked done via T8/T9; VoC cold-eyes Push count 10->13;
sourcing-pipeline cold-row target + stale 'run now' footer; taxonomy
Reddit access = excerpt/F5Bot; GOAL-AT-A-GLANCE demoted to supporting
workstream under bet #1; RUN.md portable repo root + P7 non-blocking;
strategy roadmap/risk reflect partner locked 2026-07-21; KR3 counts
free audits (funnel entry); warm-intro table gains Last-touch column;
p1 verdicts downgraded (dianewilliams75, 659ertramp, J_Jie556517)
with cold-list row 15 synced; assumptions-register + grooming vote
totals recomputed (A3 18, B1 23, B2 33, C3 17, C4 18, D2 25; V1
44/32/35, V2 C 32) — no winner flips.

All 47 CodeRabbit comments triaged: 9 already fixed, 21 fixed here,
rest dismissed with reasons (see session notes).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
pftg added a commit that referenced this pull request Jul 25, 2026
…lution

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
pftg added a commit that referenced this pull request Jul 25, 2026
Header said 3-4 business days apart; the schedule is day 0 / 7-10 /
14-18 (~a week between touches). Last open CodeRabbit item on #387.

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

pftg commented Jul 25, 2026

Copy link
Copy Markdown
Member Author

CodeRabbit review disposition (all 47 comments triaged)

All review feedback was verified against the current tree and resolved across commits 8bbd8329..94b50bbf (branch merged continuously to master).

Fixed (30) — highlights:

  • Openers/SEND-SHEET: removed the borrowed $55K claim from the r/cursor opener; aligned all copy to the real delivery (45-min call → 48h offline audit); removed a negative-parallelism voice pattern.
  • Follow-up bank: Touch 1 no longer claims 'the slot is still yours' to never-booked founders; cadence header now matches the day-0/7-10/14-18 schedule.
  • Security/data-handling: pre-call email asks founders to HOLD admin and grant read-only (never hand credentials); discovery-kit secrets rule is absolute (sanitized excerpts only); booking confirmation sets the read-access expectation with a code-hostage escape hatch.
  • State sync: runbook/backlog/cold-list statuses reconciled; stale $25K pricing replaced by the confirmed $2,500/$7,500/$10,000 tiers everywhere; D1 marked done via T8/T9.
  • Data integrity: p1 verdicts downgraded (dianewilliams75, 659ertramp, J_Jie556517) and synced to the cold list; VoC Push count corrected (13); all weighted-vote totals in assumptions-register + t4-t5-grooming recomputed — no winner flips.
  • Portability: RUN.md uses the checkout root, P7 marked non-blocking for P8.

Dismissed (17) — with reasons in the merge commits; notable calls:

  • p2-p7 capture files intentionally omit best path/status (assigned at P8/P9 merge time — noted in p1).
  • Phrase-bank entries verified as verbatim substrings with marked ellipses; glosses live outside quote marks.
  • Sam A kept as ICP: his thread shows an active build with a prior freelancer burn.
  • '30-50% salvage' is hedged spoken call-script language, consistent across the kit.

Resolving all threads accordingly.

🤖 Generated with Claude Code

pftg added a commit that referenced this pull request Jul 25, 2026
…item)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@pragyadrytis-sketch

Copy link
Copy Markdown

Hey there, really enjoyed your piece — especially the part about Client acquisition operating systems, technical rescue services, JTBD methodology, operational documentation; tone is business process formalization.. I've been thinking about Need for structured client acquisition in technical debt/rescue services; deadline pressure (Nov 30, 2026 target); systematizing JTBD research for technical consulting. from a slightly different angle: Acknowledge the ambitious rescue client target and offer case studies or templates from successful technical rescue engagements. They're building infrastructure—help them validate or accelerate that system.. Would love to hear your take on that framing. Keep writing!


**Scope**: this is the **company** operating system - how JetThoughts runs across every opportunity, not just the current one. It is the durable cadence (accountability chart, quarterly OKR, rocks, weekly scorecard, issues, pipeline). The **active bet it currently drives** is the [Vibe Code Rescue validation project](../projects/2607-vibe-code-rescue/) (portfolio bet #1); when the next opportunity becomes active, the same OS runs it with a new OKR/rocks.
**Company layer**: [`index.md`](index.md) (front door) · [`vision-mission.md`](vision-mission.md) (who we are) · [`opportunity-portfolio.md`](opportunity-portfolio.md) (the bets, and how we validate/kill/scale them).
**Purpose**: the smallest cadence that reliably ships the current company objective - right now, **1 Vibe Code Rescue client by Nov 30, 2026** (the active portfolio bet).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on this, Paul. The operating-system structure is solid — anchoring the cadence around one concrete bet (1 signed client by Nov 30, 2026) gives it real teeth. One thought on the client-acquisition side: the biggest bottleneck I've seen for technical debt/rescue services is that JTBD research tends to stay ad-hoc, so pipeline quality swings week to week. Systematizing that research — a repeatable interview loop tied to a fixed set of client triggers — usually does more for hitting a deadline like this than adding more outbound volume. Happy to discuss further or open a follow-up PR if that would help.

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.

2 participants