Teknium
1810cfc8dd
fix(kanban): guard request_review against live-claim theft
...
request_review on a running task under a live claim now requires the
caller to prove ownership (expected_run_id, the unchanged worker path)
or pass an explicit force=True override (CLI --force; dashboard human
actions pass force=True) instead of silently clearing claim_lock /
worker_pid of a live run.
Failures now carry distinct diagnostic reasons via with_reason=True
(mirroring request_changes' tuple pattern): live-claim refusal,
malformed re-review provenance, unsatisfied parents, unknown task, and
CAS miss. Tool/CLI handlers surface the specific reason instead of the
generic 'unknown id or not in running/ready'.
Regression tests: live-claim refusal + force/worker paths; malformed
provenance gets a distinct reason and explicit reviewer= recovers.
2026-08-10 12:43:46 -07:00
..
2026-08-10 01:23:38 -07:00
2026-08-10 11:07:22 -07:00
2026-07-28 07:58:16 -07:00
2026-08-08 14:56:38 +05:30
2026-08-02 15:11:37 -07:00
2026-07-28 11:52:44 -07:00
2026-08-07 17:45:06 +05:30
2026-08-02 00:11:50 -07:00
2026-07-27 14:32:05 -07:00
2026-07-29 10:54:04 -07:00
2026-08-10 10:45:44 -07:00
2026-08-10 12:28:10 -07:00
2026-07-29 10:14:11 -07:00
2026-07-26 17:46:55 -07:00
2026-07-29 10:14:00 -07:00
2026-08-06 19:35:47 -06:00
2026-08-09 14:35:02 -07:00
2026-07-29 12:19:37 -07:00
2026-08-08 05:44:18 -07:00
2026-08-08 13:48:00 +05:30
2026-08-09 14:35:02 -07:00
2026-08-07 09:07:42 -07:00
2026-07-22 12:13:01 -05:00
2026-08-02 00:11:50 -07:00
2026-08-02 00:36:03 -07:00
2026-08-01 21:17:51 -04:00
2026-08-10 12:07:50 -07:00
2026-08-10 12:07:50 -07:00
2026-07-31 10:17:55 -04:00
2026-08-06 19:35:47 -06:00
2026-08-02 15:51:43 -07:00
2026-08-02 00:11:50 -07:00
2026-07-29 09:33:48 -07:00
2026-08-08 19:59:12 -04:00
2026-08-08 04:19:38 -07:00
2026-08-10 12:43:46 -07:00
2026-08-08 14:06:48 -07:00
2026-08-08 12:32:23 -07:00
2026-07-28 00:53:16 -05:00
2026-07-29 10:02:03 -07:00
2026-08-03 14:24:37 +05:30
2026-08-10 10:40:19 -07:00
2026-08-08 12:32:23 -07:00
2026-07-29 10:13:50 -07:00
2026-07-28 14:07:21 -07:00
2026-08-06 19:35:47 -06:00
2026-08-02 10:02:33 -07:00
2026-08-01 10:47:20 -07:00
2026-08-04 14:34:24 +05:30
2026-07-29 10:14:00 -07:00
2026-08-10 00:23:41 -07:00
2026-08-06 19:35:47 -06:00
2026-08-10 01:28:57 -07:00
2026-08-06 19:35:47 -06:00
2026-08-06 19:35:47 -06:00
2026-08-08 22:17:38 -05:00
2026-08-08 14:56:38 +05:30
2026-08-07 08:58:25 -07:00
2026-08-08 14:56:38 +05:30
2026-08-02 10:01:16 -07:00
2026-08-03 17:50:58 +05:30
2026-08-08 11:12:27 -07:00
2026-08-08 11:12:27 -07:00
2026-07-31 07:30:30 -07:00
2026-08-03 09:56:36 +05:30
2026-08-09 23:14:18 -07:00
2026-07-30 22:31:42 -07:00
2026-07-28 04:24:50 -05:00
2026-08-08 12:32:23 -07:00
2026-08-02 15:08:35 -07:00
2026-08-09 14:35:02 -07:00
2026-08-02 10:04:48 -07:00
2026-08-02 10:04:48 -07:00
2026-08-03 19:11:30 +05:30
2026-08-07 19:26:12 +05:30
2026-07-28 22:31:40 -07:00
2026-07-28 11:55:01 -07:00
2026-08-10 10:40:19 -07:00
2026-07-28 14:17:45 -07:00
2026-08-08 19:59:12 -04:00
2026-08-10 10:40:19 -07:00
2026-08-07 14:38:02 +05:30
2026-08-08 13:49:24 +05:30
2026-07-29 11:53:39 -07:00
2026-08-08 12:34:46 -07:00
2026-07-23 21:06:47 -07:00
2026-08-08 12:32:23 -07:00