This commit is contained in:
Mateusz Gruszczyński
2026-09-03 13:08:28 +02:00
parent d7b6d0478f
commit b8ff31f205
52 changed files with 3874 additions and 1912 deletions
Regular → Executable
+2 -2
View File
@@ -423,7 +423,7 @@ def main():
check('on-change value mode needs one direct source/condition input' in api, 'on-change value-source guard missing')
models=(ROOT/'src/models/flow.rs').read_text()
core=(ROOT/'web/js/core.js').read_text()
settings_api=(ROOT/'src/api/settings.rs').read_text()
configuration_api=(ROOT/'src/api/configuration.rs').read_text()
check('pub draft: bool' in models and '#[serde(default)]' in models, 'Flow draft persistence field missing')
check('fn validate_flow_draft_graph' in api, 'draft structural validator missing')
check(api.count('if input.draft { validate_flow_draft_graph(&input)?; } else { validate_flow_graph(&input)?; }') >= 3, 'draft create/update/import validation split missing')
@@ -431,7 +431,7 @@ def main():
check(api.count('(prepare_draft_flow(flow), vec![], vec![])') >= 3, 'draft save/import may compile executable outputs')
check('flow.compiled_schedule_ids.clear()' in api and 'flow.compiled_automation_ids.clear()' in api, 'draft output clearing missing')
check('"draft": flow.draft' in api, 'draft state missing from Flow export')
check('import contains an executable Flow draft' in settings_api, 'configuration import does not enforce draft safety invariant')
check('import contains an executable Flow draft' in configuration_api, 'configuration import does not enforce draft safety invariant')
check('error.status = response.status' in core, 'frontend API errors do not expose HTTP validation status')
check("error.status !== 400" in js and "draft:true" in js and "enabled:false" in js, 'save-as-draft retry flow missing')
check("if (flow.draft) return toast(tr('flow.draftCannotEnable')" in js, 'draft quick-enable guard missing')