Honest model display + receipts on the dashboard
The CTO chat header used to say Opus while the engineer ran on Sonnet. 0.0.82 makes the model selector honest, turns on cost tracking for every chat turn, and adds a few quality-of-life wins for working across multiple workspaces.
- Model selector in CTO and engineer chats now shows the model that's actually running, not your last-picked default.
- Cost dashboard records every chat turn, not just background agent runs — the 'Saved vs Opus' card finally moves with your real usage.
- Sidebar 'Saved this month' widget is always visible — green when you have savings, muted otherwise.
- Create multiple workspaces on the same folder. Useful for parallel spikes against one repo.
- Delete a workspace from the sidebar trash icon. Cleans up only AskCodi-created worktrees; your source folder is never touched.
- Nested sub-chats in CTO sessions and issue chats — jump to any sub-thread from the sidebar.
- Cleaner boot for users without Codex installed — no more 'Codex warmup failed' on launch.
- Engineer-on-issue is now a single continuous conversation. No more orphan sub-chats fragmenting context.
- Workspace slug derives from the workspace name, so two workspaces on the same folder get distinct worktree directories.
- Auth modal now has a backup toast with a 'Sign in' button when your Claude token expires — no more silent failures.
- Console output stripped of ~820 noisy log lines. Real errors now stand out.
- Months-old milliseconds-vs-seconds bug in the cost queries — the 'Saved vs Opus' card was permanently stuck at $0 for everyone. Fixed.
- CTO '+ new session' button now works on non-git projects (used to fail silently when worktree creation hit a snag).
- Chat no longer fails with a misleading 'Claude binary not found' when the worktree was cleaned up — falls back to the project path automatically.
- Engineer model assigned by the CTO at hire time now persists across ChatView remounts.