Cadence

WORKING PROTOTYPE Cadence is running · last agent run: 4 min ago · next run: in 13 min · this week’s alignment score: 87 +6
Cadence · A forkable AI launch operating system

The AI launch system that measures whether anyone read what it wrote.

Five agents produce the launch. Four agents tailor every output to each teammate. One agent argues with me every Friday. One agent watches what every teammate actually does — and feeds it back so the next brief lands harder. Built on one belief: a launch that doesn’t measure adoption is a launch that’s hoping.

Before you scroll any further

This is a working prototype. Not a deployed product. Here’s the line between the two.

A senior CMO will spot the cracks in 20 minutes. So let’s name them before they do. Cadence is one PMM (me, Garth) running this against one simulated launch (FORGE) with simulated teammates. The framework is real. The integrations are spec’d and ready to wire to your stack. The receipts reference realistic datasets we built — not data Cadence collected from a deployed team.

REAL
  • The four-layer architecture and every agent prompt in agents/
  • The brand-review and tailor hooks (they actually run)
  • The fork process — run FORK-PROMPT.md in Claude Code, get a tailored framework in one session
  • The eval methodology and the 6 verbatim Marcus cases (the data is simulated, the document is real)
  • Every opinion. Every principle. Every “we will never say” rule.
SIMULATED
  • The teammates (Jake, Priya, Marcus, Tasha, Sam, Katherine)
  • FORGE the campaign. FORGE the brand.
  • The receipts dashboard data and the alignment score
  • The “57% reduction in time-to-response” claim is modeled, not measured
  • The Onboarding Bridge has run once, on Sam, who is fictional
NOT WIRED YET
  • Gmail / Slack / Greenhouse / Workday — all spec’d in playbooks/, none deployed against FORGE
  • Cron infrastructure — Vercel and GH Actions configs are documented, not running
  • Derived-signals-only enforcement at the API layer (currently policy, not architecture)
  • Second-grader blind eval review for inter-rater agreement

Realistic time to fork this and get one integration wired against your org: a focused weekend plus one engineer-week. Not “5–7 hours of focused work” as I claimed in V1 — anyone who’s deployed a SaaS integration knows that number is fiction. The honest version is below.

Full version: HONEST-LIMITATIONS.md in the repo. Append-only. If a CMO finds a fifth thing this page should have admitted, that’s where it goes.

The question that built this.

A senior CMO once asked me: “You sent it. Did anyone read it? Did anyone act on it? Did the next launch’s brief land better because of what you learned this time?”

That question is what most AI marketing tools cannot answer. They optimize for content velocity. They produce more, faster. They do not close the loop.

Cadence is built around the people problem and instrumented for adoption. It treats internal teammates as customers, tailors every output to each one, and then watches what they do with it. Every reaction becomes data. Every data point sharpens the next brief. The framework is supposed to get smarter the longer it runs — and the receipts on this page prove it does.

Four layers.

Eleven agents. Sequential handoffs. One agent runs Opus because taste matters there more than throughput. One agent runs continuously because adoption is the only metric that counts.

last ran 4 min ago
Layer 01 · Launch orchestration

Five agents produce the launch.

Sequential handoffs. Each agent reads BRAND.md, SOUL.md, and the prior agent’s structured output. Every agent flags claims built on digital research alone as unverified by default.

market-intel positioning audience-persona channel-content performance-forecast
profile refresh in 19 hrs
Layer 02 · People resonance

Four agents learn your team.

The differentiator. People Profile runs every Monday and merges the week’s profile-update events from the Receipts agent. Deliverable Tailor reshapes every Layer 1 output for each teammate. Onboarding Bridge integrates new hires across a 60-day learning protocol — honest about uncertainty until the data earns confidence.

people-profile onboarding-bridge deliverable-tailor cadence-orchestrator
THE ONE PIECE NO COMPETITOR SHIPS
next run Fri 3:00pm
Layer 03 · The antibody

One agent argues with you.

