Dependency Graph
Generated from docs/crates.toml -- do not hand-edit; regenerate with
python3 tools/gen_dependency_graph.py if the registry changes.
Validated acyclic and free of forbidden ISA-to-storage/network edges by
tools/check_workspace.py (see its output in docs/BUILD_MATRIX.md).
Foundation (8)
| Crate |
Depends on |
External deps |
jxcl-bitops |
jxcl-types |
(none) |
jxcl-bytes |
jxcl-errors, jxcl-endian |
(none) |
jxcl-config |
jxcl-errors |
(none) |
jxcl-constants |
(none) |
(none) |
jxcl-endian |
(none) |
(none) |
jxcl-errors |
jxcl-types |
(none) |
jxcl-logging |
(none) |
tracing, tracing-subscriber |
jxcl-types |
(none) |
(none) |
ISA (12)
| Crate |
Depends on |
External deps |
jxcl |
jxcl-opcodes, jxcl-registers, jxcl-flags, jxcl-operands, jxcl-instructions, jxcl-encoding, jxcl-decoding, jxcl-alu, jxcl-memory, jxcl-machine, jxcl-execution, jxcl-control, jxcl-binary, jxcl-instruction-validation, jxcl-assembler, jxcl-disassembler, jxcl-debugger, jxcl-cli |
(none) |
jxcl-decoding |
jxcl-instructions, jxcl-bitops, jxcl-endian, jxcl-bytes, jxcl-errors |
(none) |
jxcl-encoding |
jxcl-instructions, jxcl-bitops, jxcl-endian, jxcl-bytes, jxcl-errors |
(none) |
jxcl-flags |
jxcl-types |
(none) |
jxcl-instruction-validation |
jxcl-instructions, jxcl-operands, jxcl-registers, jxcl-errors |
(none) |
jxcl-instructions |
jxcl-opcodes, jxcl-operands |
(none) |
jxcl-isa-metadata |
jxcl-constants, jxcl-opcodes |
(none) |
jxcl-isa-schema |
jxcl-opcodes, jxcl-constants, jxcl-registers, jxcl-flags |
serde |
jxcl-isa-versioning |
jxcl-constants |
(none) |
jxcl-opcodes |
jxcl-types, jxcl-constants |
(none) |
jxcl-operands |
jxcl-types, jxcl-registers |
(none) |
jxcl-registers |
jxcl-types, jxcl-constants |
(none) |
Execution (10)
| Crate |
Depends on |
External deps |
jxcl-alu |
jxcl-types, jxcl-flags, jxcl-errors |
(none) |
jxcl-branch |
jxcl-types, jxcl-operands |
(none) |
jxcl-control |
jxcl-types, jxcl-flags, jxcl-registers |
(none) |
jxcl-cycle-model |
jxcl-opcodes |
(none) |
jxcl-dispatch |
jxcl-instructions, jxcl-opcodes |
(none) |
jxcl-exceptions |
jxcl-types, jxcl-errors |
(none) |
jxcl-execution |
jxcl-machine, jxcl-alu, jxcl-control, jxcl-decoding, jxcl-memory, jxcl-dispatch, jxcl-exceptions, jxcl-load-store, jxcl-errors |
(none) |
jxcl-interrupts |
jxcl-flags, jxcl-exceptions |
(none) |
jxcl-machine |
jxcl-registers, jxcl-flags, jxcl-types |
(none) |
jxcl-pipeline |
jxcl-instructions, jxcl-cycle-model |
(none) |
Memory (8)
| Crate |
Depends on |
External deps |
jxcl-address-space |
jxcl-memory, jxcl-types |
(none) |
jxcl-cache-model |
jxcl-memory, jxcl-address-space |
(none) |
jxcl-heap |
jxcl-address-space, jxcl-load-store, jxcl-exceptions |
(none) |
jxcl-load-store |
jxcl-memory, jxcl-endian, jxcl-exceptions |
(none) |
jxcl-memory |
jxcl-types, jxcl-errors, jxcl-endian |
(none) |
jxcl-memory-map |
jxcl-address-space, jxcl-constants |
(none) |
jxcl-page-table |
jxcl-address-space, jxcl-exceptions |
(none) |
jxcl-stack |
jxcl-load-store, jxcl-exceptions, jxcl-registers |
(none) |
Binary/Toolchain (12)
| Crate |
Depends on |
External deps |
jxcl-assembler |
jxcl-lexer, jxcl-parser, jxcl-object, jxcl-symbols, jxcl-relocations, jxcl-encoding, jxcl-instructions, jxcl-linker, jxcl-debug-info |
(none) |
jxcl-binary |
jxcl-bytes, jxcl-endian, jxcl-errors, jxcl-isa-versioning |
(none) |
jxcl-cli |
jxcl-assembler, jxcl-disassembler, jxcl-loader, jxcl-simulator, jxcl-debugger, jxcl-isa-metadata, jxcl-instruction-validation, jxcl-config, jxcl-logging |
(none) |
jxcl-debug-info |
jxcl-symbols, jxcl-bytes |
(none) |
jxcl-disassembler |
jxcl-decoding, jxcl-instructions, jxcl-symbols, jxcl-debug-info |
(none) |
jxcl-lexer |
jxcl-errors |
(none) |
jxcl-linker |
jxcl-object, jxcl-symbols, jxcl-relocations, jxcl-binary, jxcl-errors |
(none) |
jxcl-loader |
jxcl-binary, jxcl-memory-map, jxcl-memory, jxcl-errors |
(none) |
jxcl-object |
jxcl-bytes, jxcl-symbols, jxcl-relocations, jxcl-errors |
(none) |
jxcl-parser |
jxcl-lexer, jxcl-instructions, jxcl-operands, jxcl-errors |
(none) |
jxcl-relocations |
jxcl-symbols, jxcl-encoding, jxcl-bitops |
(none) |
jxcl-symbols |
jxcl-types |
(none) |
Debug/Simulation (8)
| Crate |
Depends on |
External deps |
jxcl-debugger |
jxcl-machine, jxcl-execution, jxcl-trace |
(none) |
jxcl-determinism |
jxcl-machine, jxcl-memory |
(none) |
jxcl-fuzz |
jxcl-decoding, jxcl-instructions |
(none) |
jxcl-golden |
jxcl-simulator, jxcl-assembler |
serde |
jxcl-profiler |
jxcl-trace, jxcl-cycle-model, jxcl-cache-model |
(none) |
jxcl-replay |
jxcl-trace, jxcl-machine, jxcl-determinism |
(none) |
jxcl-simulator |
jxcl-loader, jxcl-machine, jxcl-execution, jxcl-memory-map |
(none) |
jxcl-trace |
jxcl-machine, jxcl-instructions |
(none) |
Hardware/RTL (8)
| Crate |
Depends on |
External deps |
jxcl-hardware |
jxcl-rtl, jxcl-verilog, jxcl-vhdl, jxcl-netlist, jxcl-synthesis |
(none) |
jxcl-hardware-test |
jxcl-hardware, jxcl-isa-schema |
(none) |
jxcl-hdl |
jxcl-types |
(none) |
jxcl-netlist |
jxcl-hdl |
(none) |
jxcl-rtl |
jxcl-hdl, jxcl-opcodes, jxcl-constants, jxcl-alu |
(none) |
jxcl-synthesis |
jxcl-hdl, jxcl-netlist |
(none) |
jxcl-verilog |
jxcl-hdl |
(none) |
jxcl-vhdl |
jxcl-hdl |
(none) |
Cryptography (10)
| Crate |
Depends on |
External deps |
pq-aead |
(none) |
aes-gcm |
pq-attestation |
pq-envelope, pq-proof-types |
(none) |
pq-crypto |
pq-kem, pq-kdf, pq-aead, pq-envelope, pq-keyring, pq-rotation |
(none) |
pq-envelope |
pq-kem, pq-kdf, pq-aead |
(none) |
pq-kdf |
(none) |
hkdf, sha2 |
pq-kem |
(none) |
ml-kem |
pq-keyring |
pq-envelope |
(none) |
pq-policy |
jxcl-errors |
(none) |
pq-rotation |
pq-keyring |
(none) |
pq-signature |
(none) |
ml-dsa |
Storage/Data (7)
| Crate |
Depends on |
External deps |
pq-cache |
pq-storage, pq-envelope, pq-keyring |
redis |
pq-journal |
jxcl-bytes |
(none) |
pq-ledger |
pq-journal, pq-proof-types |
(none) |
pq-migration |
(none) |
tiberius |
pq-object-store |
pq-storage, pq-envelope |
(none) |
pq-sql-vault |
pq-storage, pq-envelope, pq-keyring, pq-migration |
tiberius |
pq-storage |
pq-envelope |
(none) |
Zero-Knowledge/Proof (5)
| Crate |
Depends on |
External deps |
pq-error-proof |
pq-proof-types |
ark-bls12-381, ark-ed-on-bls12-381, ark-groth16, ark-r1cs-std, ark-relations, ark-serialize, ark-snark, ark-std, sha2 |
pq-proof-bench |
pq-proof-registry, pq-error-proof |
criterion |
pq-proof-registry |
pq-proof-types |
(none) |
pq-proof-types |
(none) |
(none) |
pq-proof-verifier |
pq-proof-types, pq-proof-registry |
(none) |
Network/Service (7)
| Crate |
Depends on |
External deps |
jxcl-http |
jxcl-errors |
axum, reqwest |
jxcl-network |
jxcl-errors |
(none) |
jxcl-protocol |
jxcl-simulator, jxcl-trace |
serde |
jxcl-rpc |
jxcl-protocol, jxcl-network |
tokio |
jxcl-runtime |
jxcl-config |
tokio |
jxcl-service |
jxcl-http, jxcl-logging, jxcl-config |
(none) |
photo-cache-service |
jxcl-service, jxcl-http, jxcl-network, pq-cache, pq-policy, pq-crypto |
axum, reqwest, tokio |
Security/Observability/Integration (5)
| Crate |
Depends on |
External deps |
jxcl-audit |
jxcl-logging |
(none) |
jxcl-conformance |
jxcl-isa-schema, jxcl-hardware, jxcl-golden |
(none) |
jxcl-integration |
jxcl-assembler, jxcl-simulator, pq-cache, pq-error-proof |
(none) |
jxcl-observability |
jxcl-logging |
(none) |
jxcl-security |
jxcl-errors |
(none) |
Layering (high level)
applications
(jxcl-cli, photo-cache-service)
|
services
(jxcl-service, jxcl-rpc, jxcl-integration)
|
integration / runtime
(jxcl-simulator, jxcl-protocol, jxcl-runtime)
|
crypto / storage / proof / network primitives
(pq-*, jxcl-network, jxcl-http -- isolated from ISA internals)
|
ISA / execution kernel
(jxcl-execution, jxcl-memory, jxcl-assembler, jxcl-hardware, ...)
|
primitives
(jxcl-types, jxcl-errors, jxcl-bitops, jxcl-endian, ...)
Enforced mechanically: no crate in foundation, isa, execution,
memory, toolchain, debug, or hardware may depend on a crate in
storage or network (tools/check_workspace.py's
check_forbidden_edges). Crypto/proof crates depend only on
std + audited crates.io crates, never on service-layer crates.