Why Living Systems Need Version Control, Not Just Laws
Hatched by Dhruv
Apr 26, 2026
10 min read
4 views
89%
The real question: how do you describe a system that is always changing the rules?
Most of our best models for reality assume a quiet kind of stability. A system has states. The laws governing those states stay fixed. If you know the inputs, you can predict the outputs, at least in principle. That works beautifully for many problems. But it begins to fail in exactly the places where life becomes interesting: cells adapting, tissues reorganizing, economies reacting, organisms learning, teams collaborating, and histories accumulating.
Here is the deeper tension: what kind of mathematics can describe a world where the system is not only moving, but rewriting the meaning of its own movement?
That is the shared challenge hiding beneath biology, computation, and software versioning. A living system is not just a thing with dynamics. It is a thing whose dynamics are shaped by memory, energy, and irreversible change. Git, strangely enough, gives us a useful metaphor for this. Not because biology is literally code, but because both systems demand a way to represent change without losing the trace of what came before.
The hard problem is not motion. It is motion with memory, and memory with consequences.
Why fixed laws are the wrong starting point
Classical math excels when the world can be idealized as a closed machine. If a pendulum swings, a planet orbits, or a rigid body rotates, the same equations apply at every moment. The state space is fixed, the rules are fixed, and time mostly serves as a parameter that moves the system forward.
Living systems do not behave that way. They consume energy, maintain order by dissipating it, and constantly adjust in response to their environment. A cell is not simply relaxing toward equilibrium. It is using flow, noise, and chemical work to stay alive. A tissue is not a static object, but a coordinated process. Evolution is not a trajectory on a finished map. It is the continual redrawing of the map itself.
This is why a focus on equilibrium can be misleading. Equilibrium math asks, in effect, what happens when everything settles down. But biology asks a different question: what patterns can persist only because they never fully settle? That single shift changes everything. It pushes us toward entropy production, fluctuation theorems, active matter, and other tools that treat energy use not as a nuisance, but as part of the explanation.
A simple analogy helps. Imagine a city. Classical mechanics would be like describing every building in perfect isolation, as if the streets, traffic, utilities, weather, and laws never changed. Living systems are more like cities during a festival, a strike, or an emergency. The roads matter. The timing matters. The historical sequence matters. And the system’s behavior is not captured by one frozen snapshot.
That is the first lesson: for adaptive systems, the law is not just what happens, but what can keep happening after the system has changed itself.
Git accidentally teaches a philosophy of memory
Git seems, at first glance, like a completely different topic. It is a tool for storing files, tracking changes, and recovering past states. Yet its deepest design choice is philosophically revealing: it does not treat identity as a file name, but as a content address. In other words, what matters is not merely what something is called, but what it is made of at a particular moment.
That shift is profound. Git stores objects by hash, which means the system can detect corruption, preserve history, and represent each version as a durable snapshot. Modified, staged, committed: these are not just workflow labels. They are a model of how systems manage becoming. A file exists in relation to its past and to the future commit it may enter. The current state is never the whole story.
This gives us a powerful metaphor for biology and other adaptive systems. A living system also has layers of status. Some changes are transient. Some are prepared but not yet integrated. Some are stabilized into the system’s identity. Cells do not merely react. They stage, commit, and sometimes discard candidate states. Development does not unfold as a single deterministic line. It passes through checkpoints, branch points, and irreversible decisions.
Think about differentiation in embryology. A stem cell does not become a neuron in one leap. It moves through partially committed states, where some options remain open and others close. In Git terms, the system is not simply “edited.” It is being staged toward a future that narrows the space of possibility. That is exactly what makes development historical. Once a commit is made, the previous state is still available for inspection, but the live path forward has changed.
History is not storage. History is constraint.
This is where the analogy becomes more than cute. Both Git and living systems encode a practical truth: to manage change, you need a representation that preserves lineage, not just the present state. If you lose history, you lose interpretability. If you ignore staged transitions, you mistake plasticity for stability. If you treat every state as isolated, you cannot understand how a system learned to become what it is.
The missing math is not more equations, but better state concepts
It is tempting to say that complex systems need more advanced math, full stop. But the deeper issue is not just complexity. It is ontology. The old models assume that a system has a fixed space of possible states, and then something evolves inside that space. Adaptive systems violate that assumption.
A cell under stress may change which variables matter. An immune system does not merely update beliefs, it expands its repertoire. An ecosystem alters the relevance of its own interactions. In these cases, the hard part is not predicting motion inside a stable frame. It is representing how the frame changes.
This is where the idea of path dependence becomes central. In many systems, two identical-looking states are not actually equivalent if they were reached by different histories. A protein folding landscape, a developmental decision, a software repository, and a social network all exhibit this. The past is not a record of what happened. It is an active component of what is possible now.
Git again offers a clean illustration. Two branches may contain similar files, but the merge history determines what can be reconciled cleanly, what conflicts appear, and what identity the repository retains. The current snapshot is informative, but the commit graph is decisive. Likewise, two cells can share many molecular markers and still differ dramatically because one has crossed a threshold, accumulated damage, or passed through a developmental branch that the other never saw.
This suggests a useful mental model: adaptive systems are not state machines first. They are history machines first. Their present behavior is a compressed expression of earlier decisions, constraints, and energy expenditures. To model them well, one must track not only variables, but also the rules by which variables become meaningful.
There is an important implication here for scientific explanation. In a stable system, explanation often means deriving one state from another through fixed laws. In a history-shaped system, explanation also means reconstructing how the space of possible states was itself altered. In other words, you do not only ask what happened. You ask what became impossible because of what happened.
Energy is not background noise, it is the price of maintaining identity
One of the most striking insights from non-equilibrium thinking is that order in living systems is not free. It must be purchased continuously. A cell keeps its gradients, a tissue preserves its structure, and an organism sustains its organization by expending energy. That expenditure is not a side effect. It is part of the mechanism.
This matters because equilibrium thinking often treats dissipation as loss. In living systems, dissipation is also information processing, error correction, and coordination. The system remains far from equilibrium precisely because that distance allows it to do work. A flame, a metabolism, and an active tissue are all stable in a dynamic sense, but only because they are consuming fuel and exporting entropy.
Here a new synthesis emerges. Git’s content-addressed storage is a way of paying attention to integrity. It ensures that what is committed remains exactly what was intended. Living systems, by contrast, must pay attention to integrity while also tolerating mutation, repair, and adaptation. They are not looking for perfect preservation. They are managing selective persistence.
That is a crucial distinction. A repository is valuable because it preserves exact versions. A cell is valuable because it preserves function, sometimes by changing the exact molecular details that implement that function. The relevant invariant is not literal sameness. It is functional continuity through material change.
Consider the immune system. It does not know the future pathogens it will face, so it cannot hard-code every response. Instead, it maintains a mutable archive of encounters and uses that archive to shape future reactions. This is not unlike a repository with branches, merges, and tagged releases. The system is not merely remembering. It is building a future from remembered disruptions.
Living order is not the absence of change. It is the disciplined use of change.
A practical framework: snapshots, staging, and commitments in adaptive systems
If these ideas are true, then one useful way to study complex systems is to ask three questions, borrowing the logic of version control.
1. What is the current snapshot?
This is the visible state of the system: gene expression levels, social norms, software behavior, market prices, or structural organization. Snapshots matter because they tell us where the system appears to be now.
2. What is staged but not yet committed?
This is the space of latent change. In biology, it might be pre-activated signaling pathways, epigenetic priming, or partial differentiation. In organizations, it might be an emerging norm, an unspoken shift in incentives, or a policy waiting on approval. These are the changes that are already influencing the future, even if they are not yet fully realized.
3. What has been committed into identity?
These are the changes that have become durable. They alter the system’s path dependence. Once committed, they constrain future options. A developmental fate decision, a neural learning trace, a software release, or a social trauma can all function this way.
This framework is useful because it prevents a common mistake: confusing a system’s present appearance with its actual dynamics. A committed state may look stable, but the system may still be actively staging a response. A modified state may look temporary, but it may be the beginning of irreversible reorganization.
For scientists, this means looking for transition states, not just endpoints. For managers, it means noticing weak signals before they solidify into culture. For product teams, it means recognizing that a prototype is not just a draft, but a rehearsal for a future architecture. For anyone studying adaptation, it means asking not only what changed, but at what point the system became unable to return.
Key Takeaways
- Stop modeling adaptive systems as if they only move in fixed spaces. Ask whether the system changes its own rules, variables, or available options over time.
- Treat history as a causal force, not a record. In many systems, the path to a state matters as much as the state itself.
- Look for staged changes. The most important dynamics often happen before something becomes visible or official.
- Reframe energy use as part of organization. In living systems, dissipation helps maintain structure, function, and adaptability.
- Use the Git lens: snapshot, stage, commit. It is a surprisingly practical way to think about development, learning, organizational change, and biological adaptation.
The deepest lesson: identity is an edited file, not a frozen object
The oldest intuition in science is that the world contains things that change. The more subtle truth is that some things change by changing the terms of their own change. That is the challenge posed by life, learning, and evolution. They are not just moving through time. They are making time matter differently.
Git helps us see this because it does not reduce a project to one current file. It preserves a graph of commitments, reversals, branches, and merges. Non-equilibrium biology points in the same direction. A cell is not a static object but a sustained negotiation with entropy, memory, and uncertainty. Its identity is not a point. It is a managed sequence.
So the next time you look at a living system, resist the urge to ask only, “What state is it in?” Ask something more interesting: What has it already committed to becoming, and what has that commitment made impossible?
That is where the real mathematics of history-shaped systems begins. Not with motion alone, but with the architecture of irreversible choice.
Sources
Hatch New Ideas with Glasp AI 🐣
Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)
Start Hatching 🐣