Runs every Friday at 3:00pm. Reads everything the system produced this week — including the Receipts dashboard from 2:30pm. Sends one provocation. Permitted to be uncomfortable. Required to be honest. Silence is a valid output. Filler is not.

status-quo-breaker · Opus
See this week’s provocation ↓
watching · 14 events today
Layer 04 · The receipts · NEW

One agent measures whether it mattered.

The loop-closer. Watches every signal that already exists in the tools teammates already use — email opens, Slack replies, calendar actions, doc edits, CRM updates. Captures adoption in real time. Feeds it back into People Profile so the next brief is sharper than the last. No output ships without instrumentation.

receipts-agent

Layer 1 in action.

Five agents. Sequential handoffs. Each produces a structured artifact the next one reads. Total run time: 47 seconds end-to-end. Click any agent to inspect the artifact it produced for the FORGE launch.

▾ Click any node to inspect its output ▾

Four principles enforced by hooks.

Cadence will reject outputs that violate these. Not as a warning. As a refusal.

Principle 01

The customer is the subject. Never the company.

“We’re proud to” formations are auto-rejected. Every sentence has the customer or the customer’s moment as the subject.

Principle 02

Teammates are customers, not recipients.

Every output is tailored. No “broadcast to the team.” Six teammates get six versions of the same source artifact.

Principle 03

Digital research is unverified by default.

Any campaign built purely on AI-aggregated or scraped data is flagged as needing human verification before it ships.

Principle 04 · NEW

Every output gets measured. Or it does not ship.

No brief leaves the system without an instrumentation hook. Adoption is the only metric that counts. The receipts feed back into the People Profile so the next brief is sharper than the last.

Layer 2 in action. Same brief. Six voices.

CRAFT NA FORGE THE MOMENT THAT ASKED FOR IT. 12 FL OZ · 0.0% ABV
The working case study

FORGE

A non-alcoholic craft brew built for the ride home. The parking lot at Buttonwillow after the third session. The diner outside Mulholland. The garage with one buddy still hanging around.

Category: Non-alcoholic craft beer
ICP: Track-day-regular sport bike riders, 28–45
Phase 1 launch: September 14, 2026 · NorCal dealer placement
Status: FICTIONAL — the working case study for the Cadence prototype

Cadence is launching FORGE as its working case study. Six teammates each have a Cadence profile. The Deliverable Tailor agent reshapes every output for each of them. Then Layer 4 watches what each one does with their version.

What every AI tool produces
“We’re proud to announce the launch of FORGE, a next-generation non-alcoholic craft beverage designed for the active motorcycle lifestyle. FORGE leverages best-in-class brand storytelling and a data-driven channel mix to drive awareness and engagement among performance-oriented consumers.”

One blob, addressed to no one. Triggers Jake’s auto-reject (“lifestyle”). Insults Marcus’s brand instincts. Tells Priya nothing. Gives Tasha no claims matrix. Reads like every AI demo from the last two years. Nobody opens it. Nobody acts on it.

Cadence’s version, tailored to:

How Cadence learns a teammate.

Personalization only works if the system actually knows the person. So the first thing Cadence does — before it writes a single brief addressed to a new teammate — is bootstrap their profile from real sources, with consent, and show them what it learned before anyone else sees it.

Here’s Sam, our Day-21 PMM, on Day 1 vs. Day 21. Every field is tagged with where the system learned it.

