Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .okf/log.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Bundle Update Log

## 2026-08-09 (CEO decisions) - delivery goes dual-route, client picture corrected

* **Update**: no concept file changed - this is a business-layer decision, and the
bundle has no business section. Recording the durable rules here; the decisions
themselves live in `docs/business/` and `docs/projects/2607-vibe-code-rescue/`.
* **Decision 1** - delivery runs through **both** JT's own senior Rails contractors
and the white-label partner (was: partner only). Accountability chart, E3, the
strategy risk section, and the exec-summary rabbit hole all updated.
* **Decision 2** - JT is **not** restarting from zero: two outstaffing contracts run
at $18,400/mo revenue, $5,440/mo profit. The exec summary's "needs to restart client
acquisition" opener was factually wrong and is now "needs new clients."

**Durable rules:**
1. **A single-threaded dependency the docs themselves flag as "the single point of
failure" is a design choice, not a fact - re-open it.** E3 picked white-label over
in-house in the register's *lighter-vote* tier: no options table, no scores, no
rationale, and a kill-criteria that could only route partner -> fallback partner,
never back in-house. The devil's-advocate pass reviewed A-D and never touched it.
The weakest-argued assumption was carrying the biggest named risk.
2. **When the sales copy and the org chart disagree, one of them is lying to a
customer.** `offer-one-pager.md` grounded the $7,500 price in *JT's own*
AI-assisted development and promised "one senior engineer," while the chart
assigned the whole delivery seat to an unnamed third party. Reconcile these at
the point the price is set, not after a founder asks who is writing the code.
3. **A gate marked Done on an assertion is an open gate.** G0's definition-of-done
(paid trial + fallback named + cold-eyes verdict pasted) was unmet, its handoff
note still the empty placeholder - yet A2 pricing was confirmed off it, which
operating rule 1 forbids. Logged as OS Issue 6 rather than silently re-scoped.
4. **Stale facts propagate into strategy.** Three vault notes and the bet's own
pitch all asserted "zero clients / zero revenue" against a running $18.4K/mo
book. Re-confirm the money facts before a plan is built on top of them.

## 2026-08-01 (W2 T7 escalation) - canon deposit row carries the cancel split

