Extend and contribute#
Start with the extension boundary you need. A task integration normally requires no Trainer change.
Change |
Entry point |
Verify |
|---|---|---|
New task, acting agent, or judge |
No-adapter probe, adapter consumption, split isolation, logs, scoring |
|
New instruction/skill/tool structure |
Learnable/fixed rules, checker, exported schemas |
|
New learning method |
Failure handling, state persistence, usage, final selection |
|
Reproduction of a published method |
The adapter and the Evolver named, the differences from the authors’ code, the protocol, the first evaluation on the shared settings |
|
New host exporter |
|
Supported exports, refusal/omission behavior, repeat generation |
Trainer behavior |
Trainer contract, |
Rollback, resume boundaries, records, budget observations |
Repository map#
Location |
Responsibility |
|---|---|
|
Command parsing and config resolution |
|
Built-in acting agents and the Agent/function interface |
|
Task records, callable loading, pipeline/judge types |
|
Manifest loading and acting consumption |
|
Built-in adapter seeds and specifications |
|
Built-in learning methods and defaults |
|
Shared learner contracts and program/agent execution |
|
Training loop, rollouts, material, budgets, recovery |
|
Tool serving, sandboxing, and runtime support |
|
Task integrations and benchmark-owned acting/scoring logic |
|
Framework regression tests |
|
Small offline examples included in documentation |
Local development#
python -m pip install -e '.[test]'
python -m pytest tests/test_training.py tests/test_spec.py tests/test_deploy.py
Choose tests for the changed contract. Optimizer tests can need the requirements-<method>.txt packages; sandbox and MWM integration
tests can require Linux, learner CLIs, external packages, or environment fixtures. Inspect their prerequisites
rather than interpreting every skipped test as coverage.
For a host exporter change, run tests/test_convert.py and/or tests/test_deploy.py. For a new Evolver, use an
offline task or fake client to test real failure and state behavior without paid model calls.
Documentation changes#
python -m pip install -r docs/requirements.txt
bash docs/build.sh
bash docs/serve.sh 8000
The build treats warnings as errors. Link new pages from docs/index.md, use repository-relative
literalinclude for code and defaults, and execute walkthrough commands in a fresh run directory.
Every recipe should state its prerequisites, data preparation, model setup, launch command, output locations, evaluation protocol, reproduction limits, and available result cards. Keep observed results distinct from smoke tests and deterministic demonstrations.
For changes to interactive figures, inspect desktop and narrow layouts plus keyboard operation. The existing component contracts are described in Adapter, Evolver, and Trainer.
Proposing a change#
Describe the user-visible behavior, the affected contract, how you verified it, and any environment requirements. Include a small reproducer for failures. Update commands, defaults, and docs together; do not describe a proposed feature as available. The generic service lifecycle proposal is kept separately from supported usage.