Edward
Supervisor for unattended coding agents: one batched Jev Choice over the trajectory decides continue, pause or escalate.
Overview
Edward watches the event stream of coding agents running unattended, in CI, overnight or in scheduled batches, builds a picture of what the agent is doing across turns, and intervenes when that picture looks wrong: pause (resumable), cancel or block, with a signed receipt for every decision. It targets quiet failures such as retrying the same broken test dozens of times, burning budget in a loop, or running rm -rf in the wrong place.
According to the list summaries, one batched Jev Choice over the cross-turn trajectory decides continue, pause or escalate, with low-confidence verdicts routed to a human, while deterministic code owns dangerous-command blocking, budget caps, intervention execution and an Ed25519-signed receipt chain. The README argues that trajectory-level failures do not appear in single events and reports held-out comparisons against a simple watchdog, for example detecting budget bleed in 100% versus 20% of cases. It is published on PyPI as edward-guard with zero dependencies.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Given the agent's trajectory so far, should it continue, pause or escalate? | continue · pause · escalate |
How it works
- Ingest the agent's event stream
- Build a cross-turn state summary
- One Jev Choice decides continue, pause or escalate; low confidence goes to a human
- Deterministic code blocks dangerous commands, enforces budgets and signs receipts
Strengths
- Catches trajectory-level failures watchdogs miss
- Signed, auditable decisions
- Zero-dependency Python package
Caveats
- Benchmark scenarios are synthetic
- Trajectory summaries are sent to TypeSafe
Getting started
pip install edward-guard and place Edward between the agent and its runtime as described in the README.At a glance
- Type
- Project
- Status
- beta
- Language
- Python
- Runtime
- library / supervisor process
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Agent operations: one batched Jev `Choice` over the cross-turn coding-agent trajectory decides continue, pause, or escalate, with low-confidence verdicts routed to a human while deterministic code keeps dangerous-command blocking, budget caps, and an Ed25519-signed receipt chain.
yibie/awesome-jevExternal control plane for coding agents: one batched Jev call judges the whole cross-turn trajectory (continue, pause, or escalate, confidence-gated), while deterministic code owns dangerous-command blocking, budget caps, intervention execution, and an Ed25519-signed receipt chain.
cobanov/awesome-jev
Frequently asked questions
What does Jev decide?
Whether the agent should continue, pause or escalate, based on the whole trajectory.
Who blocks dangerous commands?
Deterministic code, not the model.
How are decisions audited?
Each one gets an Ed25519-signed receipt in a chain.
Related projects
Plugin suite adding Jev judgments to DeepSeek Harness: tool pruning, dead-loop blocking, a safety guard and skill routing.
PluginbetaTypeScriptLocal guard layer for coding agents that blocks dangerous tool calls by deterministic rules, with optional Jev judgments.
CLIbetaTypeScriptStop hook for coding agents where Jev checks each attempted stop against plain-language rules and sends the agent back if one is violated.
HookbetaPythonHackathon agent monitor that scores chains of sandboxed agent actions with Jev and escalates through a fixed L1-L5 containment ladder.
AppprototypePythonPython guardrail with a Streamlit dashboard that sends agent tool calls to Jev and allows, blocks or asks for clarification.
AppprototypePythonDeepSeek Harness plugin with jev_decision tools, an opt-in risk and loop auto-guard, and a live self-test benchmark against the Jev API.
BenchmarkbetaTypeScript