v3.1.0 — Pi workers + per-task effort levels
New worker integrations and a per-task reasoning-effort axis.
Added
piworker — the provider-agnosticpicoding CLI (Anthropic Claude spread: Haiku → Sonnet → Opus → Opus--thinking high). Headless viapi -p.pi-localworker — always-on local/private worker driving Ollama models through the samepibinary, for fully offline-capable runs. (Requires a configuredollamaprovider and a local model that emits structured tool-calls — see README.)- Optional registry
binaryfield so a logical worker can map to a different executable (pi-local→pi). - Per-task effort levels — the decomposition brain assigns
effort(off/low/medium/high/xhigh) per task, independent of model tier, defaulting tolow. Injected per-CLI forcodex/droid/pivia aneffortFlagsmap +{{EFFORT}}slot. - Effort-first escalation — on QA failure the attempt loop climbs effort (low → medium → high) before stepping up the model tier. Routine tasks climb effort within their tier; high-risk/complex tasks use the full effort-then-tier ladder.
Behavior change
Because effort defaults to low and is decoupled from tier, expert-tier tasks now run the expert model at low effort and escalate on QA failure — no longer pinned to high. Pin a task with effort: "high" for maximum reasoning up front.
Validation
146 tests pass; repository validation and host-skill provenance lock green. Verified with live end-to-end runs: pi worker end-to-end, effort injection (codex/pi), and effort-first escalation on both the routine and intelligent paths.