Skip to main content

bandr

Agent logs in. Harbor tasks out.

Rebuild the jobs in your traces as runnable tasks for evaluation and training.

CI Python 3.11+

Get started  ·  How it works  ·  Try the example  ·  Guides

bandr converts traces into a Harbor task. A model attempts the task in its environment, the task verifier grades the output, and the new trajectory and result can feed the next conversion.

Open GIF  ·  Run the example  ·  Still image

bandr helps your coding agent turn the jobs captured in your logs into runnable Harbor task packages: the original instruction, starting environment, outcome verifier, and an oracle when one is available.

Bring logs and any existing harness or starting-state files. The coding agent writes source-specific parsers and generators; Mint runs them over the corpus, writes the packages, checks them, and records their provenance and gaps. Successful, failed, and partial runs can all contribute. Repeat attempts at the same instance become one task with their evidence kept together.

Traces → Harbor task → model attempt → verifier grade → new traces. Harbor can run an agent on the packaged task and grade its output using the task's verifier. The resulting trajectory and result can become input for another conversion. Use the tasks for evaluation or as environments in a training workflow.

Quickstart

Install bandr, then give your coding agent the bundled skill.

The package is bandr; its command is mint.

pip install bandr
mint skill install

Python 3.11+.

Start a new Claude Code session and ask:

Use Mint to turn ./logs into Harbor tasks in ./mint-workspace.
Inspect the source first, build a few tasks, then validate and report.

The skill goes into ~/.claude/skills/mint/. Use mint skill install --project for the current project's .claude/skills/mint/. Other coding agents can read SKILL.md directly.

Other install options and updating the skill

For an isolated CLI installation, use uv tool install bandr or pipx install bandr. For local development, run uv sync --extra dev and use uv run mint ... to run this checkout.

After upgrading, re-run mint skill install. If the installed skill differs, review it and use --force to replace SKILL.md; other files are preserved.

When to use Mint

You have You want Mint helps you build
Failed or successful agent traces Repeatable tests of the same work Whole-job tasks with starting files and outcome checks
Several attempts at one job One task with all attempts as evidence Grouped instances with source references
Traces plus an existing harness Tasks for evaluation or training rollouts Harbor packages that reuse the supplied environment

Bring the starting-state files or harness when you have them. Missing evidence becomes a recorded gap or a candidate to finish, rather than an invented environment.

How it works

The coding agent writes source-specific code. Mint runs it over the corpus and records the evidence.

Step What happens
Read Sample the logs, write a parser, and identify the whole jobs the agent was given.
Rebuild Group repeated attempts and construct each job's instruction, starting environment, verifier, and oracle when available.
Challenge Check structure, answer leaks, and credentials. Exercise the verifier with the oracle, no-op, wrong outcomes, and valid alternatives.
Report Inspect task provenance, gate results, exclusion reasons, and gaps. Resume from mint status.

The output is a task package you can inspect:

out/tasks/<type>/<task>/
├── instruction.md          # the original job
├── environment/            # the world before the agent acted
├── tests/test.sh           # check the requested outcome
├── solution/solve.sh       # optional oracle
└── task.toml               # runtime configuration and provenance

The verifier checks the outcome; it does not require a new agent to replay the logged steps. Mint can also build dialogue tasks with a runtime user simulator, or use a model judge when deterministic grading is unsuitable.

Try it on three traces

The bundled example contains three synthetic attempts at two jobs. Two recorded answers are wrong. Its generator recomputes the expected answers from the starting files and builds two tasks.

Run it yourself: logs → parser → task generator → validation → report. No model calls or production logs are needed.

Captured output from the bundled example: local runner; level 1 checks two tasks with zero failures; level 2 passes both sampled tasks with no infrastructure errors. Tasks remain generated.

Local checks leave tasks generated. Install Harbor and start Docker, then run mint validate --runner harbor for container execution. Only passing Harbor execution gates can produce validated. The example's answer oracle proves verifier wiring; inspect that the expected answer follows from the inputs.

Validation statuses, sensitive data, and what passing gates prove
Status Meaning
generated Structure and content gates passed; execution may be local-only, untested, or missing an oracle.
validated Required Harbor execution gates passed, including an accepted oracle and rejected no-op/wrong outcomes.
judged A model grades the task. Inspect calibration and execution evidence; it is never called validated.
blocked A content scan found an answer leak or credential. Credential-blocked packages are removed from out/tasks; fix and regenerate.
exec_failed Structure, execution gates, or a type audit failed. Inspect the reason.

Passing gates are evidence about the verifier, not proof that the expected answer is correct or the reconstructed task is faithful. Review the source references, grading trust, oracle provenance, and gaps in report.md.

The secret scan is best-effort text scanning. Binary and explicitly allowed files are outside it; raw logs, parsed trajectories, and internal metadata can remain sensitive. See the validation guide.

Documentation

Start here For
Mint skill The full agent-assisted workflow
Parsing · Checks Reading your source format and optional findings
Task types Building whole jobs, environments, and verifiers
Validation · Harbor Execution gates and runtime integration

Run mint --help, mint schema, and mint docs for the installed version's commands and contracts. Open an issue for a bug or a conversion case you cannot represent.

Development, releases, and older recipes
uv sync --extra dev
uv run ruff check bandits mint tests
uv run ruff format --check bandits mint tests
uv run pytest tests

The distribution is bandr; Python imports remain mint and bandits. bandits provides the ingestion library. See releasing and the changelog. Older SFT and JEV recipes are retained for reference.

Visual source and build instructions.

Anonymous command usage is enabled by default. No log contents or paths are sent. Disable it with mint telemetry off or MINT_TELEMETRY_DISABLED=1. Captured fields and limits.

Metadata

Release files for bandr 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bandr 0.3.1
File Size Uploaded Provenance Actions
bandr-0.3.1.tar.gz 671.2 kB With provenance Details for bandr-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bandr 0.3.1
File Interpreter ABI Platform Actions
bandr-0.3.1-py3-none-any.whl Python 3 none any Details for bandr-0.3.1-py3-none-any.whl

Total release size: 913.3 kB

Release files / bandr-0.3.1.tar.gz

Download URL bandr-0.3.1.tar.gz
Size 671.2 kB
Tags Source
SHA-256 checksum
How to use checksums
625932dcad945494bf4d80922209143e312c6b03ca6fc5583a2041315298fcf4
BLAKE2b-256 checksum
How to use checksums
e500493e62165af07b0dcfc1348e31e7dc06c8e679d45e32b8d50f12ed79edec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2026.

Transparency log

Release files / bandr-0.3.1-py3-none-any.whl

Download URL bandr-0.3.1-py3-none-any.whl
Size 242.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bff523aa126f288c228d829080614f2d652f09ea72f1057616b2d5df6d40a7db
BLAKE2b-256 checksum
How to use checksums
9bf057ffb3bd37fde508eb56fd46f83e4947651e72bb59ad1203b64d7ddc0c1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2026.

Transparency log

Security for bandr 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for bandr-0.3.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page