Feature: persist task status change history (local DB / MCP)
Author: daveliddlefreddiesCreated Apr 15, 2026Updated Jul 17, 2026
Problem
Today the local SQLite schema stores each tasks row with a single status field plus created_at / updated_at. When a task moves between kanban columns (e.g. todo → inprogress → done), the previous status is overwritten. There is no table or event log that records who changed what, from which status to which, and when for a given task.
Downstream use cases that need this:
- Reporting / retrospectives: "what moved to Done each day this week?" without inferring from unrelated
updated_atbumps (description edits, etc.). - Integrations: MCP clients or scripts that want a reliable audit trail for SLAs, burndown, or syncing to external PM tools.
- Debugging sync: distinguishing a true status transition from other field updates.
Proposed direction (open to implementation details)
- Append-only history (e.g.
task_status_eventsor generictask_audit_log) with at minimum:task_id,from_status,to_status,changed_at, optionalactor/source(ui vs mcp vs sync). - Optionally expose read access via MCP (e.g.
list_task_status_eventsfiltered by task and date range) so external agents can query without scraping the DB.
Context
We inspected db.v2.sqlite from the macOS app data directory; tasks holds current state only. Happy to help validate schema or beta-test if useful.
Thank you for considering this.
Source: BloopAI/vibe-kanban