What this screen does
Lifecycles holds one transition table for every status attribute in your locked specification. A status attribute is a field whose name reads like a status — status, state, stage, phase, step, progress — and that offers at least two values in the data model. "Order · status" with the values draft, placed, shipped and cancelled is one; a field with a single value has nothing to transition between, so it never appears here.
Each table says four things about that attribute: which states exist, which of them a record starts in, which of them it can end in, and every legal move between them. A move names where it goes from, where it goes to, who may make it, what triggers it, and what has to be true first. Every move also carries its evidence — stated, implied or proposed — with the sentence from the specification it was drawn from, so you can tell what was written down from what was inferred.
A table is a proposal until you confirm it. Only a confirmed table reaches the generated application. A proposed one is documentation: useful to read, never enforced.
Typical workflow
- A full agent run draws the lifecycles for you, after the user guide and before the data model. It asks only for the attributes that have no table yet or whose last attempt failed, so resuming a run never pays twice for the same table. Untick Draw the lifecycles in the launcher to leave the step out.
- If you are working without the agent, Draw Lifecycles on the tab does the same thing for this specification version.
- Read the tables attribute by attribute. Where the model was unsure it asks a question instead of guessing. Answer it in the box and use Re-ask with answers — that redraws just that one attribute, with your answers in hand.
- Correct what is wrong directly: add or remove a move, change who is allowed to make it, mark which states are the starting and finishing ones. Editing a table voids its sign-off — it becomes a proposal again and has to be confirmed once more. Answering a question does not.
- Confirm each table you are happy with. From then on the generated application enforces it.
- If the entity diagram's option list for that attribute is missing one of the table's states, use Copy states to the diagram. The generated application reads its options from the diagram, so without this it cannot enforce the states the table names.
Examples & tips
- Regenerate redraws the proposed tables and leaves every confirmed one alone — a sign-off is the point of the feature, and re-asking would only spend credits to undo it. To redraw a table you have already confirmed, use Re-ask with answers on that attribute and confirm it again.
- If one attribute fails while the others succeed, it keeps the table it already had — yesterday's answer beats an empty one — and Retry asks for that attribute alone.
- Confirm the tables that decide money, access or irreversibility first: "who may move an invoice from approved to paid" is the kind of rule that is expensive to discover after launch.
- On the Entities diagram, a governed attribute carries a small badge showing how many moves its table has, so you can see at a glance which statuses are still ungoverned.
- Spell the states in the data model the way your users say them. They become the option list, the table's rows and the wording of the generated screens.
- If the specification changes after a table was drawn, the tab flags it: the states may no longer match, and the table is worth a second read before you trust the old sign-off.