The lattice
A truss is a rigid net of members in which load applied at any point redistributes through the whole structure. That is the mental image: change entering anywhere, and the whole repository settling around it.
Lattice is the concept the system is about — used in prose and specs, never as the wordmark. Three readings carry weight, and each one leaves a mark on the design.
Crystal lattice
Section titled “Crystal lattice”The structure shape-memory alloys return to. Bend one and it goes back — not because anything searched for the original shape, but because that shape is where the material is at rest.
Levinthal’s paradox tells the same story about proteins: one cannot search all its conformations, yet it folds in milliseconds, because the energy landscape is funnel-shaped. The system does not search for the settled state either; the shape of the landscape makes reaching it the path of least resistance. Settling should be downhill; staying strained should be uphill.
A graph of interconnected nodes
Section titled “A graph of interconnected nodes”Land a change anywhere and the whole thing answers for it.
Each node is an artifact-set — the artifacts that have to move together, whether that is three of them or one. Each edge is a connection: changing one of the two obliges a change in the other. It is a relation, not an arrow, so a change crosses it in whichever direction it arrived from.
What a connection does carry is a degree. A change to the spec rewrites almost everything downstream of it; a change to the end-to-end tests barely troubles CI. Two sets the same number of hops apart can therefore end up affected quite differently, and a change dies out where the couplings are loose rather than at some fixed radius. That unevenness is the whole reason a repository is survivable: if every connection carried a change at full strength, every commit would be a rewrite.
The sets are placed the way a lifecycle diagram places them, intent on the left and the running system on the right, because that is the arrangement a reader already knows. The placement is a convenience of the drawing and nothing more — no artifact-set is upstream of another. What the system holds is the edge set; where a node sits on the page it does not.
Which properties have to converge and which are free is the subject of Confluence.
Order-theoretic lattice
Section titled “Order-theoretic lattice”A lattice has a join: a unique least upper bound for any two elements. Merge into a join-semilattice is therefore confluent by construction. No two routes can reach different answers, because the answer is defined as the least thing above both.
The join is taken over criteria, not over states: criteria arriving by different routes combine to their union whichever arrives first, while several states can meet that union. Where criteria contradict each other, the union is a conflict that only a recorded decision resolves. The full account is on Join.
This is the reading the guarantee rests on, and buying it is what the rest of the model is for.
Where this goes
Section titled “Where this goes”The design worked out from these three readings — artifact-sets, connections, and the confluence guarantee they buy — begins at the model overview and runs through the rest of this section. None of it is built yet, and the parts still moving are marked as such.
The full naming and design argument lives in cyberuni/.github discussion #16, which is explicitly a work in progress.