From ea57a9da70e0ee755a7bea9f2d776231461fffbe Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 5 Apr 2026 10:20:31 +0200 Subject: [PATCH] fix(db): auto-unassign done tickets on sprint close MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sprint stop now clears assigned_to on all done tickets in the closing sprint. Agents don't clean up after themselves — this was causing 5 bookkeeping warnings every sprint. Co-Authored-By: Claude Opus 4.6 (1M context) --- tooling/db/sprint | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tooling/db/sprint b/tooling/db/sprint index 2df0e5f63..87923c302 100755 --- a/tooling/db/sprint +++ b/tooling/db/sprint @@ -369,6 +369,16 @@ def cmd_stop(args): done = done + auto_closed incomplete = [t for t in incomplete if t["status"] not in picked_up_statuses] + # Unassign all done tickets in this sprint (agents don't clean up after themselves) + conn = get_connection(load_config()) + conn.execute( + "UPDATE tickets SET assigned_to=NULL WHERE sprint_id=? AND status='done' AND assigned_to IS NOT NULL", + (sprint["id"],) + ) + unassigned = conn.total_changes + conn.commit() + conn.close() + # Complete the sprint conn = get_connection(load_config()) conn.execute(