Skip to content
Onto2DGit History Identity Lab
Git History IdentityVerifying artifact

Native Git objects / exact local fixture / four identity regimes

Same tree.
Different past.

A final filesystem state does not uniquely identify the commit that carries it or the ancestry that produced it. Change the comparison rule without changing a single Git object.

Canonical resulttree(A2) == tree(B2)commit(A2) != commit(B2)ancestry(A2) != ancestry(B2)
Fixture...
Git objects...
Histories...
Experiments...
Object formatsha1 / independently checked

Interactive comparison

One fixture, multiple legitimate identities

Experiment and regime controls select a frozen result. They never rewrite the underlying object IDs.

LEFT HISTORY

...

...
Tree identitySAME

Left identity...

=

Right identity...

...

...
RIGHT HISTORY

...

...

Regime matrix

The answer changes because the question changes

Every row compares the same selected pair.

Evidence boundary

What this case establishes

The fixture uses real Git object construction and native IDs. It establishes state/history separation inside a bounded deterministic repository. It does not claim that commit ancestry is causality, and it introduces no Historical Load value.