Documentation

Python tools

Expose ordinary top-level Python functions to your application.

Write tool functions

Put tool functions at the top level of the file named by tools.source. Register each function by its exact name in recurse.yaml. Type hints and docstrings make the interface clear to the agent.

Keep registered functions explicit: do not create them conditionally, decorate them into a different interface, or bind them dynamically.

Python
def validate_model(candidate: Candidate) -> Score:
    """Measure a candidate on held-out examples."""
    return evaluate(candidate)

Register tools

A null registration uses the defaults for that tool. Add supported per-tool options only when the function needs different behavior.

YAML
tools:
  source: toolkit.py
  register:
    train_model:
      volatile: true
    validate_model: ~