freemo
a44082ab70
feat(guardrails): implement Plan Generation Pre-flight Guardrails (7 checks before execution)
...
Implement spec-mandated pre-flight guardrail checks that validate plan
readiness before entering the Strategize phase:
1. Action schema validation — verifies action exists and is well-formed.
2. Actor availability — confirms all 4 actor roles registered.
3. Skill/tool existence — transitively resolves all tools/skills.
4. Automation policy — verifies profile permits execution.
5. Rollback feasibility — ensures all tools checkpointable if required.
6. Resource accessibility — shallow connectivity check on linked resources.
7. Validation attachment resolution — pre-resolves all applicable validations.
PlanPreflightGuardrail service runs all 7 checks via run_all_checks().
On first failure, raises PreflightRejection with check name and message.
Wired into plan_lifecycle_service before Strategize phase.
Behave BDD: 18 scenarios covering all 7 checks (positive + negative).
Robot Framework: 3 integration smoke tests.
ASV benchmarks: pre-flight check execution time.
ISSUES CLOSED : #582
2026-03-08 22:31:40 +00:00
..
2025-10-31 16:18:53 -04:00
2026-03-03 03:29:31 +00:00
2026-03-05 01:28:50 +00:00
2026-03-05 15:13:19 +00:00
2026-03-05 10:27:36 -05:00
2026-03-07 14:53:18 +00:00
2026-02-22 15:02:19 +00:00
2026-02-14 12:16:39 -05:00
2026-02-13 19:01:55 +05:30
2026-02-24 19:12:01 +00:00
2026-02-24 17:57:18 +00:00
2026-02-18 10:49:26 +00:00
2026-02-25 10:30:42 +00:00
2026-02-19 11:29:34 +00:00
2026-02-22 14:18:24 -05:00
2026-02-22 14:18:24 -05:00
2026-02-17 13:54:27 +00:00
2026-02-26 09:10:35 +00:00
2026-02-25 10:48:05 -05:00
2026-02-25 10:01:57 +00:00
2026-03-04 23:47:20 +00:00
2026-02-20 15:57:21 +00:00
2026-02-22 10:19:43 +00:00
2026-03-02 17:44:18 +00:00
2026-02-20 15:57:21 +00:00
2026-02-28 22:06:57 +00:00
2026-03-03 17:01:57 +00:00
2026-03-03 17:01:57 +00:00
2026-03-03 17:01:57 +00:00
2026-02-22 14:18:24 -05:00
2026-02-21 16:27:40 +00:00
2026-02-18 03:27:00 +00:00
2026-02-26 02:47:14 +00:00
2026-03-02 10:18:14 +00:00
2026-02-12 22:01:51 +00:00
2026-02-22 14:18:24 -05:00
2025-12-11 13:55:55 -05:00
2026-02-18 12:18:03 +00:00
2026-02-25 19:38:43 -05:00
2026-02-24 20:11:42 +00:00
2026-02-20 15:57:21 +00:00
2026-03-06 20:28:37 +00:00
2026-02-20 21:46:46 +00:00
2026-03-07 11:49:14 -05:00
2026-02-25 10:48:05 -05:00
2026-03-01 04:38:30 +00:00
2026-03-02 15:05:20 +00:00
2026-03-01 04:38:30 +00:00
2026-03-05 14:11:23 +00:00
2026-03-05 12:58:57 +00:00
2026-03-05 22:00:15 +00:00
2026-03-03 17:01:57 +00:00
2026-02-25 12:08:01 -05:00
2026-02-16 21:35:54 +00:00
2026-03-04 21:20:47 +00:00
2026-03-02 14:32:31 +00:00
2026-02-13 13:05:20 -05:00
2026-02-13 13:05:20 -05:00
2026-02-20 15:57:21 +00:00
2026-02-22 16:40:06 +00:00
2026-02-22 11:07:35 +00:00
2026-03-03 17:01:57 +00:00
2026-02-23 22:19:19 +00:00
2026-02-26 16:13:44 +00:00
2026-02-26 16:13:44 +00:00
2026-03-03 12:18:27 +00:00
2026-03-05 15:42:20 +00:00
2026-03-03 17:01:57 +00:00
2026-02-25 10:02:38 +00:00
2026-02-20 20:38:53 +00:00
2026-02-25 10:04:31 +00:00
2026-02-25 10:48:05 -05:00
2026-03-02 11:54:53 +00:00
2026-03-03 14:48:55 -05:00
2026-02-21 10:18:26 -05:00
2026-02-21 18:11:31 +00:00
2026-03-04 15:36:34 +00:00
2026-02-20 08:50:08 -05:00
2026-02-22 14:18:24 -05:00
2026-03-04 20:26:42 +00:00
2026-03-03 21:44:20 +00:00
2026-02-20 15:57:21 +00:00
2026-03-03 17:04:17 -05:00
2026-02-22 10:15:25 +00:00
2026-03-06 18:16:47 +00:00
2026-02-25 04:50:43 +00:00
2026-02-25 19:38:43 -05:00
2026-02-25 21:26:19 +00:00
2026-02-26 02:01:47 +00:00
2026-02-27 20:20:13 +00:00
2026-02-27 20:31:15 +00:00
2026-02-25 13:17:26 +00:00
2026-03-03 14:55:58 -05:00
2026-02-21 10:19:45 -05:00
2026-03-03 17:01:57 +00:00
2026-02-20 21:46:46 +00:00
2026-02-20 15:57:21 +00:00
2026-02-23 09:47:00 -05:00
2026-02-21 10:18:26 -05:00
2026-02-20 15:57:21 +00:00
2026-02-20 15:57:21 +00:00
2026-02-22 00:43:08 -05:00
2026-02-22 15:13:43 +00:00
2026-03-03 12:10:25 +00:00
2026-02-27 09:47:10 -05:00
2026-02-17 02:24:35 +00:00
2026-02-17 02:24:35 +00:00
2026-02-22 14:18:24 -05:00
2026-02-17 02:35:20 +00:00
2026-03-08 22:31:40 +00:00
2026-02-20 15:57:21 +00:00
2026-02-25 14:00:04 -05:00
2026-02-16 23:56:55 -05:00
2026-02-18 03:27:00 +00:00
2026-02-18 03:27:00 +00:00
2026-02-17 02:35:20 +00:00
2026-02-22 00:43:08 -05:00
2026-03-08 22:19:40 +00:00
2026-02-27 09:47:10 -05:00
2026-02-23 03:11:12 +00:00
2026-02-16 16:46:54 -05:00
2026-02-20 08:48:33 -05:00
2026-02-22 14:18:24 -05:00
2026-02-23 22:20:44 +00:00
2026-02-23 22:20:44 +00:00
2026-02-17 02:35:20 +00:00
2026-02-18 00:10:15 +00:00
2026-02-16 16:46:54 -05:00
2026-02-15 10:44:14 -05:00
2026-02-18 03:27:00 +00:00
2026-02-15 15:19:09 +00:00
2026-02-15 15:19:09 +00:00
2026-03-03 22:21:14 +00:00
2026-03-02 17:44:18 +00:00
2026-03-04 15:59:15 +00:00
2026-02-27 23:08:55 +00:00
2026-02-20 03:31:43 +00:00
2026-03-06 00:49:33 +00:00
2026-02-21 10:18:26 -05:00
2026-02-26 14:30:43 +00:00
2026-02-22 00:43:08 -05:00
2026-02-21 16:32:03 +00:00
2026-02-25 10:05:57 +00:00
2026-02-26 20:33:20 +00:00
2026-02-13 19:24:24 +00:00
2026-02-19 11:15:18 +00:00
2026-02-25 10:06:27 +00:00
2026-03-04 12:18:51 -05:00
2026-03-03 17:01:57 +00:00
2026-03-02 22:05:53 +00:00
2026-03-03 17:01:57 +00:00
2026-02-20 01:10:19 +00:00
2026-02-14 03:50:40 +00:00
2026-02-22 14:18:24 -05:00
2026-03-05 21:38:55 +00:00
2026-03-08 02:57:44 +00:00
2026-02-26 10:57:07 +00:00
2026-02-22 14:18:24 -05:00
2026-02-24 17:57:18 +00:00
2026-02-20 08:50:08 -05:00
2026-02-26 12:29:49 +00:00
2026-02-21 16:30:40 +00:00
2026-02-27 20:09:26 +00:00
2026-02-14 03:54:14 +00:00
2026-02-17 10:13:19 +00:00
2026-02-27 08:02:48 +00:00
2026-03-03 17:01:57 +00:00
2026-02-19 22:07:56 +00:00
2026-03-02 09:41:25 -05:00
2026-03-08 22:11:49 +00:00
2026-02-16 21:35:54 +00:00
2026-02-20 08:49:30 -05:00
2026-02-14 18:55:48 +00:00
2026-02-22 14:18:24 -05:00
2026-02-17 20:28:20 +00:00
2026-02-21 10:23:31 -05:00
2026-02-22 14:18:24 -05:00
2026-03-04 18:21:19 +00:00
2026-03-05 19:20:39 +00:00
2026-03-04 22:40:34 +00:00
2026-03-05 21:38:55 +00:00
2026-02-20 15:57:21 +00:00
2026-02-25 10:03:21 +00:00
2026-02-20 02:54:08 +00:00
2026-02-25 10:48:05 -05:00