Adaptive failure-mode taxonomy runtime for Codex, Claude Code, and custom agent harnesses.
Project description
AdaMAST
Failure-mode taxonomies for agents, grounded in the traces they actually produce.
AdaMAST adds a diagnostic feedback layer to an agent. It checks work at meaningful boundaries, records evidence about recurring failures, and learns a project-specific taxonomy from completed traces. Your existing agent or harness keeps owning the task.
Paper: Adaptive Failure Taxonomies as Feedback for LLM-Agent Improvement Procedures
Documentation: Website · Interactive setup · Architecture
Install in one minute
Requirements: Python 3.10 or newer.
python -m pip install --upgrade "git+https://github.com/multi-agent-systems-failure-taxonomy/ATLAS.git"
Install AdaMAST once for the host you use:
Codex
adamast-codex-install --user-level
adamast-doctor --codex
Claude Code
adamast-claude-install --user-level
adamast-doctor --claude-code
Start a new conversation after installation. AdaMAST opens the local taxonomy library and lets you choose:
- MAST to begin with the built-in general taxonomy;
- a stored taxonomy to share the project's learned vocabulary;
- No taxonomy to disable AdaMAST for that conversation.
No adamast.json, external model API key, standalone host CLI, or second login
is required for this interactive path. Run both installers when you want Codex
and Claude Code to share taxonomy state for the same Git project.
What happens in a conversation
- AdaMAST resolves the Git project and task group, then pins one taxonomy.
- The agent continues normal work. Checkpoints inspect only recent activity.
- A completed assistant episode becomes one canonical trace.
- At five eligible traces, AdaMAST queues taxonomy generation by default.
- One native host subagent proposes a candidate while the main agent keeps working. After exact-span checks, a separate support-review subagent must approve every replacement code before foreground activation.
- The first refinement review occurs after ten additional traces; later reviews occur every twenty traces by default.
If a project already has a learned taxonomy, MAST remains available as a
numbered choice. Selecting it creates an isolated fresh-* task group for that
conversation and leaves the shared project taxonomy unchanged.
Learn how this is kept durable and race-safe in Native taxonomy learning.
Choose your integration
| Goal | Start here |
|---|---|
| Use AdaMAST in every Codex task | adamast-codex-install --user-level · Codex guide |
| Use AdaMAST in every Claude Code session | adamast-claude-install --user-level · Claude Code guide |
| Configure hooks for one repository | Project setup |
| Wrap one direct model call | adamast-single-run · Single LLM guide |
| Learn from an existing trace folder | adamast-import-traces · Taxonomies |
| Integrate a custom agent harness | from adamast_runtime import start_session · Runtime API |
| Inspect an example without configuring a provider | python -m examples.dashboard_demo · Example run |
Runtime loop
At a checkpoint, the agent follows a fixed sequence:
Observe: What concretely happened or was omitted?
Correlate: Which evidence-supported cause explains it?
Map: Which active failure code applies, if any?
Decide: Continue, or make one focused repair.
none apply is valid. AdaMAST does not manufacture a failure just to force a
change. Blocking hosts can hold completion for bounded repair rounds; Codex
uses a compact single-pass Stop checkpoint because some desktop builds do not
redeliver hook continuations.
Why adaptive taxonomies
Improvement procedures need feedback that preserves why a trajectory failed. Scalar rewards discard the reason. Free-form reflection is difficult to aggregate. A fixed taxonomy cannot know the target agent's roles, tools, or domain before observing it.
AdaMAST learns a compact set of evidence-grounded failure codes from the target system's own traces. Until a learned taxonomy is active, runs start from the built-in 14-code adaptation of MAST from "Why Do Multi-Agent LLM Systems Fail?" (Cemri et al., 2025).
Generated codes are organized along three stable axes:
| Axis | Scope | Example |
|---|---|---|
| System-level | Can arise in any agent system | Context exhaustion |
| Role-specific | Tied to a discovered component role | Checker rubber-stamps solver output |
| Domain-specific | Requires task knowledge | Algorithm mismatch |
The paper evaluates this vocabulary as feedback for best-of-N selection, evolutionary agent optimization, and runtime reflection. On TRAIL, induced codes align with expert annotations at Cohen's kappa 0.725.
Repository map
| Path | Responsibility |
|---|---|
adamast_runtime/ |
Harness-neutral sessions, gates, traces, learning, validation, activation, and evidence |
adamast_integration/interactive/ |
Shared selector, browser, routes, native jobs, and receipt protocol |
adamast_integration/codex/ |
Codex hooks and transcript adapter |
adamast_integration/claude_code/ |
Claude Code hooks, gates, and transcript adapter |
adamast_integration/single_llm/ |
Direct single-model adapter |
finding/ |
MAST, taxonomy registry, display metadata, and local views |
judge_types/ |
Taxonomy and reflection judges |
AdaMAST_as_a_Judge/ |
Judge-focused evaluation checks |
vendor/adamast/ |
Maintained in-tree fork of the research generation pipeline |
examples/ |
Runnable demonstrations |
runs/ |
Evaluation artifacts and reproduction notes |
The complete ownership rules are in Architecture. Each package has its own README with a file-level map.
Results
Reported summaries, exact taxonomies, and reproduction instructions live in
runs/. Per-question rows and raw scorer output are not included, so
the headline numbers below cannot be independently recomputed from this
repository alone.
| Experiment | Headline |
|---|---|
| OfficeQA Pro | 44.4% → 51.9% official scorer, same 133-question harness in both arms |
| Circle packing, n=26 | AdaMAST-guided search reaches 0.997 of the AlphaEvolve record in 20 evaluations |
The paper reports AdaMAST-Judge at 89.9% accuracy on Terminal-Bench 2.0 and an 87.9% to 91.9% held-out improvement for evolutionary optimization on a 655-problem set.
Documentation
| Need | Page |
|---|---|
| First interactive install | Interactive setup |
| See a complete run | Example run |
| Understand terms | Concepts |
| Understand code ownership | Architecture |
| Understand native workers | Native taxonomy learning |
| Configure one project | Getting started |
| Look up every field | Configuration reference |
| Debug setup | Troubleshooting |
| Browse all docs | Documentation index |
Main commands
| Command | Purpose |
|---|---|
adamast-doctor |
Validate paths, configuration, hooks, and host contracts. |
adamast-status |
Show the active taxonomy, traces, learning state, and recent decisions. |
adamast-find |
List or select stored taxonomies. |
adamast-dashboard |
Open the read-only localhost runtime dashboard. |
adamast-traces |
Inspect trace state. |
adamast-import-traces |
Generate a taxonomy from existing traces. |
adamast-codex-install / adamast-codex-uninstall |
Manage Codex hooks. |
adamast-claude-install / adamast-claude-uninstall |
Manage Claude Code hooks. |
adamast-single-run |
Wrap one direct model task with AdaMAST. |
Contributing
Development setup, verification commands, and package boundaries are in CONTRIBUTING.md. Release steps are in RELEASING.md.
The original research pipeline is available on the
paper-pipeline
branch. A maintained, locally patched fork is included under
vendor/adamast/; its provenance and change categories are
documented in VENDORED.md.
License
Apache-2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adamast-0.1.0.tar.gz.
File metadata
- Download URL: adamast-0.1.0.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
056fdda46cf205a81c6370f3d0d63b18b2f36a473824b06e0ca3e85cf4cf8f4a
|
|
| MD5 |
2d4a5c043ee4b9b155f1ae34ea0eed96
|
|
| BLAKE2b-256 |
1011ea364038d1aaccf5a74d31ef987dee2d62f72c85ddac8318190a7155ef72
|
Provenance
The following attestation bundles were made for adamast-0.1.0.tar.gz:
Publisher:
release.yml on multi-agent-systems-failure-taxonomy/ATLAS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adamast-0.1.0.tar.gz -
Subject digest:
056fdda46cf205a81c6370f3d0d63b18b2f36a473824b06e0ca3e85cf4cf8f4a - Sigstore transparency entry: 2187834753
- Sigstore integration time:
-
Permalink:
multi-agent-systems-failure-taxonomy/ATLAS@39080165db300b371df3f31d2247eedf1ab005cb -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/multi-agent-systems-failure-taxonomy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39080165db300b371df3f31d2247eedf1ab005cb -
Trigger Event:
push
-
Statement type:
File details
Details for the file adamast-0.1.0-py3-none-any.whl.
File metadata
- Download URL: adamast-0.1.0-py3-none-any.whl
- Upload date:
- Size: 375.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8223cf282b954b5c1d8adb85de029b1596c33d5bfc0ef0b9582979928be10dd3
|
|
| MD5 |
2b795fe4c2ac8d823702a86b16fe6969
|
|
| BLAKE2b-256 |
29848b42a195ad767480f28ad36c30c7b9e8eec5f73ef441e26167d3717603d4
|
Provenance
The following attestation bundles were made for adamast-0.1.0-py3-none-any.whl:
Publisher:
release.yml on multi-agent-systems-failure-taxonomy/ATLAS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adamast-0.1.0-py3-none-any.whl -
Subject digest:
8223cf282b954b5c1d8adb85de029b1596c33d5bfc0ef0b9582979928be10dd3 - Sigstore transparency entry: 2187834762
- Sigstore integration time:
-
Permalink:
multi-agent-systems-failure-taxonomy/ATLAS@39080165db300b371df3f31d2247eedf1ab005cb -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/multi-agent-systems-failure-taxonomy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39080165db300b371df3f31d2247eedf1ab005cb -
Trigger Event:
push
-
Statement type: