Engine v0.2: flow graph, datapoint states, gates, modes, overrides, deviations (RBT-WP-0007)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 295952@bnt-lap001 Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
This commit is contained in:
parent
3fc279a6ed
commit
60d983769f
13 changed files with 1017 additions and 22 deletions
|
|
@ -151,6 +151,11 @@ def _check_refs(m: _Model, data: dict) -> None:
|
|||
m.errs.append(f"datapoint {d['id']}: produced_by names unknown step {d['produced_by']}")
|
||||
if d.get("confirmed_by") and d["confirmed_by"] not in steps | gates:
|
||||
m.errs.append(f"datapoint {d['id']}: confirmed_by names unknown step or gate")
|
||||
for g_id in gates: # a gate that requires a datapoint to be ok cannot be what confirms it
|
||||
for ck in m.flow[g_id]["checks"]:
|
||||
for d in ck.get("datapoints_ok", []):
|
||||
if dps.get(d, {}).get("confirmed_by") == g_id:
|
||||
m.errs.append(f"gate {g_id}: checks datapoint {d} that it is itself confirmed_by (circular)")
|
||||
for a in data.get("artefacts", []):
|
||||
if a["location"]["datapoint"] not in dps:
|
||||
m.errs.append(f"artefact {a['id']}: location names unknown datapoint")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue