Sentry · Kody · Cursor

Sentry · Cursor · Kody

Agentic Loops

The Sentry issue that becomes a PR while the laptop is closed

Kent C. Dodds + Sergiy Dybskiy Aug 26, 2026

Tonight

Kent built Kody. Serge takes it apart.

The loops behind kody.codes · Cursor Automations · Sentry webhooks + Seer · what's next

Bring questions. We will take them live.

Favorite loop

Sentry sends the error. Kody starts a Cursor Cloud Agent. If the fix is low risk, it merges, deploys, and verifies in production. x.com/kentcdodds · Aug 5

Shared vocabulary

A closed loop has four parts

Trigger Act Observe Stop / handoff

The agent can verify its own work. You decide where you still sit.

Kody in one breath

The agent thinks. Kody keeps it honest.

Keys the agent never reads. Code that survives the chat. Jobs that run while the laptop is closed. No inference of its own.

Two doors

search and execute

search

Find the capability, package, secret, or memory that already exists.

execute

Write a temporary module. Compose what search found. Smoke-test it.

Not a catalog of 200 MCP tools in every context window.

Factory loop

Ask once. Then stop rethinking it.

Ask once Save export Invoke anywhere Notify if new

The scheduled path has no model in the loop.

Thesis

Closing a loop is one task. Loop engineering is a loop that starts itself.

Cursor Automations and Sentry webhooks are how this one starts.

Cursor Automations

The prompt box is not the trigger

Mark ready Bugbot / CodeRabbit CI Discord ping

First formal ship-pr loop: bc-e446805ekody#155 · also deploy-failure + nightly docs/tests

Sentry has two doors

Do not collapse these

Cursor-native · Serge

  • Sentry trigger on cursor.com/automations
  • Sentry MCP in the agent
  • Issue created / updated / assigned

Kody webhook · Kent

  • HMAC door into a package
  • Seer RCA seeds the agent
  • Kody spawns the Cloud Agent

@kentcdodds/sentry-triage

Six repos. One package.

kody
kody-cloudflare · kentcdodds/kody
Sites
kcd · kentcdodds.com · kody-video · epicshop
More
kody-exchange · kody-home-connector

HMAC door · handle-sentry-webhookprocess-sentry-webhook · handle-seer-webhook

This week · KODY-CLOUDFLARE-5W

Safari flake → merged PR

Failed to fetch dynamically imported module on syntax-highlight-core. Catch + one retry. Issue resolved in the commit.

Sentry 7687920474 · bc-fd152708 · kody#1697

Agents cause issues · KODY-CLOUDFLARE-5V

session_id: "none"

An agent passed the placeholder to repo_read_file. That is a caller failure — reject at schema, keep it off Sentry.

Sentry 7686873204 · bc-0f5b0431 · kody#1694

Filtered · KODY-CLOUDFLARE-5K

Chrome extension noise

Client has been destroyed with every stack frame on chrome-extension:. Not a product bug. Drop it in beforeSend.

Automation, not a novel prompt · kody#1602

Scoreboard · Aug 23

203 issues. The loop is not a demo.

101Fixed
72Filtered
16Recommend
9Ignored

188 Cloud Agent spawns · hourly cap 10 · triage-report

Seer

A verified hypothesis, not a vibe

root_cause_completed

Seed the Cursor agent with Seer's RCA. Do not make it guess from the title.

pr_created

Annotate the same Discord status message with the Seer-authored PR.

Contract

One issue. One agent. One message.

#sentry-reports is edited in place. 5W is Discord 1541107454119776266.

Loop-safe

The cap is 10 an hour

One active agent per repo. The rest queue and batch. getIssueState before you spawn. July 28 hit the cap two hours in a row.

Tonight: 1 spawn this hour, 9 remaining · lease can sit on kcd

Webhooks get lost

Backstops are part of the loop

Reconcile
Daily: re-deliver unresolved issues triage never recorded
Sweep
Every 15 min: Seer RCA / PR waits past the grace window

The production loop

Sentry in. Discord out.

Sentry issue Kody webhook Seer RCA Cursor agent ship-pr One Discord status

Walk 5W live: kody#1697

The human still sits here

Widen the loop. Do not leave it.

5W merged and resolved. 5K filtered. 16 of 203 came back as a recommendation. You still own product, maintainability, and whether the spend was worth it.

What's next for Kody

More loops. Safer loops. Shared loops.

  • More webhook-started loops — not only Sentry
  • Community fork of sentry-triage instead of rewriting it
  • Seer as the default first hypothesis
  • Loop safety as a primitive: leases, caps, one status

Take one home

Pick a trigger you already have

Define observe, stop, and where you still sit. Then make the loop start itself.

kody.codes · luma.com/agentic-loops-with-kent