API Surface¶
DAG Rust APIs are exposed through crate roots and explicit re-exports, allowing consumers to use semantic, runtime, and artifact capabilities without importing internal module paths.
Visual Summary¶
flowchart LR
caller["rust caller"] --> core["bijux-dag-core exports"]
caller --> runtime["bijux-dag-runtime exports"]
caller --> artifacts["bijux-dag-artifacts exports"]
cli_surface["dag-cli and dag-app"] --> runtime
cli_surface --> core
cli_surface --> artifacts
API Surfaces by Crate¶
bijux-dag-core: graph model, validation, canonicalization, planner loweringbijux-dag-runtime: execution engine, scheduling, replay/diff helpers, policybijux-dag-artifacts: run-dir lifecycle, artifact integrity, persistence helpersbijux-dag-app: command orchestration entrypoints (dag_command,dag_run)
Code Anchors¶
crates/bijux-dag-core/src/lib.rscrates/bijux-dag-runtime/src/lib.rscrates/bijux-dag-artifacts/src/lib.rscrates/bijux-dag-app/src/lib.rs
API Surface Rules¶
- favor crate-root exports for external integration code
- avoid coupling to internal modules outside documented contracts
- update interface docs when root export behavior changes