SURVEY 10-question onboarding survey, sent by recruiter at offer-accept. GREENHOUSE interview scorecard (read-only). WORKDAY role, manager, prior tenure. PUBLIC LinkedIn posts, public talks. OBSERVED behavior watched by Layer 4 over time. SELF-CORRECTED the teammate edited Cadence directly. Weight: absolute.
Day 1 · 8 of 23 fields populated · confidence 0.30
  • SURVEY Prefers Slack DM for non-urgent
  • SURVEY Works 7:30a–5p PT, hard stop at 5
  • SURVEY Wants TL;DR + narrative, not bullets
  • SURVEY Sits with disagreement 24h before responding
  • SURVEY Auto-rejects: synergy, leverage (verb), rockstar
  • WORKDAY Senior PMM, prior 2y8m at Stripe; eng→PM background
  • GREENHOUSE Asked sharpest question of any candidate: “why haven’t we sunset our legacy line?”
  • PUBLIC LinkedIn cluster: retro design, brand purity in B2B SaaS, opinions on email
  • — Time-to-action under launch pressure: UNKNOWN
  • — Brief length preference at week 8 vs. week 1: UNKNOWN
  • — Cross-functional handoff style w/ Marcus: UNKNOWN
  • — 12 more fields: UNKNOWN (awaiting observation)

The framework is honest about what it doesn’t know. Onboarding Bridge runs a 21-day learning protocol — what to do on Day 3, Day 7, Day 14, Day 21 — explicitly designed to fill these gaps without burdening Sam with surveys he didn’t sign up for.

Day 21 · 23 of 23 fields populated · confidence 0.61
  • SURVEY Prefers Slack DM (confirmed by behavior)
  • SELF-CORRECTED Auto-reject list extended: + “ninja”
  • OBSERVED Reads briefs an average of 3× in first 24h
  • OBSERVED Asks his first hard question in week 3 — one week earlier than the bridge predicted
  • OBSERVED Pushes back via direct DM, never in a group thread
  • OBSERVED Cross-functional handoff w/ Tasha: clean. With Marcus: still emerging
  • OBSERVED Ready for tighter briefs as of Mon 5/26 (heavy-context default deprecated)
  • OBSERVED Time-to-action under launch pressure: median 28h, trending faster
  • SELF-CORRECTED Wants “rider” not “customer” in channel mix table
  • OBSERVED Asks Cadence “why” before “what” — give him the reasoning first
  • OBSERVED Cadence-trust signal: opens briefs at 5:01pm if sent at 4:55pm. Stops at 5:00 sharp otherwise.
  • + 12 more fields populated by observation

The bridge predicted Sam would cross 0.60 confidence in week 4. He crossed it Thursday of week 3. The framework updated its prediction. The next new hire with consent path C gets a tighter default — because the data earned it.

The bootstrap moment that mattered

Sam’s first-contact message from Cadence — sent 24 hours after his survey — showed him every profile field with its source, in plain English. He corrected one item (“add ‘ninja’ to the auto-reject list”), asked one sharp question (“why won’t you tell me your guess about Marcus?”), and then said: “Surprised by how specific that is.”

The full first-contact exchange — survey, profile, Sam’s corrections, and Cadence’s refusal to characterize Marcus on his behalf — is in teammates/sam-onboarding-survey-responses.md. The agent that bootstraps a teammate from cold-start is agents/people-research-agent.md. Both ship in the fork.

Layer 4 in action. The receipts.

This is the dashboard the receipts-agent writes every Friday at 2:30pm. It’s the proof — or the absence of proof — that the personalization layer above is doing anything besides looking smart.

Every metric below is computed from signal that already exists in the tools the team already uses (email, Slack, calendar, docs, CRM). No bespoke instrumentation. No content stored — derived signal only.

Week of 2026-05-18 · FORGE launch brief adoption

