Skip to content

blog: dogfood field report on outreach agent governance#592

Merged
amavashev merged 6 commits intomainfrom
blog/we-put-cycles-in-front-of-our-own-outreach-agent
May 8, 2026
Merged

blog: dogfood field report on outreach agent governance#592
amavashev merged 6 commits intomainfrom
blog/we-put-cycles-in-front-of-our-own-outreach-agent

Conversation

@amavashev
Copy link
Copy Markdown
Contributor

Summary

  • New blog post: We Put Cycles in Front of Our Own Outreach Agent — a dogfood field report on running our own outreach agent under Cycles authority (research → Gmail drafts → Slack review → Attio → reply detection), documenting the budget vs. action authority split, real receipts (RELEASED / COMMITTED / 409 BUDGET_EXCEEDED), what broke during rollout, and the systemd timer layout running the loop without a laptop.
  • Companion piece to the scalerX integration post — same case-study format, but from inside our own runner.
  • Author: Evan Mavashev. Date: 2026-05-09.

Review process completed

  • Frontmatter: full block present (blog, sidebar, featured, head.keywords)
  • Title 51 chars / description 151 chars (within SEO targets)
  • Tags aligned to corpus (runtime-authority, budgets, action-control, operations, case-study, agents)
  • 8 contextual inline cross-links to: what-is-runtime-authority, ai-agent-action-control, action-authority-demo, real-time-budget-alerts, policy-drift, runtime-authority-byproducts, protocol/how-reserve-commit-works-in-cycles, agents-are-cross-cutting, plus inline scalerX companion link
  • All link targets verified file-existing
  • Fact-checked: 409 BUDGET_EXCEEDED, reserve→commit→release, $0-toolset=DENY, USD_MICROCENTS all confirmed against corpus
  • 3-cycle review pass, scorecard 9.25/10

Test plan

  • Visual check on local dev server (npm run dev) — H1, frontmatter, tables, inline links render
  • Confirm post appears on /blog index card
  • Click through every inline cross-link to confirm 200
  • OG image generation runs cleanly
  • External reviewer pass (separate loop)

Note for author

One ledger-arithmetic question worth eyeballing before publish: line ~145 shows total allocated \$61.6000 and remaining \$50.7843, with research-live remaining \$48.6845. The implied historical-toolset remaining is ~$2.10 but the research + research-rerun breakdown only sums to ~$0.50 — possibly other older toolsets not shown, or different snapshots. Numbers are real-data so left untouched; flag if you want a one-line clarification.

amavashev added 6 commits May 8, 2026 10:47
A real internal workflow report on putting Cycles in front of an
autonomous outreach runner: research → triage → Gmail drafts → Slack
review → Attio sync → reply detection. Documents the budget vs. action
authority split, the $0 toolset budget = DENY pattern, real receipts
(RELEASED, COMMITTED, 409 BUDGET_EXCEEDED), what broke (microcent
underfunding, budget-mutation 500s, Slack webhook misconfig, Gmail
OAuth setup), and the systemd timer layout running the loop without
a laptop. Companion piece to the scalerX integration post.

Inline cross-links to runtime authority, action-control, audit-trail
byproducts, real-time budget alerts, policy drift, reserve-commit
protocol, and agents-cross-cutting.
…ction-kind

Round 1 reviewer fixes:
- Intro restructured: DENY payoff (`409 BUDGET_EXCEEDED` on external send,
  draft kept for review, side effect blocked) now appears in the lede
  instead of the receipts section.
- Action-kind clarification: `send-email`/`send-email-approved` are
  toolset names; the canonical action kind in the v0.1.26 registry is
  `message.email.send`. Avoids spec confusion.
- "What broke" #2 reframed from "budget mutation broken" to
  "admin-plane mutation hardening" — runtime path (reserve, commit,
  release, deny) worked; mutation paths are the hardening item.
- "What happened in the first live runs" compressed: cut 18-artifact
  table and standalone triage table; queue counts moved to prose.
- Keywords block tightened to reviewer's focused set.

Skipped: title alts (current 51 chars vs 67-char alternative), date
shift (explicit author choice), description rewrite (reviewer's
version was over the 150-160 char SEO limit).
…rding

- Add a clarifying sentence near the `$0.0000` allocation paragraph:
  the dollar amount is acting as an action allowance, not a provider
  cost. Removes the "wait, email costs $0?" confusion.
- "VM with systemd" → "VM under systemd" (more precise relationship).
- "while being denied" → "while still being denied" (smoother).
- "That is the useful split." → "That split is the point."

Skipped: optional audit-table-to-prose cut (reviewer marked optional;
the table is concrete and reinforces the operator-contract claim).
@amavashev amavashev merged commit cc00f04 into main May 8, 2026
5 checks passed
@amavashev amavashev deleted the blog/we-put-cycles-in-front-of-our-own-outreach-agent branch May 8, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant