Tasks reference

A task is a seed/ project and a TASK.txt written the way a user would write it.

Seeds ship with a passing test suite so a regression is unambiguous. The debugging tasks are the useful ones — feature work rewards a competent model; debugging rewards one that plans, reads before concluding, and knows what it has not checked.

taskshapewhat it tests
ledgersmall CLI, suite passesa feature across four files, with a backward-compatibility trap in the on-disk format
reportfour modules, four failing testsa bug whose symptom and cause are in different files, with a plausible wrong fix at the symptom
pipeline16 modules, 41KB, three failing testsa bug visible only by comparing two files neither of which is wrong alone; large enough to put the pruner under load
⚠️
pipeline is the only task big enough to exercise the pruner. Keep it that way — a curator that never runs is a curator nobody is testing.

What the playground found

Each of these was invisible in the event stream and obvious in the wire log:

Duplicated tool catalog (~2,100 tokens/call)

axon restated the whole tool catalog in the system prompt while the same tools were already sent natively. ~2,100 duplicated tokens on every call.

write steered to whole-file rewrites

Rewriting the tool's prose changed nothing; reordering the mode enum in its JSON Schema changed everything. Where prose and schema disagree, the schema wins.

replace_string's not-found error recommended replace_lines

A run took the advice, used line numbers from the same stale read, destroyed a docstring and spent two calls repairing it.

The pruner fired on an empty log

The pruner fired on a context of 10,229 tokens and sent the curator an empty log — no task, no blocks, 223 bytes. ShouldFire counts tokens while the recency window counts blocks, so a few large files early in a task clear the floor while every block is still inside the window. The curator answered {"park":[]}, correctly, having been shown nothing; the context was unchanged, so it re-fired every growth_tokens after that.

💡
The pattern worth keeping: when the agent misbehaves, read toolsfirst to see what it did, then prompt to see what it was told. The cause is almost always something it was told, and usually somewhere more structural than the role prompt.