EloquentBrush0x
502d03d5a3
fix(kanban): detect cycles in decompose_triage_task sibling-link pre-validation
...
decompose_triage_task inlines SQL INSERTs for atomicity and intentionally
bypasses link_tasks() — which calls _would_cycle() per edge. If the LLM
emits a cyclic parent graph (e.g. A.parents=[1], B.parents=[0]) the DB
write succeeds but every involved child deadlocks in 'todo' forever:
recompute_ready() requires all parents to be done, which is impossible
when A waits for B and B waits for A.
Add a Kahn topological sort over the sibling parent indices in the
pre-validation block, before any DB writes. Mirrors the cycle-safety
guarantee that link_tasks() provides for manually linked tasks.
2026-05-18 09:40:44 -07:00
..
2026-05-18 16:36:26 +05:30
2026-05-09 14:36:58 -07:00
2026-05-18 09:27:18 -07:00
2026-05-17 02:29:41 -07:00
2026-05-17 02:29:41 -07:00
2026-05-14 19:08:38 -07:00
2026-05-18 02:14:43 -07:00
2026-05-18 09:40:44 -07:00
2026-05-17 23:28:45 -07:00
2026-05-17 02:29:41 -07:00
2026-04-30 02:35:29 -07:00
2026-05-17 04:04:15 -07:00
2026-05-15 14:06:51 -07:00
2026-05-17 23:20:37 -07:00
2026-05-14 22:27:09 -07:00
2026-05-17 02:29:41 -07:00
2026-05-17 02:29:41 -07:00
2026-05-18 02:14:43 -07:00
2026-05-17 02:29:41 -07:00
2026-05-05 13:46:20 -07:00
2026-05-17 16:56:37 -07:00
2026-04-21 01:56:35 -07:00
2026-04-28 04:58:22 -07:00
2026-04-21 06:06:16 -07:00
2026-04-24 14:32:21 -07:00
2026-04-21 08:00:00 -07:00
2026-04-28 05:21:49 -07:00
2026-04-29 23:18:55 -07:00
2026-05-12 20:46:04 -07:00
2026-05-14 14:51:07 -07:00
2026-04-30 04:32:06 -07:00
2026-05-08 14:43:13 -07:00
2026-05-07 09:59:07 -07:00
2026-05-02 01:49:55 -07:00
2026-04-26 19:01:26 -07:00
2026-05-09 02:09:35 -07:00
2026-05-09 17:53:02 -07:00
2026-05-14 09:05:31 -07:00
2026-05-06 04:02:02 -07:00
2026-04-28 06:45:55 -07:00
2026-05-14 07:08:45 -07:00
2026-05-07 13:04:08 -07:00
2026-05-06 01:11:49 +05:30
2026-05-08 14:27:40 -07:00
2026-05-17 02:29:41 -07:00
2026-05-07 13:41:16 -07:00
2026-04-20 12:23:05 -07:00
2026-04-19 22:44:47 -07:00
2026-05-11 22:15:16 -07:00
2026-04-29 05:00:40 -07:00
2026-05-15 10:36:38 +05:30
2026-05-16 12:15:45 -07:00
2026-05-05 10:15:31 -07:00
2026-05-07 06:35:54 -07:00
2026-05-12 15:06:25 -07:00
2026-05-16 00:57:39 -07:00
2026-05-07 13:04:08 -07:00
2026-05-17 02:29:41 -07:00
2026-05-14 08:03:33 -07:00
2026-04-20 12:23:05 -07:00
2026-04-20 12:23:05 -07:00
2026-05-07 05:46:05 -07:00
2026-04-20 23:20:33 -07:00
2026-05-17 02:29:41 -07:00
2026-04-26 18:50:49 -07:00
2026-04-26 18:50:49 -07:00
2026-04-26 18:50:49 -07:00
2026-04-26 18:50:49 -07:00