LIVE
87 cross-functional
alignment score
+6 vs last week
6 +1
Briefs sent
100% +20pp
Opened < 24h
83% +8pp
Action within 24h
3 +1
Pushback events
1h 47m -38m
Median time-to-action
Jake MorrisseyVP Sales
OPENED → REPLIED23 min after send · Wed 09:42
Action: scheduled call with Sergio at Aprilia of San Jose for Tue 5/27 9am.
engaged
profile · 0.96
Priya ChenHead of Growth
OPENED → REPLIED2h after send · Wed 11:18
Action: requested LTV sensitivity at -30%. Pattern detected (3 weeks): “always show downside case.” Profile updated.
pushback · constructive
profile · 0.91
Marcus HaleVP Brand
OPENED → RED-LINED5h after send · Wed 14:30
Action: red-lined Pillar 3 in shared doc — 3rd week in a row, same red-line. Escalated to Status Quo Breaker.
skeptical · escalated
profile · 0.88
Tasha WilliamsGeneral Counsel
OPENED → BOOKED7h after send · Wed 16:50
Action: booked own time (Calendly-first preference confirmed) for Aug 30 claims review. Proposed alternative wording for Pillar 3.
methodical
profile · 0.91
Sam LevinPMM · Day 21
OPENED → REPLIED26h after send · Thu 11:15
Action: first hard question in week 3, one week earlier than the Onboarding Bridge predicted. Profile crossed MEDIUM threshold.
curious · accelerating
profile · 0.61
Katherine ReyesCMO
OPENED → SIGNED OFF → FORWARDED9h after send · Wed 18:15
Action: approved, then forwarded to the CEO with a one-line endorsement. First upstream-amplification event without a translation step.
approving · amplifying ↑
profile · 0.97

What the system learned this week (and queued for Monday’s profile merge)

  • Priya: subject lines that lead with the metric beat those that lead with the question by 18% open-rate. Future Priya briefs default to metric-first subjects.
  • Sam: ready for tighter briefs as of Mon 5/26. Heavy-context default deprecated. The Onboarding Bridge was too cautious by one week.
  • Katherine: when a brief contains visible cross-functional pushback resolution, she signs off in <2 hours. When it doesn’t, she takes >12 hours and asks for evidence. Make pushback-resolution a default brief element for her.
  • System-wide: personalization correlates with -57% time-to-response vs. the non-personalized control brief from Week 18. The premise is being validated weekly.
⚠ 2 anomalies the system flagged for human review Priya’s response time has slowed 4 weeks in a row (1.2h → 3.4h). The framework is failing her, OR she’s losing trust, OR her bandwidth has changed. Status Quo Breaker has the thread.

Marcus has red-lined Pillar 3 three weeks running, same red-line. The framework keeps producing the same wording; he keeps pushing back the same way. Either we fix the wording, or we acknowledge the brand chooses to live with this risk. The system’s job is to surface that we have not made the call. We have not made the call.

This dashboard updates every Friday 2:30pm. The Status Quo Breaker reads it at 2:55pm before its 3pm provocation — so every Friday provocation is informed by what actually happened this week, not by what the system assumes happened. That’s the loop.

Drilling into Marcus. The eval for the most contested teammate.

The dashboard above says Marcus has red-lined Pillar 3 three weeks running. That’s a system observation. How accurate is the deliverable-tailor at predicting Marcus’s red-lines in the first place? Six tailored briefs over four weeks. Six verdicts. Click any case to see the verbatim brief excerpt, the prediction the agent logged before send, Marcus’s actual red-line, and the eval verdict.

50%
Phrase-level
accuracy
83%
Category-level
accuracy
1
False
positives
1
False
negatives
n=6
Sample size
(don’t over-index)

The headline number — 50% phrase-level accuracy — is not flattering. It’s real. A senior PMM reading this shouldn’t be impressed by the number; they should be impressed that we publish it. Most AI marketing tools never show you their misses.

Full eval: outputs/evals/marcus-redline-eval.md · Methodology and known weaknesses: outputs/evals/methodology.md. Both ship in the fork. Re-run this eval against your most contested reviewer; the template is the file.

Fork it for your org. Honestly this time.

Most GTM systems claim “fork in a weekend.” That claim is fiction the moment you add a real integration. Here’s the actual rollout — broken into the four phases I’d run if I were forking this for your team tomorrow. Cadence ships with a single Claude Code prompt that turns it into YOUR Cadence in one session. Everything after that is real engineering work, properly scoped.

DAY 1 · 3–5 hours

Fork the framework, not the integrations.

Clone forge-launch/. Open Claude Code at the repo root. Paste the contents of FORK-PROMPT.md. Answer Claude’s questions across 5 passes — BRAND.md, SOUL.md, teammates, MEMORY.md, CLAUDE.md. By bedtime, the repo no longer says FORGE anywhere in the source-of-truth files.

