tlm-jxcl-forge / docs /DEPENDENCY_GRAPH.md
SNAPKITTYWEST's picture
October 2026 main drop: mirror from GitHub (part 2)
ae44e8c verified
|
Raw History Blame Contribute Delete
9.74 kB

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.