v3.2.0 — User-defined harness aliases
User-defined harness aliases
Register your own CLI entries in config under a new top-level aliases key — generalizing the previously hardcoded pi-local. Configure the same CLI binary with different models, run multiple local LLMs each tuned for a job, and keep local-model harnesses lean.
{
"enabled": ["codex", "pi-qwen-coder"],
"aliases": {
"pi-qwen-coder": {
"extends": "pi",
"specialty": "local coding, small refactors, unit tests",
"maxTier": "moderate",
"models": {
"simple": { "model": "qwen3-coder:7b", "invocation": "pi -p --provider ollama --model qwen3-coder:7b --config ~/.pi/lean.json \"$(cat .ultraswarm-prompt.txt)\"" }
}
}
}
}extendsinherits the base CLI's binary, timeout, effort flags, and capabilities; override only what differs.- Lean harness lives in the invocation string (
--config, fewer flags) — local models often do better with less wrapping. maxTiercaps the tier an alias accepts; higher-tier tasks are clamped down so a small local model is never handed expert work.- Strictly opt-in — with no
aliases, behavior is byte-identical to before.
Built on a new buildRegistry(config) seam (frozen built-ins + resolved aliases); resolveRoute, the worker manager, runner routing, and the decomposition roster all consult it. Full validation of alias entries. 173 tests, all 15 release checks green.
Full diff: v3.1.0...v3.2.0