CRUMB a card from devarno-cloud

Convergence, Not Exit Code Zero

kahn beginner 3 min read

What this means for you

A passing exit code does not mean an agent is done. An agent can claim success, leave the work half finished, and still return zero. KAHN takes a different position on the record: the success signal is convergence. The run is done when the work converges, not when the shell stops complaining.

The pitch

Every agent run is classified into one of a small set of outcomes the operator can reason about: converged, partial, escaped, aborted, unknown. The dashboard sorts by what matters first: a single fresh regression always outranks a noisy agent with hundreds of stale failures.

Who it’s for

The engineer who has been burned by a green CI run hiding a half-finished agent task, and the operator who wants the dashboard to tell them what to look at next without writing a query.

Proof points

  • Outcome vocabulary is fixed and named: converged, partial, escaped, aborted, unknown
  • Severity weighting is published in the product spec: regression weighs 1000, failed counts weigh 10 each capped at 200, partial counts weigh 1 each capped at 200, in-flight runs add 5
  • The non-regression ceiling is 405 by construction, well below the regression weight of 1000, so a fresh regression on a quiet agent always wins over a backfill of 1500 partials on a noisy one
  • Tested: the severity constants are exported as named values and covered by a sibling unit test, so the invariant cannot drift silently
journey
title An agent run, the way KAHN classifies it
section Start
Operator schedules run: 5: Operator
Agent begins thinking: 4: Agent
section Work
Agent calls tools: 4: Agent
Agent reaches a checkpoint: 3: Agent
section Outcome
Converged (work done): 5: Operator
Partial (some work, retry): 3: Operator
Escaped or aborted: 1: Operator

neighbors on the map