Error Model¶
DAG error handling must preserve classification clarity: parse/validation errors, execution errors, integrity errors, and classification-state errors must remain distinguishable.
Visual Summary¶
flowchart TD
failure["dag failure"] --> parse["parse and validation class"]
failure --> runtime["execution and scheduler class"]
failure --> artifact["artifact integrity class"]
failure --> classify["replay diff classification class"]
classify --> outcomes["equivalent drift incomplete unknown"]
Error Classes¶
- definition errors: malformed graph, unresolved dependencies, cycles
- runtime errors: node execution failure, scheduler/runtime interruption
- artifact errors: hash mismatch, missing lineage, storage corruption
- comparison errors: missing evidence, capability conflict, unsupported scope
Code Anchors¶
crates/bijux-dag-core/src/contracts/error.rscrates/bijux-dag-runtime/src/error/crates/bijux-dag-artifacts/src/lib.rscrates/bijux-dag-app/src/routes/response.rs
Error Rules¶
- do not coerce unresolved state into success-equivalent output
- keep reason codes stable for automation and operator triage
- include enough context to drive replay/diff follow-up commands