When to Use
When implementing state transitions in the CLI (publish, deprecate, verify), resolving CRDT merge conflicts on the status field, or validating that a unit’s lifecycle state is reachable.The 6 States
| State | Version | Meaning |
|---|---|---|
| draft | 0.x.x | Work in progress, not importable by stable units |
| review | 0.x.x | Validation passed, PR opened |
| stable | 1.0.0+ | Published, Blake3 verified, visible in MERIDIAN |
| deprecated | any | Retired with —reason and —successor |
| tampered | any | System-detected Blake3 mismatch |
| tombstoned | any | Terminal. Remains addressable but not importable |
Valid Transitions
CRDT Merge Ordering (AC-02 Corrected)
When two replicas disagree on a unit’s status, the more restrictive state wins:merge(stable, draft)→stable(index 3 < 5)merge(tampered, stable)→tampered(index 2 < 3)merge(tombstoned, anything)→tombstoned(index 0 wins always)
tampered from this ordering. AC-02 corrected this. Without the correction, a tampered unit could be silently overridden by a stable merge.