Repository navigation
agentacct 0.11.1
Makes the dashboard fast again, reclaims the evidence-v2 shadow store, and adds one-click recorder recovery + self-update — with the terminal UI's Sessions list rebuilt as a sortable table.
Download the macOS app: agentacct-0.11.1.dmg (signed + notarized). Or pip install agentacct==0.11.1.
Highlights
- Fast dashboard. The API-serving work-ledger and sessions caches drop their 30-second wall-clock TTL for a composite change key (events fingerprint + an append-only signature of the secondary stores), so idle polls no longer rebuild the multi-second reduce, while any real store change still invalidates it — no stale reduced state is ever served. Caches warm on startup.
- Reclaim the evidence store. The recorder no longer shadows its highest-cardinality events (
tool_activity_observed,rate_limit_observed) into evidence-v2 — about 99% of it, feeding no correctness lane — andagentacct evidence prunereclaims what has already accumulated (transactional, batched, optionalVACUUM). The append-only spool is never touched, so the evidence log stays complete and recoverable. - One-click recorder recovery & self-update. When the recorder is unreachable, the app's always-visible health surfaces and the menu-bar dropdown now offer a Start recorder button. The Diagnostics pane shows the recorder version and, when a newer release is published, an Update button (
agentacct self-update) — refused for a development/editable checkout. - Terminal UI.
agentacct tui's Sessions master list is now a sortable DataTable (Task / Outcome / Evidence / Cost / Age,sto cycle sort,ctrl+d/ctrl+uto scroll the detail), every pane docks a key-guidance footer, and the session-detail activity timeline is built from the raw task checks so every check carries its real time. (#289) - Fixes & niceties.
agentacct helpand a friendly overview for a bareagentacctinvocation; bareagentacctnow exits 0 with the command overview instead of a terse error; the Work tab no longer surfaces a benign cancelled fetch as a failure. Read-path JSON usesorjson(byte-identical to the stdlib parse), and the managed usage watcher scans every 300 s (was 60 s), skipping unchanged files.
Full details in the CHANGELOG.