A portable convergence gate for agent work. bean rides inside an agent loop and decides one thing well: is this task actually done? It tracks the agent's findings as a typed claim ledger, compiles that ledger to score convergence (unresolved conflicts, coverage gaps, weak evidence, undischarged risks), and — installed as a runtime — blocks the agent from finishing through a native Stop hook until the work is verified, fixed, or honestly marked as a residual.
The unit of truth is the claim ledger, not a test suite or a rubric. The gate's job is to keep a loop from declaring success while its evidence is contradictory, thin, or unverified.
bean is one layer in an agent stack and deliberately stays small:
| Layer | Owner |
|---|---|
| Agents, tools, sandboxes, channels, durable execution | agent frameworks (Eve, Flue, LangGraph) |
| Task-level convergence contract — "is it done?" | bean |
| The model's reasoning and judgment | the model |
bean complements agent frameworks; it does not compete with them. You run bean inside a framework's loop as the verification/convergence step.
- Not an agent framework. It has no opinion on how you build, deploy, or connect agents.
- Not an eval platform. It scores the epistemic state of one run, not a behavioral test suite.
- Not a broad accuracy booster. It doesn't make a model smarter. It reduces silent false completion — the failure where an agent is confidently wrong and stops anyway.
Most "loop until done" mechanisms stop when the model says it's done or when an LLM judges the output. bean stops when scored evidence has converged — an independent, deterministic arbiter the agent can't talk past. Deterministic checks aren't unique on their own; the combination is: a typed claim ledger + belief revision + a hard-exit-by-default gate + an external oracle path, all host-agnostic with no required network or platform.
- Plugin-only (advisory). The
/beanskill provides the loop as guidance. No enforcement. - Installed runtime (enforced). The static binaries + native Stop hook make
bean-checka hard gate. This is the only mode with a real stop condition.
State this explicitly at the top of a run, so the guarantee is never overstated.
- Claude Code / Codex — native Stop hook (shipping).
- LangGraph / Eve / Flue —
bean-check/bean-verifyas a verification node or middleware that blocks the final response until the ledger converges (planned). - CI — gate convergence artifacts before merge (planned).
bean is honest about what it can and can't show:
- It maintains a typed, auditable claim ledger with belief revision across a run.
- Its compiler is a deterministic, reproducible convergence gate that exits nonzero until met.
- On false-convergence-prone tasks, an external oracle gate can convert confidently-wrong completions into verified, fixed, or honestly-blocked outcomes — conditional evidence on small samples, not a general accuracy claim.
What we do not claim: that bean improves model accuracy in general, or that it replaces an agent framework.