Skip to content

Conversation becomes the default harness and Generic is deprecated

Built-in harnesses now grow in steps: Base, Conversation, Worker Base and Worker. Conversation is the platform default. Web access, secrets, scheduling, citations and memory mounts stay opt-in.

Generic is deprecated but unchanged. Selectors hide it behind Show deprecated. On upgrade, agents that inherited Generic as the default are pinned to it, so their behavior does not change. A custom harness whose name collides with a new built-in keeps its ID and definition, but its slug moves to <name>-custom; update callers that look it up by name.

In code: Harness::base(), conversation(), worker_base() and worker() build the same presets.

See Harnesses and the upgrade notes. PR #4133.