Repository navigation
Single release covering both the token-savings work and the 0.2.0 handoff work (v0.2.0 was never tagged, so it ships here — see the changelog).
Install the tested version:
git clone --branch v0.3.0 https://github.com/mrchatam/Grok-workhorse.git grok-workhorseToken savings (0.3.0)
wait_task: long-poll one task or a batch until finished/parked (~45 s cap to stay under MCP timeouts) — no moretask_statuspollingview: "brief"fortask_result/wait_task: ~0.5–1 KB decision-ready result (verdict, summary, files, tests, next action + resume call)- Compact JSON from the MCP shim (9–18% fewer characters)
delegate_tasks: up to 10 tasks per call- Presets and size routing, automatic fix rounds / escalation / cheap auto-reviews with hard token & cost caps
usage_report/workhorse stats: worker tokens, cost, and a conservative estimate of supervisor tokens avoided- Opt-in worker savers:
terse/minimal_codeprompt fragments andrtkcommand rewriting (--token-savers) - Operator gate for approvals (
approvals.require_operator), confirmed by a human through theworkhorse approveCLI with a request id and operator token
Measured: supervisor tokens read per successful task dropped from ~3,060 to ~360 (about −88%) in the stub-backend benchmark. Details and method: docs/token-savings.md, Measured savings.
Task handoff (0.2.0, included)
- Structured handoff record on every finished task: state, failed checks, owner, the one exact
next_action, and a suggested resume call - Parked
needs_approval/needs_inputstates withupdate_handoff/approve_task - New filters and CLI:
workhorse attention,handoff,approve,reject,tasks --status/--owner - Fixes: graceful-shutdown finalization, restart socket race, cleanup races, audit log field collisions
Compatibility
No breaking changes to statuses, verdicts, or tool arguments; everything is additive.
Verification
Unit tests, the stub end-to-end suite, and the pinned-CLI lockfile checks all run in CI on this commit. Local run of npm run test:unit: 50/53 pass; the 3 failures are environment artifacts from this checkout's path containing a space (new URL(...).pathname becomes %20), not present in CI.