→ A working framework configured for your brand. Runs Layer 1 against your launch. No integrations yet — but you can generate a tailored launch brief by morning and send it via your existing tools.

WEEK 1 · 6–12 hours of eng time

Wire one integration. Gmail read-only.

Follow playbooks/gmail-integration.md. Service account with gmail.metadata scope. Subject-line tagging convention. Brief-tagging hook in your existing mail-merge tool. The privacy posture is metadata-only, defensible to a DPO.

→ Receipts-agent starts watching brief opens, replies, and forward events. First Friday dashboard with real data. Alignment score is now measured, not modeled.

MONTH 1 · 2 engineer-weeks

Add Slack + Greenhouse. Bring one new hire into the system.

Follow playbooks/slack-integration.md for the bot scopes and the Status Quo Breaker DM contract. Follow playbooks/greenhouse-webhook.md for the new-hire trigger. Run people-research-agent against your next new hire with explicit consent. Show your CMO the Day-0 → Day-21 profile diff.

→ The conversation where Cadence stops being a thought experiment. Your CMO sees the bootstrap mechanism with their own teammate’s name on it.

MONTH 3 · legal + security review

Earn the right to run unattended.

Legal reviews the data retention. Security reviews OAuth scopes. Decide which agents run on a recurring schedule (recommended: Monday 6am people-profile, Friday 14:30 receipts, Friday 15:00 SQB) vs. on-demand (everything else). Run the first eval against your most contested reviewer using outputs/evals/methodology.md.

→ Cadence is now actually deployed. Cron infrastructure is live. The Friday dashboard ships every week without anyone running it manually. Drift is measured. The framework gets smarter the longer it runs.

The Day-1 artifact ships today.

FORK-PROMPT.md is a single Claude Code session. It turns Cadence into your-org’s-Cadence in 3–5 focused hours. The four playbooks (playbooks/gmail-integration.md, slack-integration.md, greenhouse-webhook.md, cron-deployment.md) ship with reference code your engineering team can review against your stack.

cadence/ ← github.com/TheGarthBox/cadence · MIT licensed · v5.1.0 ├── README.md ← the fork guide (honest version) ├── ARCHITECTURE.md ← system design + trade-offs · V5.1 ├── ROADMAP.md ← v5.2 / v5.3 / v6.0 milestones · V5.1 ├── CHANGELOG.md ← Keep-A-Changelog · V5.1 ├── OPERATIONAL-READINESS.md ← what runs today vs. spec · V5.1 ├── SECURITY.md ← disclosure policy · V5.1 ├── CODEOWNERS ← review routing · V5.1 ├── LICENSE · CONTRIBUTING.md · FORK-PROMPT.md · HONEST-LIMITATIONS.md · TELEMETRY.md ├── BRAND.md · CLAUDE.md · SOUL.md · MEMORY.md ← source-of-truth files ├── cadence/ ← operational runtime · Python package · V5.1 │ ├── runtime/agent_runner.py ← composes prompts, calls Claude │ ├── runtime/pipeline.py ← Layer 1 sequential │ ├── runtime/tailor.py ← Layer 2 fan-out + brand-review gate │ ├── cli.py ← `cadence run-layer-1 –campaign-id …` │ ├── tests/ ← 15 tests, fake Anthropic client (no live key in CI) │ └── pyproject.toml ← `pip install -e .[dev]` ├── decisions/ ← Architecture Decision Records · 8 ADRs · V5.1 │ ├── 001 four-layer-architecture · 002 no agent framework │ ├── 003 opus only for SQB · 004 metadata-only Gmail │ ├── 005 derived-signals-only · 006 fork-prompt as Day-1 │ └── 007 fortnightly manual eval · 008 telemetry opt-out default ├── agents/ ← 11 agents · Sonnet + 1 Opus │ ├── Layer 1 (5): market-intel, positioning, audience-persona, channel-content, performance-forecast │ ├── Layer 2 (4): people-profile, onboarding-bridge, deliverable-tailor, cadence-orchestrator │ ├── Layer 2: people-research-agent ← bootstraps new hires │ ├── Layer 3 (Opus): status-quo-breaker │ └── Layer 4: receipts-agent ← the loop-closer ├── integrations/ ← production Python · metadata-only enforced in code │ ├── gmail/ ← read-only Gmail observer + tagger + 15 tests │ └── telemetry/ ← fork-ping + Cloudflare Worker (this page reads /stats) ├── playbooks/ ← integration playbooks · real time estimates │ └── gmail · slack · greenhouse · cron ← Week 1 → Month 3 ├── .github/ ← issue + PR templates · CI workflow · V5.1 │ ├── PULL_REQUEST_TEMPLATE.md │ ├── ISSUE_TEMPLATE/{bug · feature · integration}.md │ └── workflows/test.yml ← 6 jobs, all green ├── pilot/ ← live pilot scoping (Katherine’s referral) ├── onboarding/ · hooks/ · teammates/ └── outputs/ ├── launch-brief/ ← canonical + 6 tailored versions ├── receipts/weekly-2026-W21.md ← Layer 4 sample dashboard └── evals/ ├── marcus-redline-eval.md ← 6 verbatim cases ├── methodology.md ← how we grade └── kpi-rubric.md ← 4 tiers, 25 metrics, formulas + targets
LAYER 3 · THE ANTIBODY · OPUS-POWERED · THE ONE PIECE NO COMPETITOR SHIPS

