- selectTaskWorkflow: compile once, materialize the new steps and repoint the
task before deleting prior rows, so a mid-flight failure never leaves the
task referencing deleted step ids
- createTaskWithReservedId: inherit the project default workflow like
createTask (imports/reserved-id creations were skipping it)
- setDefaultWorkflowId: use null (updateSettings' delete sentinel) to clear
- parseWorkflowLayout: reject JSON arrays
- editor inspector: gate-mode default display now matches the compiler
(script/gate block by default, prompt is advisory)