b194a9621d
executus CI / test (pull_request) Successful in 1m41s
db.Audit() satisfies audit.Storage (all 17 methods) over SQLite: one indexed row per run (+ a JSON inputs blob), one row per log event. Filter/list/walk queries are indexed on the columns they filter (skill_id, caller_id, parent_run_id, started_at); WalkParentChain follows parent_run_id with a seen-set guard; LastRunBySkills is a grouped MAX. Test covers run start/finish round-trip (inputs map + token roll-up), log append + ordered read, parent/child + ancestor-chain walks, caller listing, TopLevelOnly filter, and the last-run-per-skill map. contrib/store now backs ALL four store seams — budget + persona + skill + audit — so a host gets turnkey durable persistence (run history, budgets, agents, skills) with zero store code. Core go.sum still has 0 sqlite refs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>