HAL9000
428ec07951
fix(plans): derive ULID-compatible subplan IDs in scheduler BDD tests
...
SubplanStatus.subplan_id is pydantic-validated against ^[0-9A-HJKMNP-TV-Z]{26}$.
The scheduler test fixtures constructed SubplanStatus instances with short logical
IDs ("subplan-001", "subplan-A") which failed validation at fixture-construction
time, erroring 22 of 38 originally-failing scenarios in unit_tests CI before the
behavioural assertions could even run.
Derive a deterministic 26-char Crockford-Base32 ID from each logical name via
SHA-256 and translate fail-id sets, block-second dicts, dependency graphs, and
result-status lookups through the same helper so cross-references stay
consistent.
Also add the missing step definitions unique to the parallel_subplan_scheduler
scenarios (staggered-completion fixture, retry-then-succeed fixture, fail_fast-
disabled scheduler, mode-only scheduler, timeout-errored verifier) and remove
duplicate @then registrations that conflict with shared step definitions in
subplan_execution_steps.py.
ISSUES CLOSED : #9555
2026-06-06 20:26:27 -04:00
..
2026-06-06 00:56:05 -04:00
2026-06-06 05:52:06 -04:00
2026-05-29 16:36:39 -04:00
2026-06-06 20:26:27 -04:00
2026-06-06 09:06:02 -04:00
2026-06-04 17:43:33 -04:00
2026-06-06 19:05:19 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 23:33:52 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-05 18:12:05 -04:00
2026-06-02 15:41:06 -04:00
2026-06-03 11:24:21 -04:00
2026-06-06 10:26:09 -04:00
2026-06-06 11:08:28 -04:00
2026-06-06 04:15:16 -04:00
2026-06-02 08:44:47 -04:00
2026-06-02 04:52:51 -04:00
2026-05-30 00:36:20 -04:00
2026-06-06 05:52:06 -04:00
2026-06-02 21:16:38 -04:00
2026-06-03 00:53:19 -04:00
2026-06-04 18:44:59 -04:00
2026-06-06 00:23:30 -04:00
2026-06-02 17:06:11 -04:00
2026-05-31 10:55:18 -04:00
2026-06-02 01:25:33 -04:00
2026-06-06 11:52:49 -04:00
2026-06-04 11:47:32 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 14:01:59 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-06 06:28:09 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 07:37:14 -04:00
2026-06-02 07:37:13 -04:00
2026-06-01 23:37:30 -04:00
2026-06-01 23:37:30 -04:00
2026-06-01 23:37:30 -04:00
2026-05-30 16:14:46 -04:00
2026-06-02 20:37:35 -04:00
2026-05-30 13:08:44 -04:00
2026-06-06 01:57:44 -04:00
2026-06-04 02:28:50 -04:00
2026-06-06 09:24:27 -04:00
2026-06-04 09:49:11 -04:00
2026-06-01 17:37:24 -04:00
2026-06-01 17:07:39 -04:00
2026-06-02 20:37:35 -04:00
2026-06-02 20:37:35 -04:00
2026-06-02 20:37:35 -04:00
2026-06-02 20:37:35 -04:00
2026-06-02 20:37:35 -04:00
2026-05-29 07:21:08 -04:00
2026-06-03 07:39:45 -04:00
2026-06-06 12:11:44 -04:00
2026-06-04 18:44:59 -04:00
2026-06-02 19:50:41 -04:00
2026-05-31 20:45:10 -04:00
2026-05-31 20:45:10 -04:00
2026-06-06 13:54:43 -04:00
2026-05-30 10:38:39 -04:00
2026-06-04 13:06:20 -04:00
2026-06-05 23:53:43 -04:00
2026-06-05 17:25:35 -04:00
2026-06-06 04:37:11 -04:00
2026-06-02 16:48:22 -04:00
2026-06-02 16:48:22 -04:00
2026-06-06 20:26:27 -04:00
2026-06-06 16:25:55 -04:00
2026-06-03 03:22:59 -04:00
2026-06-03 05:00:01 -04:00
2026-06-02 05:14:43 -04:00
2026-06-03 09:01:44 -04:00
2026-06-03 03:22:59 -04:00
2026-06-03 12:16:30 -04:00
2026-06-03 00:24:21 -04:00
2026-06-03 03:03:14 -04:00
2026-06-04 20:36:52 -04:00
2026-06-02 04:09:01 -04:00
2026-06-03 17:30:22 -04:00
2026-06-03 17:30:22 -04:00
2026-06-06 03:29:32 -04:00
2026-05-31 15:39:36 -04:00
2026-06-06 05:30:16 -04:00
2026-06-06 05:30:16 -04:00
2026-06-02 20:37:35 -04:00
2026-06-06 05:30:16 -04:00
2026-06-06 14:56:30 -04:00
2026-06-05 23:20:31 -04:00
2026-05-30 15:43:56 -04:00
2026-06-04 04:23:37 -04:00
2026-06-06 01:37:38 -04:00
2026-06-06 01:37:38 -04:00
2026-06-06 00:56:05 -04:00
2026-06-06 01:15:58 -04:00
2026-06-01 00:40:59 -04:00
2026-06-06 15:31:12 -04:00
2026-05-29 07:21:08 -04:00
2026-06-02 19:50:41 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-05-31 19:27:43 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-02 15:41:06 -04:00
2026-06-06 04:58:21 -04:00
2026-05-30 08:29:22 -04:00
2026-05-30 04:04:21 -04:00
2026-06-06 11:27:30 -04:00
2026-06-02 19:50:41 -04:00
2026-05-30 02:07:41 -04:00
2026-05-29 15:26:47 -04:00
2026-06-02 05:51:55 -04:00
2026-06-02 03:39:50 -04:00
2026-05-30 00:09:20 -04:00
2026-06-02 07:19:20 -04:00
2026-05-31 15:00:33 -04:00
2026-06-02 18:42:43 -04:00
2026-06-06 08:23:24 -04:00
2026-06-01 00:40:59 -04:00
2026-06-06 12:31:45 -04:00
2026-06-02 00:38:09 -04:00
2026-06-02 00:38:09 -04:00
2026-06-06 12:11:44 -04:00
2026-06-04 13:06:19 -04:00
2026-06-04 13:06:20 -04:00
2026-06-02 00:38:09 -04:00
2026-06-02 00:38:09 -04:00
2026-06-02 04:29:20 -04:00