Layer 3 in action. Every Friday, Cadence argues with me.

Most AI tools agree with you. This one argues. Every Friday at 3:00pm, the Status Quo Breaker (the only agent running Opus, because taste matters more than throughput here) reads the Receipts dashboard from 2:30pm — then sends one provocation informed by what actually happened this week, not by what the system assumed. Silence is a valid output. Filler is not.

Provocation · 2026-05-22 15:00 · From: status-quo-breaker · Reading: weekly-2026-W21.md · To: Garth

Garth — Katherine forwarded your FORGE brief to the CEO within 9 hours, without first asking you to walk her through it. This is the first time the CMO has done that. Either the framework has crossed a trust threshold with her, or she is testing whether the brief stands on its own. You do not know which. If it’s the first, the framework has earned the right to ship without you in the room. If it’s the second, the next brief is a test you didn’t know you were taking.

Meanwhile, Marcus has red-lined Pillar 3 three weeks in a row. Cadence keeps producing the same wording. He keeps pushing back the same way. The framework’s job is to surface that you have not made the call. You have not made the call.

And Priya’s response time has slowed four weeks running. The framework is failing her — or she’s losing trust — or she’s overloaded. The receipts cannot tell you which. You have to ask her.

One of these three is the most important conversation of your week. Which?

01

Why it’s third, not first.

Layer 3 reads Layer 4’s output. The provocation at 3pm is grounded in the receipts dashboard at 2:30pm. Without Layer 4 watching, Layer 3 is just an LLM with an attitude. With Layer 4, Layer 3 is the one agent that turns adoption data into a Friday afternoon decision.

02

Why it’s Opus, not Sonnet.

The volume of agents in Cadence is in Layers 1, 2, and 4 — those use Sonnet because we pay for throughput. The Status Quo Breaker runs once a week. We pay the Opus upgrade here and only here, because if the provocation is mediocre the whole system becomes a sycophant.

03

Why silence is a valid output.

Most AI products generate. The Status Quo Breaker is structurally permitted to send nothing on a low-signal week. The framework would rather skip a Friday than manufacture drama. If your team needs an adversary every week to feel like the system is working — your team probably has a different problem.

Agent prompt: agents/status-quo-breaker.md · Cron: Friday 15:00 local · Handoff packet: see outputs/receipts/weekly-2026-W21.md bottom section.

What Cadence can’t do (yet).

