Skip to content

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

Open
pftg wants to merge 18 commits into
masterfrom
rescue-operation-setup
Open

Vibe Code Rescue: 2026 client-acquisition operating system + JTBD customer profile#387
pftg wants to merge 18 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 landing and reference docs covering vision/mission, operating practices, and the opportunity portfolio.
    • Added extensive “Vibe Code Rescue” planning and execution materials (market analysis, strategy, customer profile, offer, and full runbook + sprint assets including sourcing, outreach, and objection follow-ups).
    • Updated the marketing project and typography/UX backlog status; refreshed SEO planning and reader-mode QA notes.
    • Updated documentation location policy 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

Warning

Review limit reached

@pftg, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 46 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a6c86927-be88-4e27-850b-14cc0347bcb5

📥 Commits

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

📒 Files selected for processing (1)
  • docs/projects/2607-vibe-code-rescue/backlog.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 voice-of-customer scaffolding. It also updates SEO and typography project tracking.

Changes

Vibe Code Rescue acquisition system

Layer / File(s) Summary
Company documentation structure
.gitignore, CLAUDE.md, docs/business/*
Adds Claude agent ignore patterns and establishes company documentation policies, operating-system materials, portfolio tracking, and vision/mission content.
Strategy and market framing
docs/projects/2510-seo-content-strategy/GOAL-AT-A-GLANCE.md, docs/projects/2607-vibe-code-rescue/{strategy.md,executive-summary.md}, docs/projects/2607-vibe-code-rescue/10-19-research/*
Reframes content strategy around rescue-founder lead generation and documents the rescue opportunity, offer, roadmap, KPIs, market sizing, pricing, competition, and evidence confidence.
Rescue sprint operating governance
docs/projects/2607-vibe-code-rescue/{operation-runbook.md,backlog.md}
Defines sprint state, agent backlog, human-only actions, gates, operational cards, dependencies, cold-eyes checks, and weekly execution rules.
Customer and trigger validation
docs/projects/2607-vibe-code-rescue/rescue-sprint/{assumptions-register.md,customer-profile-four-forces.md,icp-trigger-taxonomy.md}
Defines the target founder profile, Four Forces, ranked buying triggers, sourcing venues, assumptions, and pre-validation criteria.
Booking, offer, 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,objection-followup-bank.md,outbound-openers.md}
Specifies the booking page, free audit offer, referral workflow, discovery call, objection responses, follow-ups, and personalized outbound templates.
Prospect sourcing and voice capture
docs/projects/2607-vibe-code-rescue/rescue-sprint/{sourcing-pipeline.md,t4-t5-grooming.md,prospects/*,cold-prospect-list.md,voice-of-customer.md}
Defines sourcing lanes, qualification and capture rules, prospect records, consolidated scoring, and attributed voice-of-customer harvesting.

Project tracking updates

Layer / File(s) Summary
Reader-mode QA tracking
docs/projects/2604-typography-ux/TASK-TRACKER.md
Updates the tracker date and adds a planned Chrome reader-mode screenshot task.

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 accurately summarizes the PR’s main focus on a 2026 client-acquisition operating system and JTBD customer profile for Vibe Code Rescue.
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 on lines +78 to +80
- **Done**: P1 ✓ (7 ICP rows), P2 ✓ (6 rows), P3 ✓ (0 rows - thin), P4 ✓ (8 rows), P5 ✓ (1 row), P6 ✓ (3 rows), P7 ✓ (F5Bot live), P8 ✓ (25 deduped rows + VoC), T9 ✓ (objection bank)
- **Ready now**: P9 (openers, needs A2 price).
- **Then**: P8 (merge) → P9 (openers).

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Synchronize the live task state before execution.

The backlog says P7 is live and P9 is ready, while the cold list says P7 is pending and still instructs the team to run P8 before P9. Agents can therefore repeat completed work or pause a ready task.

  • docs/projects/2607-vibe-code-rescue/backlog.md#L78-L80: reconcile P7/P8/P9 statuses and remove the stale “Then: P8” instruction.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md#L5-L5: update the source/status summary to match the authoritative state.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md#L64-L64: update the F5Bot count and pending status.
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md#L77-L78: update pending and deduplication notes after reconciliation.
📍 Affects 2 files
  • docs/projects/2607-vibe-code-rescue/backlog.md#L78-L80 (this comment)
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md#L5-L5
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md#L64-L64
  • docs/projects/2607-vibe-code-rescue/rescue-sprint/cold-prospect-list.md#L77-L78
🤖 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/backlog.md` around lines 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.

Comment on lines +70 to +74
3. "Where does the code actually live? GitHub is the usual place - it's the online folder your app's code sits in. Can you log into that account yourself right now, or does your developer hold the keys?" *(Pull - the ownership wedge; also the gate: the audit needs read access to run)*
4. "Same question for the servers. The thing your app runs on is usually an Amazon account, AWS for short. Is that account in your name, or your developer's?" *(Pull - ownership; surfaces the second hostage risk)*
5. "What's the clock on this? A launch date, a raise you're closing, a customer who's threatening to walk - anything pushing you?" *(Push - urgency and timeline pressure)*

If the founder can't get into the GitHub or the servers, that's not a dead end - Paul names it as the first thing the audit will help them fix, and the call stays useful.

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.

🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Add an explicit data-handling and access-safety contract.

The audit inspects repositories, servers, exposed keys, and cross-user data, but the process only says “read-only access.” Before release, specify sanitized/non-production access where possible, prohibit copying secrets or customer data into the write-up, define retention/deletion, and revoke access after the audit.

Also applies to: 92-94, 109-115

🤖 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` around
lines 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.

Comment on lines +11 to +12
The 3-touch no-reply sequence lives at the bottom. It works for founders who booked a call but went quiet, or who replied to an opener but didn't book.

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Split the follow-up copy by booking state.

The sequence covers both booked-but-silent founders and founders who replied but never booked, but Touch 1 says “the Code Audit slot is still yours.” That is false for the second group and undermines the trust this sequence is designed to build.

Also applies to: 125-135

🤖 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/objection-followup-bank.md`
around lines 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.

Comment on lines +125 to +149
## 3-touch no-reply follow-up sequence

For founders who booked a call but went quiet, or who replied to an opener but didn't book. Space each touch 3-4 business days apart. Stop after three.

### Touch 1 (day 0, right after the silence)

**Subject / opener**: "Still happy to look at the code"

> No pressure. The Code Audit slot is still yours if you want it - one of our senior engineers reads your actual codebase and you get a one-page write-up in plain English. It's yours whether or not we ever work together.
>
> If the timing isn't right, just say the word and I'll check back in a few weeks instead.

**Why**: Reminds them the audit is free and theirs to keep. Offers an easy out ("check back in a few weeks") so they don't feel cornered.

### Touch 2 (day 7-10)

**Subject / opener**: "Quick question"

> One thing I've been meaning to ask - do you actually hold the login to your GitHub and your server account (AWS or wherever it runs), or does your developer keep those for you?
>
> If you're not sure, that's actually one of the first things we check on the audit. A lot of founders don't realize they don't own what they paid for until they try to move.

**Why**: Uses a specific, useful question (ownership) as the hook. Not "just checking in" - gives them a reason to reply even if they don't book. The ownership wedge is the strongest differentiator.

### Touch 3 (day 14-18, final touch)

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the cadence match the stated spacing.

The header says touches are 3-4 business days apart, while the schedule uses day 0, day 7-10, and day 14-18. Either change the spacing rule or replace the day ranges with an actually consistent schedule.

🧰 Tools
🪛 LanguageTool

[style] ~133-~133: Consider shortening this phrase to just ‘whether’, unless you mean ‘regardless of whether’.
Context: ...e write-up in plain English. It's yours whether or not we ever work together. > > If the timin...

(WHETHER)


[style] ~145-~145: Consider using a synonym to be more concise.
Context: ...the first things we check on the audit. A lot of founders don't realize they don't own w...

(A_LOT_OF)

🤖 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/objection-followup-bank.md`
around lines 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.

Comment on lines +81 to +87
### 9. r/cursor OP 1q1v99l (Reddit thread-reply)

> "They told me it was easier to burn the whole thing down and start over" - that's usually the lazy answer. Most AI-built apps have 30-50% worth keeping if someone knows where to look.
>
> We do free code audits for exactly this situation. One senior engineer reads your actual code and tells you honestly what's salvageable and what isn't. You keep the write-up whether or not you hire anyone. Might save you from paying $55K to rebuild something that didn't need rebuilding.
>
> [BOOKING_LINK]

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.

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

Remove the unrelated $55K claim from the r/cursor opener.

The r/cursor source quote says a developer recommended starting over; it does not mention a $55K rebuild. That figure belongs to Saul_E’s prospect and must not be copied into another person’s outreach.

🧰 Tools
🪛 LanguageTool

[grammar] ~81-~81: Ensure spelling is correct
Context: ...# 9. r/cursor OP 1q1v99l (Reddit thread-reply) > "They told me it was easier to burn the ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~85-~85: Consider shortening this phrase to just ‘whether’, unless you mean ‘regardless of whether’.
Context: ...e and what isn't. You keep the write-up whether or not you hire anyone. Might save you from pa...

(WHETHER)

🤖 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/outbound-openers.md` around
lines 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.

Comment on lines +24 to +25
### Free plan limitation
F5Bot's free tier: 5 keywords, email digest alerts only. RSS/JSON feed requires paid plan. Paul will receive email alerts when matches appear on Reddit, HN, or Lobsters. The first digest should arrive within 24-48 hours of keyword setup.

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.

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p7-f5bot.md'

printf '== file lines ==\n'
cat -n "$file" | sed -n '1,120p'

printf '\n== nearby references ==\n'
rg -n "24-48 hours|digest|free tier|free plan|F5Bot" "$file" || true

Repository: jetthoughts/jetthoughts.github.io

Length of output: 3129


🌐 Web query:

F5Bot free plan alerts within two hours digest plan-dependent current documentation

💡 Result:

The F5Bot free plan includes email alerts with a delivery speed of within 2 hours [1][2]. Regarding the relationship between plans and digest functionality: - The free plan does not include customizable digest or scheduled email delivery options; it sends alerts on a standard delay [3]. - Scheduled email delivery, which allows users to group alerts into a digest or receive them at specific times, is a feature reserved for paid plans [3][4]. - On eligible paid plans, users can configure their email delivery settings to "Delay and group alerts" (from instant up to 2 days) or "Dispatch only at specific times" (daily digests) [4]. Alerts marked with an "instant" flag will be sent immediately, bypassing standard email delays, but this feature also requires a plan that supports scheduled email delivery [4].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='docs/projects/2607-vibe-code-rescue/rescue-sprint/prospects/p7-f5bot.md'

printf '== file excerpt ==\n'
sed -n '1,80p' "$file" | cat -n

printf '\n== attempt to fetch F5Bot FAQ timing text ==\n'
python3 - <<'PY'
import urllib.request, ssl, re
url = "https://f5bot.com/faq"
ctx = ssl.create_default_context()
try:
    with urllib.request.urlopen(url, context=ctx, timeout=15) as r:
        html = r.read().decode("utf-8", "replace")
    for pat in [r'within\s+two\s+hours', r'24-48\s+hours', r'digest', r'free plan']:
        m = re.search(pat, html, re.I)
        print(pat, "=>", bool(m))
        if m:
            s = max(0, m.start()-120)
            e = min(len(html), m.end()+200)
            print(html[s:e].replace("\n", " ")[:500])
except Exception as e:
    print(type(e).__name__, e)
PY

Repository: jetthoughts/jetthoughts.github.io

Length of output: 2437


Update the F5Bot timing note. Free-plan alerts arrive within about 2 hours; the 24–48 hour first-digest window applies to paid digest scheduling, not this free-tier setup.

🧰 Tools
🪛 LanguageTool

[style] ~25-~25: The double modal “requires paid” is nonstandard (only accepted in certain dialects). Consider “to be paid”.
Context: ...est alerts only. RSS/JSON feed requires paid plan. Paul will receive email alerts wh...

(NEEDS_FIXED)

🤖 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/p7-f5bot.md`
around lines 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.

Source: MCP tools

@@ -0,0 +1,34 @@
# RUN — copy-paste prompts (one per backlog task)

Each prompt is self-contained. Paste ONE into a fresh session. Stage-1 tasks (P1-P7) are parallel-safe — run any/all at once. P8 needs P1-P7; P9 needs P8 + price. Repo: `/Users/pftg/tmp/jetthoughts.github.io`.

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove the machine-specific repository path.

This copy-paste prompt is not portable: agents on another checkout cannot use /Users/pftg/tmp/jetthoughts.github.io. Refer to the current repository root instead.

Proposed fix
- Stage-1 tasks (P1-P7) are parallel-safe — run any/all at once. P8 needs P1-P7; P9 needs P8 + price. Repo: `/Users/pftg/tmp/jetthoughts.github.io`.
+ Stage-1 tasks (P1-P7) are parallel-safe — run any/all at once. P8 runs with the available source outputs; P9 needs P8 + price. Run from the repository root.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Each prompt is self-contained. Paste ONE into a fresh session. Stage-1 tasks (P1-P7) are parallel-safe — run any/all at once. P8 needs P1-P7; P9 needs P8 + price. Repo: `/Users/pftg/tmp/jetthoughts.github.io`.
Each prompt is self-contained. Paste ONE into a fresh session. Stage-1 tasks (P1-P7) are parallel-safe — run any/all at once. P8 runs with the available source outputs; P9 needs P8 + price. Run from the repository root.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: The official name of this software platform is spelled with a capital “H”.
Context: ...needs P1-P7; P9 needs P8 + price. Repo: /Users/pftg/tmp/jetthoughts.github.io. **Wrapper (all P-tasks share this...

(GITHUB)

🤖 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/RUN.md` at 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.

Comment on lines +3 to +6
Each prompt is self-contained. Paste ONE into a fresh session. Stage-1 tasks (P1-P7) are parallel-safe — run any/all at once. P8 needs P1-P7; P9 needs P8 + price. Repo: `/Users/pftg/tmp/jetthoughts.github.io`.

**Wrapper (all P-tasks share this spine):**
> Run task **{ID}** from `docs/projects/2607-vibe-code-rescue/backlog.md`. Read that task row + `rescue-sprint/t4-t5-grooming.md` Vote 3 (qualification) once, then do ONLY {ID}. Use its seeded URLs. Tools: `web_search` + `chrome-devtools` only (Reddit = excerpt-only, don't open thread bodies). Append rows + `## VoC` lines to `rescue-sprint/prospects/{FILE}`. Qualify hard: non-technical FOUNDER only — never a dev venting or a supplier advertising rescue; every why-ICP must be a verbatim quoted sentence + URL; log ZERO supplier/agency posts. Set {ID} status in `backlog.md` when done. Don't commit.

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not make optional P7 block P8.

The prompt says P8 needs P1-P7, but backlog.md permits P8 with any subset and marks P7 as non-blocking. Keep the F5Bot output additive; otherwise agents may wait indefinitely for an optional digest.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: The official name of this software platform is spelled with a capital “H”.
Context: ...needs P1-P7; P9 needs P8 + price. Repo: /Users/pftg/tmp/jetthoughts.github.io. **Wrapper (all P-tasks share this...

(GITHUB)

🤖 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/RUN.md` around
lines 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.

Comment on lines +32 to +34
- `[VERBATIM-dev/team]` "instead of building new features, I'm constantly re-fixing things that were already working." - r/developersPak, "Vibe coding is breaking our app and I'm tired of it"
- `[VERBATIM-dev/team]` "it's starting to feel like we're just building on sand." - same thread
- `[VERBATIM-dev/team]` "The worst part is payments (Stripe). I'm not even fully confident about all the edge cases there... it just feels risky every time we touch it." - same thread

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.

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

Restore canonical URLs for the copied dev/team quotes.

The harvest protocol requires keeping the source URL, but Lines 32-34 only identify the source as "Vibe coding is breaking our app and I'm tired of it" / "same thread". Add the actual URL so these excerpts remain auditable.

🤖 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 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.

Comment on lines +86 to +87
| Push | "The freelancer struggled to understand the logic and then just vanished." | `[VERBATIM-founder]` techPackets |
| Push | "I spent $5k on a freelancer... It looks perfect but none of the actual API integrations work and they have ghosted me now." | `[VERBATIM-founder]` r/nocode OP |

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.

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

Keep every phrase-bank entry verbatim.

Line 86 changes the source wording ("even the freelancer" becomes "The freelancer"), and Line 87 truncates the quote without documenting an excerpt rule. Because T7 mirrors this table as the founder’s words, use exact source substrings or label edited text as paraphrase; update the “12 usable” claim accordingly.

Also applies to: 102-102

🤖 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 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant