lifecycle
The Lifecycle of id, or null if id is entirely unknown to this ledger. A known edge with no explicit register entry reads as Lifecycle.ACTIVE (the H1b default); the transitions prepare / activate / close / retire write the register explicitly.
This derived read is not the register value and is not monotone. An observer that has seen only a counter patch (e.g. delegate) but not the edge's prepare reads the default Lifecycle.ACTIVE; when the lagging prepare (carrying Lifecycle.PREPARED) later merges, the read regresses ACTIVE→PREPARED. The stored register itself is a monotone max-register (a real promotion never regresses); only the default-for-absent read is transient, and it self-heals once the edge's own lifecycle entry has arrived. Do not treat a single derived read as authoritative mid-convergence.