Skip to the content.

Operating Principles

Prefer callbacks over static values

Throughout the builder API, configuration that could be a plain string is instead a callback returning a string. For example, onWorktreeCreate, harness cli, and measurer evaluate are all functions rather than raw values.

The reason: callbacks receive a context object. As the framework evolves, more values can be added to that context object and made available to callers without breaking existing configurations. A plain string can never be given new information; a callback always can.

This applies consistently across the API — when in doubt, make it a callback.