Task Manifest (v0.1)

Every task directory can include a task.toml manifest describing deterministic contracts, budgets, and entrypoints.

Example

task.toml
id = "filesystem_hidden_config"
suite = "filesystem"
version = 1
description = "Extract the value of API_KEY from the filesystem."
deterministic = true
seed_behavior = "fixed"

[budgets]
steps = 200
tool_calls = 40

[action_surface]
source = "actions.py"
schema = "introspected"

[validator]
entrypoint = "validate.py:validate"

[setup]
entrypoint = "setup.py:setup"

Required Fields

  • id (string): Unique task identifier
  • suite (string): Task suite label
  • version (int): Frozen task version
  • description (string): Human-readable summary
  • deterministic (bool): Whether deterministic under fixed seeds
  • seed_behavior (string): fixed, stochastic, or ignored
  • budgets.steps (int): Maximum steps per run
  • budgets.tool_calls (int): Maximum tool calls per run
  • action_surface.source (string): Actions module path
  • validator.entrypoint (string): Validator entrypoint

Optional Fields

  • setup.entrypoint (string): Setup entrypoint
  • action_surface.schema (string): Default introspected

Compatibility

  • If both task.toml and task.yaml exist, TOML wins.
  • Registry entries must match manifest id, suite, version.
  • Schema-breaking changes require new task version and SPEC_FREEZE.md update.