0.3.6-alpha
Overcode v0.3.6 Release Notes
AI Summariser Safety & Cost Visibility
The AI summariser now tracks token usage and displays a running cost figure in the status bar next to the on/off indicator. Costs are calculated using a new standalone pricing module that covers both Claude and OpenAI model families.
To prevent runaway spend, three new safety mechanisms are in place:
Idle auto-shutoff — The summariser automatically pauses after 5 minutes with no TUI keypresses. It resumes instantly when you press any key. This addresses the scenario where the summariser keeps firing API calls while you're away from the
terminal.
Per-launch cost cap — A configurable cost cap (default $100) halts the summariser permanently when reached. The TUI must be restarted to reset the cap. This is a hard stop designed to prevent incidents like accidental overnight spend with an
expensive model configured.
Model pricing gate — The summariser will not activate for models that don't have known pricing data. This prevents running up untrackable costs with an unrecognised model.
The cost figure in the status bar changes colour as it approaches the cap: green under 50%, yellow at 50–80%, orange at 80–100%, and red when the cap is hit. When halted, the status bar shows AI: ○ HALTED $100 in red.
The cost cap defaults to $100 and can be adjusted in ~/.overcode/config.yaml:
summarizer:
cost_cap: 50 # USD per TUI launchAgent Identity in Historical Reporting
Agent status history now records a session UUID and machine hostname alongside each status row. This resolves long-standing ambiguity when analysing data across multiple machines or when agents are re-created with the same name.
The parquet export includes hostname in the sessions table and both session ID and hostname in the timeline table, making cross-machine analysis straightforward. Sister timeline entries are now prefixed with the source hostname (e.g.
desktop/worker-1) to prevent collisions when merging remote data.
These changes are backward-compatible — existing CSV history files with four columns continue to parse correctly, with the new fields defaulting to empty.
Pricing Module
Cost calculation has been extracted into a standalone pricing.py module, consolidating model pricing tables and the calculate_cost_estimate function that were previously spread across settings.py and monitor_daemon_core.py. The module includes
pricing for Claude (Opus, Sonnet, Haiku) and common OpenAI models (GPT-4o, GPT-4o-mini, GPT-4 Turbo, GPT-3.5). Custom model pricing can still be configured in config.yaml as before.
Full Changelog: 0.3.5-alpha...0.3.6-alpha