Executable contract-based reliability evaluation for long-horizon LLM agents
Python
1
2 commits
updated Aug 19, 2026
An executable protocol for measuring and controlling reliability failures in long-horizon LLM agents.
We do not ask only whether an agent eventually succeeded. We ask when the trajectory first became invalid, what evidence supported the next action, whether the system stopped at the right time, and whether an intervention improved the outcome without creating new harm.
中文简介:这是一个以可复现实验为中心的 Agent Reliability 研究项目。第一版只解决一个清晰问题:如何用任务合同和逐轮轨迹,客观区分“该停不停”(FM-1.5)与“没做完就停”(FM-3.1),并评估 runtime intervention 是否真的提高可靠性。
Most agent evaluations compress a stochastic, state-changing trajectory into a final score. That hides at least four distinct questions:
ARP makes these questions explicit and separates the measurement instrument from the intervention.
Run it without an API key:
python3 -m unittest discover -s tests -v
python3 tools/score_examples.py
# Emit the same fixture results as machine-readable JSON.
python3 tools/score_examples.py --json
ARP represents a run as an episode rather than a final answer:
task contract
→ events and state transitions
→ first valid terminal state
→ first contract violation
→ propagation / recovery
→ final outcome and cost
The contract is declared before evaluating an intervention. When an executable oracle exists, it is primary. Human review and LLM judging are calibration or residual-semantic instruments, not automatic ground truth.
ARP keeps the two MAST modes separate:
See protocols/termination/termination_protocol.md and the reference implementation in src/agent_reliability/termination.py.
The project will be judged by five artefacts, not by the size of a link list:
| Artefact | Research test |
|---|---|
| Task contract | Can another researcher state exactly what counts as complete? |
| Trace fixture | Can the evaluator be run offline on a fully specified episode? |
| Oracle | Is the primary label executable, state-based, or independently anchored? |
| Baseline | Can a competing monitor or judge be compared under the same trace? |
| Intervention protocol | Does the comparison report benefit, cost, false stops, and HARMED? |
ARP does not claim that the current evaluator covers all MAST modes. The first release is deliberately narrow. The planned extensions are:
ARP builds on, but is not a replacement for, strong neighbouring work:
ARP's research question is narrower and complementary: can task contracts and per-event oracles make reliability failures operationally measurable and intervention claims causally testable?
| Path | Purpose |
|---|---|
src/agent_reliability/ | Reference evaluator implementation |
tests/ | Offline correctness tests for the evaluator |
examples/ | Small, inspectable trajectory fixtures |
reports/termination-fixture-results.json | Generated v0.1 fixture results |
schemas/trajectory_schema.json | Normalized trajectory schema for future adapters |
protocols/termination/ | Formal protocol and metrics |
taxonomy/mast-crosswalk.md | Taxonomy-to-contract mapping |
registry/ | Evidence-graded landscape metadata |
reports/ | Research status and comparison notes |
This is an early research artefact. The code in v0.1 is real and testable; generalization claims are not yet established. Every empirical claim should be tied to a versioned fixture, oracle, run configuration, and result file.
See CITATION.cff. Versioned releases should be cited rather than the moving main branch.
See CONTRIBUTING.md. New benchmark entries and protocol changes should include provenance, an explicit oracle, a limitation, and an offline check where possible.
2 commits
Python
100.0%
Executable contract-based reliability evaluation for long-horizon LLM agents
Python
1
2 commits
updated Aug 19, 2026
An executable protocol for measuring and controlling reliability failures in long-horizon LLM agents.
We do not ask only whether an agent eventually succeeded. We ask when the trajectory first became invalid, what evidence supported the next action, whether the system stopped at the right time, and whether an intervention improved the outcome without creating new harm.
中文简介:这是一个以可复现实验为中心的 Agent Reliability 研究项目。第一版只解决一个清晰问题:如何用任务合同和逐轮轨迹,客观区分“该停不停”(FM-1.5)与“没做完就停”(FM-3.1),并评估 runtime intervention 是否真的提高可靠性。
Most agent evaluations compress a stochastic, state-changing trajectory into a final score. That hides at least four distinct questions:
ARP makes these questions explicit and separates the measurement instrument from the intervention.
Run it without an API key:
python3 -m unittest discover -s tests -v
python3 tools/score_examples.py
# Emit the same fixture results as machine-readable JSON.
python3 tools/score_examples.py --json
ARP represents a run as an episode rather than a final answer:
task contract
→ events and state transitions
→ first valid terminal state
→ first contract violation
→ propagation / recovery
→ final outcome and cost
The contract is declared before evaluating an intervention. When an executable oracle exists, it is primary. Human review and LLM judging are calibration or residual-semantic instruments, not automatic ground truth.
ARP keeps the two MAST modes separate:
See protocols/termination/termination_protocol.md and the reference implementation in src/agent_reliability/termination.py.
The project will be judged by five artefacts, not by the size of a link list:
| Artefact | Research test |
|---|---|
| Task contract | Can another researcher state exactly what counts as complete? |
| Trace fixture | Can the evaluator be run offline on a fully specified episode? |
| Oracle | Is the primary label executable, state-based, or independently anchored? |
| Baseline | Can a competing monitor or judge be compared under the same trace? |
| Intervention protocol | Does the comparison report benefit, cost, false stops, and HARMED? |
ARP does not claim that the current evaluator covers all MAST modes. The first release is deliberately narrow. The planned extensions are:
ARP builds on, but is not a replacement for, strong neighbouring work:
ARP's research question is narrower and complementary: can task contracts and per-event oracles make reliability failures operationally measurable and intervention claims causally testable?
| Path | Purpose |
|---|---|
src/agent_reliability/ | Reference evaluator implementation |
tests/ | Offline correctness tests for the evaluator |
examples/ | Small, inspectable trajectory fixtures |
reports/termination-fixture-results.json | Generated v0.1 fixture results |
schemas/trajectory_schema.json | Normalized trajectory schema for future adapters |
protocols/termination/ | Formal protocol and metrics |
taxonomy/mast-crosswalk.md | Taxonomy-to-contract mapping |
registry/ | Evidence-graded landscape metadata |
reports/ | Research status and comparison notes |
This is an early research artefact. The code in v0.1 is real and testable; generalization claims are not yet established. Every empirical claim should be tied to a versioned fixture, oracle, run configuration, and result file.
See CITATION.cff. Versioned releases should be cited rather than the moving main branch.
See CONTRIBUTING.md. New benchmark entries and protocol changes should include provenance, an explicit oracle, a limitation, and an offline check where possible.
2 commits
Python
100.0%