nervネルフ

Inside each program

The same question one level down: what depends on what, within a single repository. Read from the repositories rather than drawn by hand.

Foundations at the bottom, dependents above; an arrow points at what a thing needs. Box width follows line count, so the shape of each program is its real shape. Hover anything to light its edges. Dashed edges are test-only.

magi

harness — ui, host, turns, tools

balthasar

memory, in its own process

melchior

the model, and other agents

casper

tools, and the screen they draw on

What holds the shape

Every one of these runs on the way to main, in all four repositories.

gatewhat it forbids
no cyclestwo top-level modules that depend on each other. This is what a reachability check cannot catch: a cycle is maximally reachable.
one wirea second way of saying the same thing across a boundary
independenceany file in a sibling naming a harness
800 linesa source file bigger than one sitting
reachablea file nobody declares — not a compile error, not a warning, and never run
hermeticanything left behind in the temporary directory, checked under one of its own
no model neededa memory test that only passes with a key and a network
no dead weighta declared dependency the code does not use