Local Development¶
Local development should mirror integration behavior closely enough that replay and diff outcomes are meaningful before merge.
Visual Summary¶
flowchart LR
edit[edit graph or code] --> validate[validate graph]
validate --> run[run pipeline]
run --> replay[replay run]
replay --> diff[diff baseline]
diff --> fix[adjust and rerun]
Daily Development Loop¶
- validate changed graph definitions
- run local execution with dedicated output directory
- replay baseline runs when behavior should remain stable
- run semantic diff against expected baseline
- only promote changes with explicit drift attribution
Example Loop¶
bijux dag validate ./pipelines/main.dag.json
bijux dag run ./pipelines/main.dag.json --out ./runs/dev
bijux dag replay ./runs/dev/latest --out ./runs/dev-replay
bijux dag diff ./runs/baseline/latest ./runs/dev/latest --mode semantic --explain
Code Anchors¶
crates/bijux-dag-app/src/routes/validate_routes.rscrates/bijux-dag-app/src/routes/replay_routes.rscrates/bijux-dag-app/src/routes/diff_routes.rs
Hygiene Rules¶
- keep run outputs isolated per change branch
- avoid reusing stale evidence directories
- avoid manual mutation of run artifact files