Add one config block with your tenant and optional model fallbacks
(e.g. claude-opus → claude-sonnet when budget is low). The plugin
handles the rest: balance checks before model selection, reservations
before tool calls, commits after, and cleanup at session end.
Built on the Cycles protocol — reserve budget before execution, commit
actual spend after, release the remainder.
I'm the author. A few design decisions worth explaining:
The model downgrade is the most useful feature for daily use — when
budget drops below a threshold, the plugin silently swaps claude-opus
to claude-sonnet, gpt-4o to gpt-4o-mini. The agent keeps running, just
cheaper. Only at full exhaustion does it stop.
The prompt hint (before_prompt_build hook) tells the model its remaining
budget in the system prompt. Models self-regulate when they know the
constraint exists — fewer unnecessary tool calls, shorter responses.
The underlying Cycles protocol handles idempotency under retries so
concurrent tool calls don't double-spend against the same budget.
Happy to answer questions about the plugin or the protocol.
The model downgrade is the most useful feature for daily use — when budget drops below a threshold, the plugin silently swaps claude-opus to claude-sonnet, gpt-4o to gpt-4o-mini. The agent keeps running, just cheaper. Only at full exhaustion does it stop.
The prompt hint (before_prompt_build hook) tells the model its remaining budget in the system prompt. Models self-regulate when they know the constraint exists — fewer unnecessary tool calls, shorter responses.
The underlying Cycles protocol handles idempotency under retries so concurrent tool calls don't double-spend against the same budget.
Happy to answer questions about the plugin or the protocol.