Skip to content

Revisions

Each revision is immutable and represent changes to your Constellation on a timeline of changes.

A revision consists of a hash, a set of nodes, and a stamp. Each revision has at least one changed node, where changed means added, removed, or updated from the previous revision.

Each revision hash is calculated from the previous revision’s hash, the current revision’s set of nodes, and the current revision’s stamp. The hash is a SHA256 hash and contain 64 hexadecimal characters. Hashes can come in short format, which contain 8 hexadecimal characters. For example: e657d951e38282c5d907167295120f6b1281bef0462191f719129d302a69444e and e657d951

How hashes are calculated How hashes are calculated

How hashes are calculated

Each revision contains a stamp detailing who, when, and why a revision was made. Each node in a revision also contains a stamp, which can differ from the revision’s stamp.

All changed nodes (added and updated) will have their stamp set to the revision’s stamp. Removed nodes will not have their stamps updated seeing as they won’t exist in the new revision.

A stamp consists of 3 fields:

  • Author, usually following the pattern <name> (<email>). For example: Test Tester (test@example.com)
  • Timestamp, in ISO format. For example: 2026-01-02T12:30:15.750Z
  • Message, explaining what has been changed and why in imperative mood. For example: Bump node 12345678 to version 1.2.3 for API release