Architecture, checked

546 modules, 2258 internal imports. Every declared contract holds: the deterministic core reaches no model-facing module at any depth, every package has a layer, and no module imports from a layer above its own, deferred imports included, outside a main() entry point. 7 dependency cycles, each broken at load by a deferred import in one direction — real coupling, safe ordering, and reported rather than scored as clean.

546 modules 2258 internal imports 0 contract violations 0 cycles that break at load

Contracts

Every declared contract holds.

Layers

LayerPackages
7demo · eval · lui · status
6agents · paper · register
5desk · research · strategies
4backtest · execution · sim
3llm · market
2cost · decision · proof · risk
1truth
0vendor

A module imports only from its own layer or below. The deterministic core (truth, cost, risk, decision, backtest) may not reach llm, agents at any depth: numbers are computed, never asked for.

Dependency cycles

Each is real coupling. "Safe at load" means one direction is a deferred import, so the modules load in either order; a cycle that breaks at load would fail the check.

Packages

Instability is efferent / (afferent + efferent): 0 is depended on and depends on nothing, 1 the reverse. The core sits at the stable end on purpose.

PackageModulesUsed byUses Instability
cost23500.0
sim4200.0
truth1528800.0
vendor300—
market3913830.021
llm83010.032
backtest73620.053
decision52820.067
risk123630.077
desk3160120.167
paper1343100.189
execution192560.194
proof2410.2
research282680.235
lui7132110.256
agents171990.321
strategies3420.333
status1130.75
eval2555170.773
demo4180.889
register6031.0

Checked 2026-09-28 00:42 UTC by eval/architecture.py, which the public CI runs on every push; the artefact is data/architecture.json.

Top ↑