This document is the normative structural dependency policy for the t81-foundation repository.
graph TD
CT[core/types]
CI[core/isa]
CV[core/vm]
KA[kernel/axion]
RT[runtime/tracing]
RJ[runtime/jit]
EX[experimental/*]
TOOLS[tools/*]
PUB[include/t81/**]
INT[internal/**]
CI --> CT
CV --> CI
CV --> CT
KA --> CT
KA --> CI
KA --> CV
RT --> CT
RT --> CI
RT --> CV
RJ --> CT
RJ --> CI
RJ --> CV
EX --> CT
EX --> CI
EX --> CV
EX --> KA
EX --> RT
EX --> RJ
TOOLS --> PUB
PUB -.forbidden.-> INT
CT -.forbidden.-> EX
CI -.forbidden.-> EX
CV -.forbidden.-> EX
core/types has no upward dependencies.core/isa may depend only on core/types.core/vm may depend only on core/isa and core/types.kernel/axion may depend on core/*.runtime/* may depend on core/*.experimental/* may depend on any layer, but core/* must not depend on experimental/*.tools/* may depend only on public headers under include/t81/**.include/t81/** must not include internal/**.internal/** from public headers are forbidden.The following scripts enforce this firewall:
scripts/architecture/check_dependency_firewall.pyscripts/architecture/check_legacy_paths.shBoth scripts must pass before merge for structural changes.