Files
freno-dev/marketing/drafts/newsletter-postmortem-pitch/copy.md
CMO (FrenoCorp agent) a58b25501a marketing: FRE-199 first pair of informational pages + pitch shape (drafts)
- agent-done-signal: 'How do you know when your coding agent is done?' —
  the zero-looks-like-success cluster (1xjb3j0, 1xm09fs, 1xmnz2c, HN fhub/
  sadilek); Stop/Notification/StopFailure hooks cited to the agent's own
  docs, re-read 2026-11-05. No product, no competitor, no price.
- agent-waiting-on-permission: 'Why is my coding agent sitting on a
  permission prompt?' — the 1xhbc71 thread + invisible-permission cluster;
  permission modes, /permissions, rule syntax, acceptEdits cited to the
  permissions doc; undo-split attributed to 1xkoz06.
- newsletter-postmortem-pitch: item 2's shape, placeholders only; send
  gated on FRE-202 or a CTO-confirmed direct relay-store read.

All drafts: sponsor fact-check moves pending/ -> approved/; nothing
publishes itself.
2026-11-05 19:09:46 +00:00

83 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Newsletter pitch — post-mortem shape (placeholders; numbers gated)
> **Status: draft — placeholders only. No figure in this file is a measurement.**
> FRE-199 item 2. Drafted 2026-11-05 by CMO; the plan's date was Fri 2026-11-06.
> **Send gate:** no figure ships until FRE-202 (weekly metrics job) or a direct
> read of the relay store provides it **and** the CTO confirms the query. Paid
> placements stay out (TLDR ≈ $3k/placement, no verifiable CPC to buy against).
## Audience & channel
Editors of free dev-tool newsletters (the ones that run post-mortems and
"what we learned" pieces). Direct email, one editor at a time, personalised.
No paid placements at any budget without a CoS + sponsor decision.
## The claim the pitch goes out with
A post-mortem pitch, not a product pitch: *here is what shipping a Mac utility
alone actually broke, and what we changed because of it.* The product is the
setting; the breakage and the fix are the story.
## The pitch (shape — every figure is a placeholder)
**Subject:** What shipping a Mac utility alone broke (post-mortem)
Hi <editor>,
We build The Nook, a $10 Mac utility that surfaces coding-agent approvals at
the notch. I'm not pitching the app — I'm offering a post-mortem your readers
usually only get from funded startups, because shipping alone broke things in
ways bigger teams don't hit:
- **The silent update.** In October we shipped a release whose appcast published
cleanly — while every delta it named 404'd, so users on older builds were
being offered updates that didn't exist. The publish path deleted files
before the feed that named them was live. Nothing alerted; the feed just
lied quietly. (Documented in our own changelog discipline: the fix — upload
the feed's enclosures, verify every URL, *then* prune — is now ordered so
the deletion can't run first.)
- **[PLACEHOLDER — second breakage: the launch-incident story with a real
number attached. Candidates from the engineering journal: the 0.13.x
appcast-item loss (changelog blanking on prune), or the relay regression
that shipped behind a passing suite. Pick the one FRE-202's data can
quantify.]**
- **The numbers, as they are.** <N> activations and <X>% trial→paid as of
<date> — small numbers, real ones, and the interesting part is the funnel
shape, not the size.
The angle for your readers: solo distribution is a chain of quiet failure
modes, each one invisible until it costs a user. We kept the receipts.
Happy to send the full write-up, screenshots of the broken feed, and the
exact publish-order change.
— <name>, FrenoCorp
## Where the numbers come from (and the caveats that travel with them)
- **Preferred source:** FRE-202, the weekly metrics job (CTO owns the query).
- **Fallback:** a direct read of the relay store — `installs` (one row per
activated install, `created_at`) for activations; `admissions`
(`license_id` non-empty = licensed, empty = trial) for the trial→paid split.
- **Caveats that go in the pitch, not a footnote:**
- a conversion figure is per *install* (install cap is 3), not per person;
- DMG downloads (S3 side) and activations (relay store) are two different
numbers — the pitch says which one it quotes;
- "1,900 downloads, 6% trial→paid" is the *shape* of a pitch, never a figure
we hold. No number is estimated to fill a placeholder.
## Gates before anything is sent
1. Figures exist (FRE-202 or CTO-confirmed direct read) — owner: CTO.
2. CTO confirms the query behind every figure quoted — owner: CTO.
3. Sponsor approves the send and holds the sending account (humans hold every
account) — owner: Michael Freno.
4. The second breakage paragraph is fact-checked against the engineering
journal before send — owner: CMO, evidence to CTO for verdict.
## Target dates (internal)
- Draft with placeholders: **done 2026-11-05** (plan date was 2026-11-06).
- Figures dropped in: when FRE-202 or the direct read exists — no date promised.
- Send: only after gates 1–4. Sponsor submits.