Limitcast 0.19.1: model checks and two more agents
Yesterday’s repository optimizer added failure-loop detection, check-command learning, reversible capability controls and a bounded source map. The next step was to put a model behind the learning and judging, add the missing agent adapters, and test what actually reaches a live session.
0.19.1 is available on npm and GitHub. Homebrew is also updated. The optimizer is opt-in; model calls use your Codex plan and do not guarantee net savings.
A model can judge a loop without delaying every tool
The cheap detector still looks for sustained repeated failures and edits. With model checks enabled, a suspicious turn is queued for a separate judge. A redirect needs a confident stuck verdict. The hook delivers it with a later tool result and continues the task.
The worker has a daily attempt limit and timeout. Results from an older prompt, an ended session or a recovered turn are discarded. Raw prompts, transcripts and tool output are excluded. The model sees counts, safe check commands and hashed identities.
Patch 0.19.1 also fixes escaped Codex patch payloads, so changing the patch body does not hide repeated edits to the same file from the loop detector.
Learning still needs evidence
The learning model selects verification commands that actually passed. Three independent sessions must confirm a command before it appears as guidance in a later session. A contradictory failure retires it. Invented commands and arbitrary model-written instructions cannot become facts.
This is deliberately narrower than TokenEconomizer’s general repository prose. The optional worker currently uses an authenticated Codex CLI for every host. Limitcast’s forecasting, pacing, budgets and receipts remain alongside these controls.
Copilot and Pi join the optimizer
Copilot CLI gets personal hooks; Pi gets a packaged extension. Both collect evidence and deliver context through their native interfaces. Installation preserves existing settings and provides an explicit undo. Their allowance forecasting and built-in capability pruning are separate, unsupported features.
Native checks completed on both new hosts. Pi read a repository file and recorded tool and session events through the extension using the existing Codex account. Copilot did the same using the existing GitHub CLI account credential. No canary edited repository files.
What passed, and what the comparison found
- 255 tests and six deterministic replay evaluations passed. GitHub CI passed on Linux and macOS with Node 20, 22 and 24.
- Three real native learning calls promoted a check command and injected it into a fresh session. A fourth model call judged a loop and its redirect arrived on the next tool result.
- The current Codex chat is recording optimizer events. Fresh Claude and Grok sessions reached the new hooks and completed their canaries. Existing Codex hooks kept their positions and trust; the five new optimizer hooks were verified in both a fresh process and the active chat.
- On six synthetic process summaries with the same model, both judges scored 5/6. Both misclassified changing failures. Limitcast’s heuristic keeps that case away from its judge, but the component results show no overall cost or latency advantage.
One malformed verdict check did expose a concrete safeguard
difference: Limitcast rejects a string value of
false
for a boolean decision. The pinned upstream parser treated that string
as true. This is a bounded robustness result, not proof that one
product is universally better.
Model evaluation has overhead: the six valid Limitcast judge calls reported about 120,000 input tokens, including about 32,000 cached input tokens. Long-running coding tasks and subscription savings still need broader measurement.