Markus
14a8d2fadb
feat(workflows): add standalone WorkflowResolver and overlay subsystem
Implement PR 1 of the workflow-overlays plan: a concrete, standalone
WorkflowResolver for downstream workflow extensibility without touching the
Preset subsystem.
- Add overlay manifest schema (Overlay, OverlayEdit, validate_overlay_yaml)
- Add pure-function merge engine (find_step, apply_edit, merge_steps,
validate_edits) with recursive anchor search and higher-wins semantics
- Add StepListComposer and tiered layer sources (project, installed, base)
- Add WorkflowResolver facade with inline HIGHER_WINS priority sorting
- Add CLI verbs: workflow overlay add/set-priority/enable/disable/remove/list
and workflow resolve <id>
- Wire WorkflowEngine.load_workflow through WorkflowResolver
- Extend workflow add to copy optional overlays/ subdirectory from local
workflow directories
- Add comprehensive unit, integration, and security tests
Refs: discussion #3473 (https://github.com/github/spec-kit/discussions/3473)
Assisted-by: Kimi (model: opencode-go/kimi-k2.7-code, autonomous)
2026-07-16 10:34:38 +02:00
..
2026-07-01 16:30:20 -05:00
2026-07-10 14:21:43 -05:00
2026-07-10 11:47:36 -05:00
2026-07-07 14:59:27 -05:00
2026-07-10 13:39:01 -05:00
2026-07-10 11:57:53 -05:00
2026-07-16 10:34:38 +02:00
2026-02-10 14:27:20 -06:00
2026-05-07 12:51:20 -05:00
2026-06-19 17:07:20 -05:00
2026-07-01 15:55:18 -05:00
2026-06-03 12:04:54 -05:00
2026-06-03 12:04:54 -05:00
2026-06-30 10:24:04 -05:00
2026-07-10 13:45:44 -05:00
2026-06-09 06:13:07 -05:00
2026-07-01 13:50:53 -05:00
2026-07-06 17:54:31 -05:00
2026-06-04 11:34:05 -05:00
2026-05-14 12:52:14 -05:00
2026-07-09 12:21:50 -05:00
2026-07-01 16:34:46 -05:00
2026-06-03 16:02:26 -05:00
2026-07-10 11:47:36 -05:00
2026-07-07 10:51:50 -05:00
2026-07-10 11:47:36 -05:00
2026-07-08 07:42:34 -05:00
2026-07-07 15:14:25 -05:00
2026-06-24 15:08:16 -05:00
2026-07-01 15:55:18 -05:00
2026-06-19 12:05:42 -05:00
2026-06-17 06:48:42 -05:00
2026-07-10 11:47:36 -05:00
2026-07-07 11:35:43 -05:00
2026-07-07 15:20:13 -05:00
2026-05-26 13:18:34 -05:00
2026-06-22 10:25:29 -05:00
2026-06-03 12:04:54 -05:00
2026-06-03 12:04:54 -05:00
2026-06-03 12:04:54 -05:00
2026-06-03 12:04:54 -05:00
2026-07-08 07:45:01 -05:00
2026-06-29 16:37:40 -05:00
2026-07-10 11:47:36 -05:00
2026-06-24 14:52:24 -05:00
2026-07-10 11:47:36 -05:00
2026-06-03 12:04:54 -05:00
2026-06-09 06:13:07 -05:00
2026-06-24 13:05:21 -05:00
2026-06-03 16:02:26 -05:00
2026-07-07 14:52:36 -05:00
2026-07-10 09:51:19 -05:00