Dependencies and Adjacencies¶
DAG crates rely on parsing, serialization, hashing, and command libraries, with strict adjacency rules between semantic, runtime, and artifact layers.
Visual Summary¶
flowchart TD
dag_core["dag-core"] --> serde["serde and serde_json"]
dag_core --> hash["sha2 and hex"]
dag_app["dag-app"] --> clap["clap command modeling"]
dag_runtime["dag-runtime"] --> ctrlc["interrupt handling"]
dag_runtime --> dag_artifacts["artifact persistence dependency"]
Key Dependencies¶
clap: CLI command models and route parsing in app/cli layersserde/serde_json: graph/run/artifact payload serializationsha2/hex: identity hashing and integrity checksthiserror: typed domain and runtime error surfaces
Adjacency Rules¶
dag-coreremains pure and side-effect free.dag-runtimemay depend ondag-coreanddag-artifacts.dag-apporchestrates runtime/core/artifact calls, not vice versa.dag-cliremains thin and does not absorb DAG semantics.
Code Anchors¶
crates/bijux-dag-core/Cargo.tomlcrates/bijux-dag-runtime/Cargo.tomlcrates/bijux-dag-app/Cargo.tomlcrates/bijux-dag-cli/Cargo.toml