teknium1
02005cfe20
fix(kanban): promote refuses undone parents instead of a false --force success
...
`hermes kanban promote --force <id>` printed `Promoted <id> -> ready` and
then the very next claim (a human `claim`, or the dispatcher tick seconds
later) demoted the task back to `todo` with `claim_rejected
{parents_not_done}` and returned None (#106195 ). The non-force refusal
even pointed operators at `--force` as the escape hatch.
The claim gate is deliberate: `claim_task` is the single enforcement point
("never ready -> running with an undone parent, whichever writer set
'ready'", cda20eec0c ), and `complete_task`/`request_review` re-check the
same predicate, so a child let through by a forced claim could still never
finish. A promotion override therefore has no honest outcome; the
dependency edge is the real knob.
- drop `--force` from `promote` (parser, CLI handler, `promote_task`
kwarg, the `forced` event field nothing read)
- the refusal message now states why the gate cannot be bypassed and names
the working remedies: complete the parents or `hermes kanban unlink`
- two invariant tests: refusal on an undone parent leaves `todo` with no
fake `ready`; the flag no longer parses
Salvage direction from #75354 by @vyacheslavk (diagnosis of the promote ->
claim gap); the consume-at-claim authorization there is not taken because
the same parent gate also blocks completion of the forced child.
2026-09-09 09:21:29 -07:00
..
2026-09-04 00:15:16 -07:00
2026-09-06 23:34:20 +05:30
2026-09-09 11:27:36 +10:00
2026-09-03 03:31:03 -07:00
2026-09-09 03:33:14 -07:00
2026-09-09 21:16:40 +05:30
2026-09-07 15:16:44 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 08:06:48 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 02:46:19 -07:00
2026-09-07 06:13:16 -07:00
2026-09-07 08:21:24 -07:00
2026-09-07 22:25:12 -07:00
2026-09-03 17:13:22 -07:00
2026-09-07 00:51:41 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-05 18:08:00 +05:30
2026-09-02 22:51:30 -07:00
2026-09-03 13:08:40 -07:00
2026-09-07 08:06:48 -07:00
2026-09-02 22:51:19 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 13:08:40 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-09 21:17:35 +05:30
2026-09-03 13:08:40 -07:00
2026-09-02 21:59:38 -07:00
2026-09-03 13:08:40 -07:00
2026-09-02 21:59:38 -07:00
2026-09-07 00:42:18 +05:30
2026-09-09 03:33:14 -07:00
2026-09-03 02:07:33 -07:00
2026-09-07 08:23:08 -07:00
2026-09-02 21:26:16 -07:00
2026-09-08 05:10:57 -07:00
2026-09-02 23:58:31 -07:00
2026-09-02 23:58:31 -07:00
2026-09-08 03:06:30 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 13:05:57 -07:00
2026-09-07 06:15:43 -07:00
2026-09-02 21:14:52 -07:00
2026-09-07 01:23:34 -07:00
2026-09-07 08:18:56 -07:00
2026-09-07 08:13:01 -07:00
2026-09-05 06:24:06 -07:00
2026-09-08 03:06:30 -07:00
2026-09-09 12:41:07 +05:30
2026-09-02 21:23:44 -07:00
2026-09-07 08:27:07 -07:00
2026-09-05 12:21:28 +05:30
2026-09-07 08:13:01 -07:00
2026-09-07 01:23:34 -07:00
2026-09-08 13:39:17 -07:00
2026-09-08 13:39:17 -07:00
2026-09-08 10:37:36 -07:00
2026-09-03 13:30:31 -07:00
2026-09-02 23:58:31 -07:00
2026-09-07 21:43:54 +05:30
2026-09-03 09:44:26 -07:00
2026-09-07 06:10:15 -07:00
2026-09-03 17:00:26 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 00:06:54 -07:00
2026-09-09 02:36:00 -07:00
2026-09-09 04:32:13 -07:00
2026-09-07 04:46:37 -07:00
2026-09-09 04:32:13 -07:00
2026-09-07 21:22:49 -07:00
2026-09-09 04:32:13 -07:00
2026-09-07 08:06:48 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 03:31:03 -07:00
2026-09-03 09:44:26 -07:00
2026-09-07 16:48:29 -07:00
2026-09-03 00:02:56 -07:00
2026-09-05 16:45:59 +05:30
2026-09-03 15:07:39 -07:00
2026-09-03 00:04:40 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 14:16:54 -07:00
2026-09-07 05:55:26 -07:00
2026-09-03 00:06:30 -07:00
2026-09-04 00:15:16 -07:00
2026-09-04 01:28:31 -07:00
2026-09-03 13:16:47 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 13:29:35 -07:00
2026-09-03 00:05:41 -07:00
2026-09-09 09:19:57 -07:00
2026-09-05 19:01:22 +05:30
2026-09-04 01:28:31 -07:00
2026-09-04 07:17:00 -07:00
2026-09-05 17:01:23 +05:30
2026-09-06 05:41:46 -07:00
2026-09-02 21:20:42 -07:00
2026-09-03 17:13:22 -07:00
2026-09-06 09:09:41 -07:00
2026-09-06 09:09:41 -07:00
2026-09-03 09:44:26 -07:00
2026-09-09 09:19:36 -07:00
2026-09-03 17:13:22 -07:00
2026-09-07 00:51:41 -07:00
2026-09-06 12:06:39 -07:00
2026-09-03 00:06:30 -07:00
2026-09-06 07:20:24 -07:00
2026-09-03 00:06:30 -07:00
2026-09-02 21:20:42 -07:00
2026-09-03 00:06:30 -07:00
2026-09-03 00:10:28 -07:00
2026-09-07 21:43:54 +05:30
2026-09-03 17:13:22 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 14:16:57 -07:00
2026-09-08 22:35:39 +05:30
2026-09-07 14:16:57 -07:00
2026-09-07 14:16:57 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 09:21:29 -07:00
2026-09-07 07:09:59 -07:00
2026-09-03 17:13:22 -07:00
2026-09-07 06:04:06 -07:00
2026-09-07 04:46:54 -07:00
2026-09-09 09:21:29 -07:00
2026-09-07 04:46:54 -07:00
2026-09-07 04:46:54 -07:00
2026-09-03 13:48:14 -07:00
2026-09-02 21:17:47 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 09:21:29 -07:00
2026-09-07 04:55:17 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 05:56:50 -07:00
2026-09-07 06:55:13 -07:00
2026-09-05 15:02:53 +02:00
2026-09-03 13:33:47 -07:00
2026-09-07 21:22:49 -07:00
2026-09-07 22:25:12 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 09:20:12 -07:00
2026-09-02 21:44:59 -07:00
2026-09-05 15:02:53 +02:00
2026-09-02 21:21:25 -07:00
2026-09-07 08:22:35 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 13:29:35 -07:00
2026-09-02 21:44:59 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-02 21:44:59 -07:00
2026-09-03 09:44:26 -07:00
2026-09-07 06:15:43 -07:00
2026-09-03 03:31:03 -07:00
2026-09-03 09:44:26 -07:00
2026-09-02 21:54:56 -07:00
2026-09-02 21:54:56 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 21:22:49 -07:00
2026-09-04 00:15:16 -07:00
2026-09-09 21:12:22 +05:30
2026-09-04 00:15:16 -07:00
2026-09-06 05:42:22 -07:00
2026-09-07 08:08:04 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-09 21:16:48 +05:30
2026-09-02 22:14:17 -07:00
2026-09-02 21:57:34 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 07:17:00 -07:00
2026-09-03 09:44:26 -07:00
2026-09-04 00:15:16 -07:00
2026-09-09 12:41:07 +05:30
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-02 21:57:39 -07:00
2026-09-04 04:56:11 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 09:44:26 -07:00
2026-09-04 01:28:31 -07:00
2026-09-03 00:09:39 -07:00
2026-09-07 13:11:36 +05:30
2026-09-06 13:36:12 -07:00
2026-09-06 13:36:12 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-06 13:36:12 -07:00
2026-09-02 21:49:24 -07:00
2026-09-03 09:44:26 -07:00
2026-09-09 04:27:24 -07:00
2026-09-06 05:34:01 -07:00
2026-09-04 00:15:16 -07:00
2026-09-09 04:27:24 -07:00
2026-09-03 00:06:57 -07:00
2026-09-03 13:46:50 -07:00
2026-09-02 22:55:15 -07:00
2026-09-06 09:11:04 -07:00
2026-09-07 02:09:34 -07:00
2026-09-04 20:24:24 -04:00
2026-09-04 20:24:24 -04:00
2026-09-02 22:39:49 -07:00
2026-09-03 14:00:59 -07:00
2026-09-07 06:15:43 -07:00
2026-09-07 06:15:43 -07:00
2026-09-02 22:25:24 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 17:13:22 -07:00
2026-09-02 22:33:08 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 00:06:57 -07:00
2026-09-03 00:06:57 -07:00
2026-09-03 00:06:57 -07:00
2026-09-03 00:06:57 -07:00
2026-09-03 00:06:57 -07:00
2026-09-09 18:28:57 +05:30
2026-09-02 23:59:27 -07:00
2026-09-09 18:28:57 +05:30
2026-09-09 18:28:57 +05:30
2026-09-02 23:42:50 -07:00
2026-09-03 13:05:57 -07:00
2026-09-02 22:39:06 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 09:44:26 -07:00
2026-09-07 06:10:54 -07:00
2026-09-04 07:17:00 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 00:11:01 -07:00
2026-09-09 03:32:58 -07:00
2026-09-07 22:25:12 -07:00
2026-09-03 13:08:40 -07:00
2026-09-07 05:59:43 -07:00
2026-09-03 09:44:26 -07:00
2026-09-08 03:06:30 -07:00
2026-09-03 17:13:22 -07:00
2026-09-02 23:04:20 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-04 07:17:00 -07:00
2026-09-04 00:15:16 -07:00
2026-09-02 21:36:24 -07:00
2026-09-02 21:34:25 -07:00
2026-09-03 22:00:01 -07:00
2026-09-02 21:49:33 -07:00
2026-09-08 19:52:26 +05:30
2026-09-03 13:22:51 -07:00
2026-09-03 13:29:35 -07:00
2026-09-03 14:16:54 -07:00
2026-09-03 13:10:38 -07:00
2026-09-05 12:21:28 +05:30
2026-09-02 21:31:17 -07:00
2026-09-09 09:19:36 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 14:27:29 -07:00
2026-09-07 08:20:46 -07:00
2026-09-03 09:44:26 -07:00
2026-09-05 00:24:40 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-07 05:56:50 -07:00
2026-09-02 21:49:26 -07:00
2026-09-06 20:47:52 +05:30
2026-09-02 21:45:19 -07:00
2026-09-06 14:53:33 +05:30
2026-09-02 22:12:58 -07:00
2026-09-02 21:28:23 -07:00
2026-09-02 21:28:23 -07:00
2026-09-02 21:28:23 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-07 08:27:50 -07:00
2026-09-09 21:16:40 +05:30
2026-09-04 20:24:24 -04:00
2026-09-03 14:37:14 -07:00
2026-09-09 12:17:13 +05:30
2026-09-05 16:30:35 +05:30
2026-09-07 07:11:36 -07:00
2026-09-03 14:21:32 -07:00
2026-09-05 20:44:51 +05:30
2026-09-06 22:56:51 +05:30
2026-09-03 14:21:32 -07:00
2026-09-03 14:21:32 -07:00
2026-09-03 14:21:32 -07:00
2026-09-03 14:21:32 -07:00
2026-09-07 05:56:33 -07:00
2026-09-07 04:56:38 -07:00
2026-09-05 20:44:51 +05:30
2026-09-04 00:15:16 -07:00
2026-09-04 20:24:24 -04:00
2026-09-02 23:08:44 -07:00
2026-09-02 23:08:44 -07:00
2026-09-03 13:05:57 -07:00
2026-09-03 09:44:26 -07:00
2026-09-02 21:54:36 -07:00
2026-09-09 02:36:00 -07:00