NDO lifecycle
Ten stages, one forward chain, two escapes available from anywhere, and one stage that remembers where it came from. This table mirrors the Rust integrity zome: offering a transition the zome rejects would let a review approve a flow that cannot ship.
The table
| From | Accepts |
|---|---|
| Ideation | SpecificationDeprecatedEndOfLife |
| Specification | DevelopmentDeprecatedEndOfLife |
| Development | PrototypeDeprecatedEndOfLife |
| Prototype | StableDeprecatedEndOfLife |
| Stable | DistributedDeprecatedEndOfLife |
| Distributed | ActiveDeprecatedEndOfLife |
| Active | HibernatingDeprecatedEndOfLife |
| Hibernating | DeprecatedEndOfLife + its hibernation_origin |
| Deprecated | EndOfLife |
| EndOfLife | nothing โ terminal |
Two special cases
Deprecated needs a successor. The modal will not submit without one, because deprecating an object without naming what replaces it strands everything that depends on it.
Hibernating records its origin. A kiln pausing from Active resumes to Active, not to the top of the ladder. That origin appears as a fourth option in the modal, above the two escapes.
Open questions
- The modal is titled "Advance lifecycle stage" while three of its options retire the object.
- EndOfLife sits in a plain radio list beside Specification. Nothing marks it terminal, and there is no confirmation step.
- The successor picker needs two characters before it searches, with no hint that it will.