# Ingestion — `toby/blog/pipeline.md`

_Run: ea1223d6-6512-422e-8cfd-4848dec5340d · Date: 2026-05-12_

## Source
- **Path**: `toby/blog/pipeline.md` (sibling-owned: `toby-blog-seo`)
- **Last updated in source**: 2026-05-09 (auto-regenerated by agent)
- **Trigger**: file_event `moved` on the watched folder
- **Scope ruling**: derivative saved here (workspace artifact dir), **not** in `toby/blog/` — same precedence as `toby/x/` and `toby/strategy/` per memory rule `scope_rule_precedence`.

## What changed (vs. dashboard pre-ingestion)

The dashboard had **no mention of a blog channel** before this run. The pipeline doc adds a third operator-driven execution surface alongside X and the incident warroom — top-of-funnel essays + comparison/alternative posts on a 2-week cadence.

## Pipeline summary

- **Run #1** of a structured blog/SEO motion. Replaces ad-hoc one-off landing-page posts (the old breathless "🚀 supercharge" voice is explicitly disowned in the pipeline's voice section).
- **Drafts only** — agent writes to wiki; **operator copies to `apps/landing/src/content/post/` to publish.** First-publish flow is unresolved (open question below).
- **Cadence**: 1 post / 2 weeks, on the 1st and 15th of each month, 09:00 UTC.
- **Pillar mix over 8 posts**: ~3 P1, ~2 P5, ~1 P2, ~1 P4, ~1 P3. P3 stays out of the queue until the reliability hotfix ships.

## Pillars (mirror X strategy)

| # | Pillar | Funnel | Gate |
|---|---|---|---|
| P1 | Tab anxiety, named | top | none |
| P2 | The save-session ritual | mid | none |
| P3 | Power-user shortcuts & collections | bottom | 🔒 rel-gated on blank-page hotfix |
| P4 | Better-than-bookmarks | mid | none |
| P5 | Competitor alternatives | mid | none (cordial silence on competitors) |

## Shipped this run

- **Draft #1**: `toby/blog/why-you-have-so-many-tabs-open.md` (P1, top-funnel, 2026-05-09). "47 tabs is not a personality flaw. It's a research pattern." — explicit pairing with X Post 1 ("47 tabs is not a personality flaw") scheduled Tue 2026-05-12.

## Topic queue (ranked)

1. **OneTab Alternative for Chrome (2026)** — P5, mid funnel. Pairs with existing `apps/landing/.../2024-10-02-workonaAlternative.md`. SERP is listicles; angle = "visual collections vs URL list".
2. **Bookmarks vs Tab Manager** — P4 evergreen. Live the bio tagline ("Better Than Bookmarks") with the post.
3. **How to save Chrome tabs without losing them** — P2, top→mid. Calm step-by-step; doesn't lead with product.
4. **The "I'll deal with it tomorrow" tab problem** — P1 / read-later category gap. Maps to X strategy Post 11.
5. **Session Buddy alternative** — P5, hold until OneTab post is published.
6. **Arc browser users — where to put your tabs now** — P5, time-sensitive on Dia pivot. **No punch-down on Arc.**
7. **Public collection of the week** — recurring P5 curator series; low SEO weight, high social weight. Activates the under-pulled curator loop (playbook O3 KR3).

## Explicit NOT-pursued list (good guardrails)

- AI-organize hype post — Q4 2026 anti-promise.
- "Bookmarks are dead" hot take — voice violation.
- Holiday filler (Mother's Day, Valentine's, IWD) — voice rule.
- "Toby Mini vs Full" — wait for CWS reviews to stabilize post-reliability.
- Direct shot at OneTab/Workona/Session Buddy — cordial silence policy.

## Guardrails the pipeline already honors

| Guardrail | Source | Honored by pipeline? |
|---|---|---|
| No price claims until pricing-reality-reconcile lands (due 2026-05-13) | `toby/strategy/playbook.md` O3 KR1 | ✅ Current draft + open question call it out explicitly |
| P3 power-user posts gated on blank-page hotfix (due 2026-05-24) | `toby/incidents/2026-05-11-blank-extension-page.md` + compass anchor 1 | ✅ P3 explicitly held out of queue |
| No AI-feature pre-announce | Compass anti-promise, playbook anti-bet | ✅ Explicit NOT-pursued entry |
| No holiday filler | X engagement protocol | ✅ Explicit NOT-pursued entry |
| Cordial silence on competitors | X engagement protocol | ✅ Comparison-only, no trash-talk |

## Findings to surface

### New open questions (operator-only)

1. **Blog publish flow** — wiki drafts vs. `apps/landing/src/content/post/`. Does the operator hand-copy approved drafts, or does the publish flow change? **Blocks first publish.**
2. **Internal-link URL shape** — landing-site filenames (e.g. `2024-10-02-workonaAlternative.md`) may not match the canonical URL on `gettoby.com`. Confirm routing before any internal link ships.
3. **Image hand-off** — current draft has no cover image. Existing posts use `~/assets/images/blog/<post-folder>/<image>.png`. Operator owns this step (or hands off to design).
4. **Distribution loop with X** — X Post 1 ("47 tabs is not a personality flaw", Tue 2026-05-12) and the shipped blog draft state the same idea. Operator decides: repoint X post at blog, or treat as parallel statements?

### Stale references in source (not my problem to fix — strategist territory)

The pipeline doc cites two now-obsolete paths:
- `toby/x-strategy.md` (real path is `toby/x/strategy.md` since 2026-05-10)
- `toby/x-content-pipeline.md` (real path is `toby/x/content-pipeline.md` since 2026-05-10)

These are auto-regenerated by `toby-blog-seo` on its next run. Surface as a `pending_review` item only; don't hand-edit a sibling agent's doc.

## Dashboard mutations applied this run

- **TL;DR**: added "blog/SEO motion live with one draft shipped" sentence; added blog channel to the channel-execution surfaces.
- **Strategic anchor §**: added new bullet for the blog channel-execution layer, parallel to the X execution layer.
- **Immediate next steps**: added "Decide blog publish flow" before first publish; added "Repoint or pair blog draft + X Post 1" decision.
- **Recent shipments**: added "Blog & SEO pipeline run #1 + first draft" entry.
- **Doc index**: added two new entries — `toby/blog/pipeline.md` and `toby/blog/why-you-have-so-many-tabs-open.md`.
- **Open questions / blockers**: added "blog publish flow / image hand-off / internal-link URL shape" as a single grouped question; cross-linked with the X distribution-loop decision.
- **Sibling-agent folders memory note**: `toby/blog/` now has live content; treat as read-only same as `toby/x/`, `toby/strategy/`, `toby/incidents/`.

## What I did NOT do (and why)

- Did **not** write into `toby/blog/` — sibling-agent territory. Scope-rule precedence over "save next to source".
- Did **not** open a warroom incident or ticket for the stale `toby/x-strategy.md` references — they'll auto-regenerate.
- Did **not** prioritize any queued topic over another — that's the operator's call; surfaced rank-1 (OneTab Alternative) as the natural next post but added no urgency.
