Anchor · Versioning

Satoshium Anchor · Versioning

Versioning defines when change remains part of the same Integrity Reference and when change is material enough to require a new Integrity Reference with a new Anchor Identifier.

The central decision is not whether something changed. It is whether the integrity subject remains the same.

Versioning Question

Same integrity subject + changed Anchor-owned representation
→ new Anchor Version

New integrity subject
→ new Integrity Reference + new Anchor Identifier

Core Rule

Version when identity remains.
Create a new Integrity Reference when the integrity subject changes.

This rule preserves stable identity without allowing materially different integrity subjects to hide behind the same Anchor Identifier.

Source Artifact Version

Version assigned by the Source Institution to its own authoritative artifact.

External Authority

Anchor Version

Version of the Anchor-owned Integrity Reference while the underlying integrity subject remains the same.

Anchor Authority

Schema Version

Version of the machine-readable schema used to structure and validate the Integrity Reference.

Schema Authority

Algorithm Version

Version of a cryptographic algorithm or implementation where the Version materially affects reproducibility or Verification.

Method Metadata

Commitment-Method Version

Version of an external or composite commitment procedure, such as a timestamping, Merkle, transparency, or future Bitcoin commitment method.

Method Metadata

Canonicalization Version

Version of the transformation or serialization rules used to construct the Canonical Representation where those rules are Versioned.

Representation Metadata

Version Separation

Source Artifact Version
≠ Anchor Version
≠ Schema Version
≠ Algorithm Version
≠ Commitment-Method Version
≠ Canonicalization Version

These Versions may change independently.

Integrity Subject

The integrity subject is the combination of Source identity and governed representation that the Integrity Reference exists to preserve.

Source Artifact identity
+
Canonical Representation
+
Representation Boundary
=
integrity subject

The Integrity Method supports preservation of the subject. It does not define the subject by itself.

New Anchor Version

A new Anchor Version is appropriate when the Integrity Reference remains about the same integrity subject but Anchor-owned record content changes.

Likely examples include:

Correction of Anchor-owned metadata
addition of Verification history
addition or repair of publication location
Maintenance metadata update
provenance clarification that does not alter the governed representation
addition of external commitment evidence for the same integrity subject
schema migration preserving equivalent meaning

New Integrity Reference

A new Integrity Reference is appropriate when the integrity subject itself changes.

Likely examples include:

different Source Artifact
materially different Source Version selected as the new subject
different Canonical Representation
different Representation Boundary
changed canonical content
different artifact package
materially different governed serialization subject

A new Integrity Reference receives a new Anchor Identifier.

Source Artifact Version Change

A Source Version change does not automatically answer the Anchor Versioning question.

Source Version changed

determine whether the governed integrity subject changed

If the Source Version is merely metadata and the Canonical Representation remains identical, a new Integrity Reference may not be necessary.

If the Source Version changes the canonical content being preserved, the normal outcome should be a new Integrity Reference.

Representation Boundary Change

A material Representation Boundary change normally creates a new integrity subject.

Boundary A

Boundary B

Even if both boundaries come from the same Source Artifact, they may represent different integrity claims and therefore require separate Integrity References.

Canonicalization Rule Change

A canonicalization change requires careful analysis.

Rule change + same semantic Canonical Representation
→ may be Anchor Version or schema/method migration

Rule change + materially different Canonical Representation
→ new Integrity Reference

Production procedure should test whether the generated integrity subject remains equivalent.

Integrity Method Change

Changing the Integrity Method does not automatically create a new integrity subject.

For the same Canonical Representation, Anchor may add:

stronger digest
new signature
trusted timestamp
external commitment
future Bitcoin commitment

If the subject remains unchanged, this may be represented as a new Anchor Version or additional method evidence.

Algorithm Change

A cryptographic algorithm may become deprecated while the integrity subject remains the same.

same integrity subject
+ new algorithm evidence
→ new Anchor Version or additional method evidence

Historical algorithm evidence must remain preserved.

Schema Version Change

Schema migration alone should not create a new Integrity Reference when the underlying integrity subject and institutional meaning remain unchanged.

schema representation changes

integrity subject changes

A schema migration may produce a new Anchor Version if it changes the canonical Anchor record representation.

Correction and Versioning

Corrections usually operate through a new Anchor Version when the Integrity Reference identity remains valid.

same subject + Anchor error
→ Correction + new Anchor Version

If the error means the original record referenced the wrong integrity subject entirely, a new Integrity Reference may be required.

Version History

Anchor should preserve every production Version.

Version 1

Version 2

Version 3

Later Versions must not silently erase earlier production states.

Version Numbering

The Base Schema currently models:

anchor_version → integer beginning at 1

Initial production architecture therefore adopts simple sequential integer Anchor Versions:

1 → 2 → 3 → 4

Semantic Versioning is not necessary for the Integrity Reference itself unless later production proves otherwise.

Initial Version Model Frozen

Version 1

The first production form of an Integrity Reference is:

anchor_version = 1

Draft iterations before production assignment do not require permanent production Version history unless production procedure later establishes otherwise.

Version Increment Rule

A production Anchor Version should increment only for a governed change to the Anchor-owned Integrity Reference representation.

prior production Version
+ governed Anchor change
→ next sequential Anchor Version

Changes That May Not Require an Anchor Version

Purely external or derived changes may not require Versioning if they do not alter the canonical Anchor record.

website styling change
navigation change
regenerated non-canonical presentation
mirrored URL
unrelated Source metadata
transient interface state

Publication architecture should define which representations are canonical.

Decision Test

1. Did the Source Artifact identity change?
2. Did the Canonical Representation materially change?
3. Did the Representation Boundary materially change?
4. Is Anchor still preserving the same integrity subject?
5. Is the change only to Anchor-owned metadata, evidence, or structure?

If the answer to #4 is yes, use Versioning where appropriate. If the answer to #4 is no, create a new Integrity Reference.

Versioning and Supersession

A new Anchor Version and a superseding Integrity Reference are different.

same Anchor Identifier
→ new Anchor Version

new Anchor Identifier
→ may supersede prior Integrity Reference

Versioning and Lifecycle

Version and Lifecycle remain separate.

Anchor Version ≠ Lifecycle State

A new Version may remain active. A lifecycle change may occur without a new Version if the canonical record is not Versioned by that event.

Versioning and Publication

Publication should expose which Anchor Version is currently canonical while preserving access to prior Versions.

current canonical Version
+ preserved historical Versions

Continuity deserves a Version. A new subject deserves a new identity.