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

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.