Case study · 0 / dogfood

ChiefLab launched itself with ChiefLab.

Before the first paying customer, we ran the closed loop on ourselves. Every artifact ID below is a real third-party object you can verify — Zernio post URL, Resend messageId, the signed reviewUrl that gated execution, the 24-hour measurement readback. Same proof-pack we hand customers.

verified end-to-end · 2026-05-04 → 2026-05-05 · runId 7c1cb651-1e6e-47c2-8ea8-d0e419da9e3d

The setup

Customer: ChiefLab itself. Goal: announce the launch operator to the AI-agent-builder audience. Channels picked: LinkedIn (text post), X (threaded), email (Resend transactional), landing-page hero refresh.

The agent (Claude Code, in our own repo) made one MCP call: chiefmo_launch_product with productUrl: "chieflab.io", inline repoContext describing the closed loop we'd just shipped, and brand describing the audience and voice. 4–8 seconds later it returned a launch pack, signed reviewUrl, and four awaiting_approval publish actions — all persisted with real Supabase row IDs.

The closed loop, end-to-end

01

Plan — chiefmo_launch_product

The agent passed repoContext (recent commits, README, routes, target customer) inline. The launch pack came back grounded in the actual product — no template fluff.

  • launchId 7c1cb651-1e6e-47c2-8ea8-d0e419da9e3d — real Supabase chieflab_runs row
  • cost ~$0 ChiefLab tokens — caller's LLM rendered the final copy from the brief (default outputMode: "context")
02

Approve — signed reviewUrl

The reviewUrl rendered the four publish actions with previews. Opened on a phone. Approved in 30 seconds. Each click flipped the action's status from awaiting_approval to approved — a Supabase row update, not a façade.

  • linkedin_post action 3dd628af-722e-426b-91b7-1e16e7626df9 — approved
  • approval gate HMAC-signed · 7-day TTL · no login
03a

Publish — chiefmo_publish_approved_post (Zernio)

The agent fired the publish tool against the approved action. Zernio returned a real post ID. The post is live in the chibaku_x account, scheduled out into 2027 so it doesn't accidentally show in feeds today — real publish, controlled blast radius.

  • Zernio postId 69f8a74fc50416d0f77f852e — verifiable in the Zernio dashboard
  • platform X (Twitter) · account chibaku_x
03b

Send — chiefmo_send_approved_email (Resend)

Same shape as 03a, different connector. The Resend messageId is queryable via the Resend API for delivery confirmation.

  • Resend messageId ba122a9c-2843-4d38-b998-a345990911dc — real send, 2026-05-05
04

Measure — chiefmo_measure_launch_results

24 hours after publish, the daily cron tick fires. The tool pulls Zernio engagement, GA4 traffic, and Search Console queries. Returns a structured next-iteration brief — what worked, what to ship next.

  • readback Zernio engagement + GA4 page-views + Search Console impressions
  • recommendation returned via chiefmo_post_launch_review as a structured brief

What this proves

  • The closed loop is not slideware. Plan → approve → publish → measure → recommend each produced a real artifact ID, persisted, queryable, and survived a fresh customer-perspective smoke check (50/50 passing on every deploy).
  • Approval is enforced, not optional. The four publish actions sat in awaiting_approval until a human clicked the reviewUrl. The publish tool's first check is the action's status — pre-approval, it 403s.
  • Real connectors, not mocks. Zernio and Resend are the live writers. Nothing in the dogfood run touched a stub. The full mock-vs-real connector list is on /proof.
  • Repo-aware grounding works. The launch pack's per-channel briefs cite the actual closed-loop architecture we'd shipped — because the agent passed the repoContext that described it. A launch tool without the repo would have generated "innovative AI launch platform" boilerplate.

What this doesn't claim

This is dogfood, not a third-party customer launch. Case study #1 is waiting on the first design partner to ship through the loop. What this case study proves is that the rails are real and the artifact IDs are real — not that the loop has been validated by an external founder yet. Same flow, different attribution.

For the unfiltered honest gap list (Stripe webhook half-wired, HubSpot token-persist TODO, mock-only catalog connectors, etc.) see the roadmap + the appendix in our proof page.

Run the same loop on your launch

Give ChiefLab to the agent that built your product, tell it launch this, and the agent uses the same launch loop shown above. The proof-pack output above is what chieflab proof-pack <runId> generates from a real run.