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, toolsbalthasar
memory, in its own processmelchior
the model, and other agentscasper
tools, and the screen they draw onWhat holds the shape
Every one of these runs on the way to main, in all four repositories.
| gate | what it forbids |
|---|---|
| no cycles | two top-level modules that depend on each other. This is what a reachability check cannot catch: a cycle is maximally reachable. |
| one wire | a second way of saying the same thing across a boundary |
| independence | any file in a sibling naming a harness |
| 800 lines | a source file bigger than one sitting |
| reachable | a file nobody declares — not a compile error, not a warning, and never run |
| hermetic | anything left behind in the temporary directory, checked under one of its own |
| no model needed | a memory test that only passes with a key and a network |
| no dead weight | a declared dependency the code does not use |