* **Update**: [content/course-canon.md](content/course-canon.md) - deposit row
Expand Down
3 changes: 2 additions & 1 deletion docs/business/operating-system.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Source of truth: [`rescue-sprint/pipeline.md`](../projects/2607-vibe-code-rescue
| Seat | Owner | Owns |
|---|---|---|
| **CEO / Sales / Trust layer** | Paul | Discovery calls, offer, pricing, founder relationship |
| **Delivery** | White-label partner | The rescue build (Rails), under JT brand |
| **Delivery** | JT contractors + white-label partner | The rescue build (Rails), under JT brand. Both routes (CEO, 2026-08-09): three unallocated senior Rails contractors at zero bench cost, plus the partner for capacity |
| **Marketing / Content / Ops** | Claude Code (+ Paul review) | Content, SEO, landing, pipeline tracking, this OS |

## 3. OKR (Q3→Q4 2026) + kill-check
Expand Down Expand Up @@ -68,6 +68,7 @@ The arithmetic that forced the realignment: KR2 needs 8-12 calls; the cold lane
| 3 | Joy Adamson override - only survivor of batch-1, 5mo old, still publicly unanswered | Paul | 🟡 Open - **decide before first send** (she rides batch-1 or not at all) |
| 4 | Pricing vs. thesis tension - JT undercuts at $7,500 against $25-55K competitors one week after publishing "cheap developers are expensive," which argues against its own thesis to a twice-shy founder. Related: the category name "vibe code rescue" is now a competitor's page title, page 1 occupied - fight for it or differentiate? | Paul | 🟡 Open - **decide both before first send** (openers and the landing quote the offer) |
| 5 | vision-mission.md still stamped DRAFT, 18 days on, while other docs cite it as settled | Paul | 🟡 Open - 1-line decision: ship it or say what's wrong |
| 6 | G0 (partner lock) is marked Done on a CEO assertion, but its own definition-of-done is unmet - no paid trial rescue, no fallback partner named, and the cold-eyes handoff at runbook §G0 is still the empty placeholder. A2 pricing was confirmed off it anyway, which operating rule 1 forbids | Paul | 🟡 Open since 2026-08-09 - lower risk now that in-house is a second delivery route, but the gate is still open |

*Resolved, moved to changelog*: white-label partner (Jul 21) · prospect list populated, P8 (Jul 22) · price band (Jul 22).

Expand Down
2 changes: 1 addition & 1 deletion docs/business/opportunity-portfolio.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@ Discipline: **one bet is Validating at a time.** Spreading the company across se
- **Timing**: the AI-app-builder wave (Lovable, Cursor, Bolt, Replit) manufactured a large, founder-heavy pool of broken, funded MVPs - measured, not guessed ([market analysis](../projects/2607-vibe-code-rescue/10-19-research/market-analysis-2026.md)). *Counter-evidence (2026-08-07, held honestly)*: the category is no longer early - page 1 for "vibe code rescue" is fully occupied and a competitor uses the exact name; and our $2.5-10K pricing deliberately undercuts the $25-50K market band, in tension with our own "cheap is expensive" thesis. Both are open decisions on Paul's desk (OS §5).
- **Fit**: Rails rebuild is JT's home turf; the ownership/trust wedge is JT's durable positioning made concrete.
- **Provability**: a single signed client proves the whole motion (demand → call → audit → signing) and produces the first case study - a clean validation gate.
- **Reversibility**: delivered via a white-label partner, so the bet is testable without over-committing the firm.
- **Reversibility**: delivered by JT's own unallocated senior Rails contractors and a white-label partner (both routes, CEO 2026-08-09), so the bet is testable without over-committing the firm or depending on a single delivery channel.

Full plan: [executive summary](../projects/2607-vibe-code-rescue/executive-summary.md) · [strategy](../projects/2607-vibe-code-rescue/strategy.md) · run it via the [operating system](operating-system.md).
6 changes: 3 additions & 3 deletions docs/projects/2607-vibe-code-rescue/executive-summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Problem

JetThoughts needs to restart client acquisition, and the 2026 market handed us a specific opening. A wave of funded, non-technical founders paid a dev shop, a freelancer, or an AI tool (Lovable, Cursor, Bolt, Replit) to build their product. The demo looked finished. Then real users arrived and it started breaking - checkout fails, data corrupts, the login is one bad deploy from locking everyone out. Worse, the founder can't tell whether the developers are being straight, and often can't even get access to the code they paid for.
JetThoughts needs new clients, and the 2026 market handed us a specific opening. (Not a restart from zero - CEO-confirmed 2026-08-09, two outstaffing contracts are still running at $18,400/mo revenue and $5,440/mo profit. What is missing is new-client acquisition and a service line that isn't hourly outstaffing.) A wave of funded, non-technical founders paid a dev shop, a freelancer, or an AI tool (Lovable, Cursor, Bolt, Replit) to build their product. The demo looked finished. Then real users arrived and it started breaking - checkout fails, data corrupts, the login is one bad deploy from locking everyone out. Worse, the founder can't tell whether the developers are being straight, and often can't even get access to the code they paid for.

These founders are actively looking for help right now, in public. But every rescue shop entering this space (Modall, HeyDev, AttributeX, and others) leads with the same "free audit" and competes on price. Nobody is selling the thing the burned founder actually wants most: to own and understand their product again.

Expand Down Expand Up @@ -43,11 +43,11 @@ This is a fixed-time bet, not an open-ended growth program. We are not building

**How we find them.** We listen for the founder's own words of pain (the "Push" - our trigger taxonomy) in the venues where they post it, and lead with their words plus the ownership wedge, never a cold pitch. LinkedIn first (Paul posting agent-drafted control-loss stories, 3-4/wk - re-weighted 2026-08-08 when the warm-names premise fell); agent-sourced cold community threads (IndieHackers, Reddit, HN, X) second; the funnel-linked blog posts and booking link as the always-on inbound floor; past-client referral asks as optional upside.

**Who does what.** A white-label partner builds the rescue under the JetThoughts brand, to our quality bar. Agents do all the prep - research, sourcing, drafting, the target list, the openers, the scripts. **Paul is reserved for the calls and the close.** A runbook plus an incremental task backlog holds the state so any session can pick up and execute without losing context.
**Who does what.** The rescue is built under the JetThoughts brand, to our quality bar, through two routes (CEO 2026-08-09): JT's own senior Rails contractors - three unallocated at zero bench cost - and a white-label partner for capacity beyond them. Agents do all the prep - research, sourcing, drafting, the target list, the openers, the scripts. **Paul is reserved for the calls and the close.** A runbook plus an incremental task backlog holds the state so any session can pick up and execute without losing context.

## Rabbit holes

- **The white-label partner is the single point of failure.** The offer is only sellable if delivery is guaranteed under our brand. Validate with a paid trial rescue and name a fallback partner before selling - do not sell on a handshake.
- **Delivery has to be guaranteed, not assumed.** The offer is only sellable if delivery holds up under our brand. As of 2026-08-09 this is no longer single-threaded - in-house contractors carry the first rescues and the partner carries capacity - but the partner leg is still un-validated: run the paid trial rescue and name a fallback before leaning on it. Do not sell partner capacity on a handshake.
- **Content is not pipeline.** Blog posts and SEO support conversations; they do not sign clients by November. The human-path steps (warm outreach, the call, the close) are what count. Never ship a content sprint while the outreach is stalled.
- **The assumptions are bets, not facts.** Who the buyer is, which trigger leads, how we find them, how we pre-validate - each is registered with a kill-criteria that fires on the first ~10 calls. We follow the data, not the deck.
- **Cold outreach at volume looks like spam.** Six competitors are already DM-ing distressed founders "free audit." We cap cold volume, lead with the founder's words and the ownership angle, and let warm channels carry the weight.
Expand Down
2 changes: 1 addition & 1 deletion docs/projects/2607-vibe-code-rescue/operation-runbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ These feed the C0/D1 cards without touching Paul's desk. Each is scoped to ≤1

## GATE G0 — Lock the white-label delivery partner *(BLOCKING · human-path · counts)*
- **role**: Partner-sourcing (Paul-led; a session drafts artifacts only)
- **status**: Done (2026-07-21 — partner locked per CEO)
- **status**: Done (2026-07-21 — partner locked per CEO). ⚠️ 2026-08-09: status left as Paul set it, but the definition-of-done below is **not** met — no paid trial, no fallback named, handoff note still empty — and A2 pricing was confirmed off this gate anyway, which operating rule 1 forbids. Logged as OS §5 Issue 6. Less load-bearing since delivery gained an in-house route (E3 revised), but still open.
- **depends-on**: —
- **skills**: criteria doc + vetting scorecard drafting; devil's-advocate critic
- **inputs**: strategy doc "Biggest risk"; `operating-system.md` Issue #1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
|---|---|---|---|
| E1 | **Offer = free 45-min audit → fixed-price rescue** (A2-confirmed 2026-07-22: $2,500 triage / $7,500 rescue / $10,000 foundation reset — a deliberate undercut of the $25-50K market band; the tension with our own "cheap is expensive" thesis is OS §5 Issue 4, Paul's call) | free vs paid audit; fixed vs T&M → **free audit + fixed price** (removes the burned founder's #1 fear: another open-ended bill) | if free audits don't convert to paid proposals at all after ~5, test a paid ($ nominal) audit to filter tire-kickers |
| E2 | **Distribution = push (outbound/warm), not pull (SEO), for Nov 30** | push vs pull → **push** | SEO stays queued for Q1-2027; kill only if push proves it can't produce calls |
| E3 | **Delivery via white-label partner, Paul as trust layer (G0)** | in-house vs white-label → **white-label + named fallback** | validated by a PAID TRIAL rescue before selling (G0 gate); kill/switch to fallback if trial misses the quality bar |
| E3 | **Delivery via BOTH routes - JT's own senior Rails contractors and a white-label partner - with Paul as trust layer (G0)** (revised by CEO 2026-08-09; previously white-label only) | in-house vs white-label → **both**: three unallocated senior Rails contractors at zero bench cost carry the first rescues, the partner carries capacity beyond them, fallback partner still to be named | partner route still validated by a PAID TRIAL rescue before selling (G0 gate); if that trial misses the quality bar, route the work in-house or to the fallback - delivery is no longer single-threaded, so a partner miss no longer stops the offer |
| E4 | **Wedge vs competitors = ownership handback + named fractional CTO** | audit-quality vs price vs ownership/trust → **ownership + trust** (price is a race to the bottom against 6 shops) | if openers leading with ownership under-reply vs price/speed, re-open (ties to B) |

---
Expand Down
14 changes: 9 additions & 5 deletions docs/projects/2607-vibe-code-rescue/strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ Rails is the winning rebuild stack, which is our home turf.

Not a dev shop. **"We rescue founders from broken AI code - and hand back a product you
own and understand."** Trust and transparency is the real product (ICP-E's #1 pain); the
rebuild is delivered under our brand by a **white-label partner**, with **Paul as the
fractional-CTO trust layer** on every call.
rebuild is delivered under our brand by **JT's own senior Rails contractors and a white-label
partner** (both routes, CEO 2026-08-09), with **Paul as the fractional-CTO trust layer** on
every call.

## Goal

Expand Down Expand Up @@ -79,6 +80,9 @@ LinkedIn qualified replies/wk -> magnet email subs -> **discovery calls booked**

## Biggest risk

The **white-label delivery partner**. The offer is only sellable if delivery quality and speed
are guaranteed under our brand. Partner locked 2026-07-21 ✓ — residual risk: **validate the
paid trial hits our quality bar, and name a fallback partner** before September selling ramps.
**Delivery quality and speed under our brand.** De-risked 2026-08-09: delivery now runs through
two routes — JT's own senior Rails contractors (three unallocated, zero bench cost) carry the
first rescues, the white-label partner carries capacity beyond them. Partner locked 2026-07-21 ✓
— residual risk on that leg: **validate the paid trial hits our quality bar, and name a fallback
partner** before leaning on partner capacity. The gate that was supposed to prove this (G0) is
still open on its own terms — see OS §5 Issue 6.
Loading