Six things a senior PMM, a skeptical CMO, or a General Counsel will find within 20 minutes of reading this repo. Better that I say them than they do. Full version: HONEST-LIMITATIONS.md in the fork.

01

It hasn’t been deployed at scale at a company.

The framework has been pressure-tested only by its author against one simulated launch. Forking it for a real org is the experiment we haven’t run yet at someone else’s expense.

02

The integrations are spec’d, not deployed.

Gmail, Slack, Greenhouse, Workday — all four have reference code in playbooks/. None of them are live against FORGE. The receipts data is realistic; its origin is not.

03

The eval has one grader.

Garth grades his own system. Methodology document is explicit about this: V2 needs a second senior PMM to grade the same eval set independently. Inter-rater agreement is the next number we owe you.

04

The privacy posture is policy, not architecture.

“Derived signals only, no content stored” is the rule. Enforcing it at the API layer requires a proxy that strips message bodies before they reach the agent. 2–3 days of engineering. Documented; not built.

05

The alignment score is unvalidated.

The formula is plausible. The “57% reduction in time-to-response” benchmark is modeled, not measured. We don’t know what a “good” alignment score is across orgs — and the page should not pretend otherwise.

06

It will fail you if your team is under 4 people.

Cadence’s value comes from cross-functional alignment. With three people, you can have the meeting. Cadence is for orgs where the meeting has stopped working. Also: high turnover kills the long-tail learning. So does positioning that’s still in flux.

If you fork this and find a seventh thing the page should have admitted — email me. HONEST-LIMITATIONS.md is append-only.

CADENCE WATCHING CADENCE

Every fork that runs the test suite shows up here.

The receipts-agent thesis applied to the framework itself: the only metric that counts is whether anyone is actually deploying it. So when you fork Cadence and run the test suite, one anonymized event pings a public counter. This page reads from it. No PII, no IP tracking, no fork URL — just a SHA-256 hash that proves a fork is alive. Receiver is 130 lines of Cloudflare Worker code, also in the repo.

forks have run
the test suite ever
active forks
this month
origin runs
this month
as of
(UTC)

What this number actually means.

If forks total = 1, the only fork running tests is Garth’s. That’s the honest start. Whatever you see above is real.

If the number grows, that’s evidence the framework is being actively forked and tested by other builders. If it doesn’t, that’s evidence Cadence is just a portfolio piece. The landing page is committed to showing whichever is true.

What we send. What we never send.

Per ping: a hash of the fork’s git remote, a hash of the runner’s OS+Python version, the Cadence version, an event type, a timestamp. Six fields total.

Never: your name, your email, your GitHub handle, your IP, the URL itself, the contents of your fork, any environment variable values. Defaults to off. Opt-in is CADENCE_TELEMETRY=on.

Full privacy posture: TELEMETRY.md in the repo. Receiver source: integrations/telemetry/server/worker.js. To turn telemetry off on your fork: export CADENCE_TELEMETRY=off. The default is off; the canonical CI workflow opts in.

About the human in the system.

I’m Garth Beyer. PMM with a demand-gen lifecycle lean, building toward a CMO seat. Cadence is the framework I built while thinking through how AI changes the shape of senior PMM work.

Most AI marketing tools optimize for content velocity. I’m more interested in what AI does to the cross-functional alignment problem — the actual reason most launches underperform. Cadence is what came out of that thinking. It is opinionated. It will reject your draft. It will argue with you on Friday. It will tell you Priya hasn’t opened your last three briefs. That’s the point.

If you’re hiring for a senior PMM, or building an AI-native marketing function, or you want to fork this for your own org — the email below is the right place.

Email Garth LinkedIn →

Cadence runs on a private Friday cadence by default. Want to fork it for your org? Download the .zip above. Wire your own receipts to your own stack. Pages don’t lie about what they are.

Built by Garth Beyer · May 2026 · garthbox.com

brand-review hook scanned this page on publish · 0 violations · receipts-agent watching · alignment score 87