State machine
The Delivery State page defines the situation of a demand as a representation that can combine several dimensions. This page makes one possibility concrete for DU-001. It separates the unit’s lifecycle, the situation of each stage, and the decisions that condition continuing, so that everything is not squeezed into one sequence of labels.
The labels and transitions here belong to the example. They are not new canonical terms, not an exhaustive technical specification, and not an implementation the model requires. They remain open to revision and adaptation by context.
A composite state
Section titled “A composite state”The reference combines four pieces of information. The lifecycle label gives a summary; the other dimensions explain what is going on.
Delivery State of DU-001 lifecycle: the overall situation of the unit stages: situation and revision of S1 to S5 commitments and offers: scope, decisions on C0 and C1, and options not contracted pending items: the condition, the work affected, and the authority or action neededThe unit can be active while S4 waits for access. Active does not mean every activity is running; it means the commitment is being followed and there has been no full pause or closing. Nor does the current stage show authorization: preparing S3 does not indicate that C1 was approved. That is checked in the commitment dimension.
The unit’s lifecycle
Section titled “The unit’s lifecycle”| State | Meaning |
|---|---|
| Registered | The demand exists; no work has been activated by a valid commitment yet. |
| Active | A commitment is being followed, with execution, evaluation or decisions pending. |
| Suspending | A full pause was requested; work and effects still need confirming. |
| Paused | The pause is confirmed, with references kept for a possible resumption. |
| Closing | There is a decision to close; effects, obligations and the final result are being checked. |
| Concluded | The commitments assumed were met and closing confirmed, with the scope stated explicitly. |
| Interrupted | A commitment assumed was closed without being fully met, with effects and obligations recognized. |
On the route with C1, concluding means booking is deployed and that commitment’s final conditions are met. If only C0 was contracted and fulfilled, the decision not to build allows the unit to conclude with a discovery result; the record states that the aspiration of reaching production was not carried out, without classifying it as a broken obligation. The terminal scope must be explicit: “discovery concluded” and “booking deployed” are different results. That distinction stops intermediate outputs from inflating counts of software delivered, and stops an informed decision not to continue from being counted as a failure of the service.
Lifecycle transitions
Section titled “Lifecycle transitions”A transition depends on an event, an authority and conditions, and the record identifies its basis as well as its destination.
| From | Event and condition | To |
|---|---|---|
| Registered | C0 authorized and tracking activated. |
Active |
| Active | An authorized request for a full pause. | Suspending |
| Suspending | Relevant executions stopped or finished, effects known, references kept. | Paused |
| Paused | Resumption authorized, with the conditions in force re-evaluated. | Active |
| Active or Paused | An authorized decision to close, as a proposed conclusion or an interruption. | Closing |
| Suspending | A decision to close replaces the pause request; effects still need confirming. | Closing |
| Closing | The result of the contracted scope accepted, references in force, closing obligations met. | Concluded |
| Closing | Interruption authorized, effects confirmed, remaining obligations dealt with. | Interrupted |
| Closing | Closing declined and continuation authorized, after checking the conditions. | Active |
These closing transitions apply to units that assumed at least C0. A registered request that leads to no purchase is archived as an entry without a contract, with its reason when known. It stays out of counts of commitments fulfilled or interrupted, and gets no success or failure label for not buying, though its handling effort still belongs in the economic analysis of the service.
There is no direct move from a pause request to a confirmed pause while relevant actions have an unknown situation; the same care applies to closing. Final states are not reopened silently. A correction of the record itself needs a preserved justification, and additional work is related to a new commitment and, where appropriate, a new linked unit.
The situation of each stage
Section titled “The situation of each stage”These situations apply to the current revision of a stage; its history keeps earlier executions and outputs.
| Situation | Operational meaning |
|---|---|
| Not contracted | The stage is a possibility, outside the commitments assumed. |
| Awaiting conditions | An input, authorization, resource or condition needed for the next action is missing. |
| Ready | Start conditions are verified, but execution has not begun. |
| In execution | An assignment is confirmed and the transformation is under way. |
| In evaluation | An output is available and an acceptance examination is under way. |
| In revision | A divergence or change needs handling before a new evaluation. |
| Accepted | The identified revision of the output was accepted within the contract’s scope. |
| Interrupted | The stage’s work was closed by decision, with its effects recognized. |
A wait should say which action is blocked. If evaluation is waiting for an environment, the record keeps the output available and states that the next step is to evaluate; it does not suggest that the production disappeared. Acceptance refers to a revision: a later change can make it inapplicable to continuing without erasing the historical decision.
Stage transitions
Section titled “Stage transitions”In all of these, the unit must allow the action and the commitment must cover the work.
| From | Condition or event | To |
|---|---|---|
| Not contracted | A commitment now covers the stage; conditions still to be checked. | Awaiting conditions |
| Awaiting conditions | Inputs, authorization and start conditions confirmed. | Ready |
| Ready | Assignment confirmed and start recognized. | In execution |
| Ready | A needed condition no longer holds. | Awaiting conditions |
| In execution | Output identified and evaluation started. | In evaluation |
| In execution or In evaluation | Obstacle confirmed, affected work stabilized, next action identified. | Awaiting conditions |
| Awaiting conditions | An evaluation obstacle resolved; output and criteria still apply. | In evaluation |
| In evaluation | Criteria met and accepted by a competent authority. | Accepted |
| In evaluation | A divergence, or an input to revisit, identified. | In revision |
| Accepted | A relevant change requires handling the current revision; the earlier acceptance stays in the history. | In revision |
| In revision | Correction or new execution authorized, conditions checked. | Ready |
| Any situation of contracted work | Interruption authorized and relevant effects confirmed. | Interrupted |
If a revision needs a business decision, the stage does not return to Ready automatically; the pending item has to be resolved or the work re-bounded by a competent authority. An evaluation that is inconclusive for lack of information also records its reason, and leads to waiting or revision depending on the action needed. It is never read as acceptance.
Commitments and pending items as conditions
Section titled “Commitments and pending items as conditions”C0 and C1 keep their own decision, scope and reference in force, with situations such as proposed, authorized, under revision or closed. They do not replace the unit’s lifecycle or the stages’ acceptances. Authorizing C1 enables the economic work of S3 to S5, but it does not remove technical dependencies, and permission for production remains a specific condition of S5. A pending item records its reason, the work affected, the next routing and who can resolve it; resolving it needs enough information to recognize that the condition changed, not a generic “unblocked”. If a change needs an additional commitment, the dependent work waits for the decision, while independent authorized parts can continue.
Repeated events and unknown results
Section titled “Repeated events and unknown results”A repeated notification of completion must not start a second evaluation or a duplicate charge; coordination relates each event to its execution and revision and recognizes what was already recorded. An old result can arrive after a revision; it stays historical information and authorizes no transition on the current output without checking relevance. When an action’s result is unknown, the operation records that and seeks confirmation. No response does not authorize an indiscriminate Retry: in S5, one checks whether the change was already deployed before repeating it. A pause or interruption requested during execution is not a confirmation that work stopped.
Applied to the validation return
Section titled “Applied to the validation return”On the main path, the unit is active and S3 is accepted on the first revision of A3. S4 is awaiting conditions because integrated access is pending. Once access is granted, S4 becomes ready, runs the validation and produces results for evaluation. The divergence, two overlapping bookings for the same professional, moves S4 to in revision and removes the earlier implementation’s sufficiency for continuing.
S3 moves to in revision, keeping the earlier Q3 in the history. Because C1 covers the correction under the same rule, a new execution can be prepared, and the corrected output is evaluated and accepted again. S4 then repeats the relevant work against the new reference of A3 and receives Q4 when the criteria are met. None of these events concludes the unit or authorizes production automatically.
Offers, partial selection and commitment
Section titled “Offers, partial selection and commitment”An offer keeps its identity, validity, scope and dependencies, with situations such as presented, being adjusted, accepted, declined or expired. Deferring a decision records a wait; it does not turn an offer into authorized work. Buying C1 is a decision about the option chosen, not about every possibility discussed during discovery.
| Event in the case | Commitment and stages | Economic consequence |
|---|---|---|
C0 accepted, no decision yet on construction |
Discovery fulfilled; S3 to S5 not contracted. |
Contracted price of 20; the next offer remains an option. |
| Adjustment requested on the offer | Offer being adjusted; no construction starts because of the request. | A revised price is not an automatic authorization. |
| Booking accepted at 80 | C1 authorized; S3 to S5 await their conditions. |
Aggregate contracted 100; balance of 10 in the additional mandate of 90. |
| Alternative with reminders at 95 declined | Reminders stay outside the commitment. | The amount exceeds the additional mandate; that offer authorizes no consumption. |
Decision to close after C0 fulfilled |
Closing, then concluded with a discovery result. | C0’s obligations dealt with; no construction recorded as sold. |
Decision to stop an incomplete C1 |
Closing, then interrupted if confirmed. | The active agreement and its effects are dealt with, without erasing what was assumed. |
The partial approval in the case chooses a complete, verifiable feature. If a selection left dependencies uncovered, coordination would ask for adjustment before accepting the commitment. The state can show items proposed and items contracted without adding them up as if all were approved. Deferring a new purchase is not pausing an active commitment: pausing C1 means recognizing work in progress, while not buying C1 lets C0 end without any suspension. That difference must also show up in measures of conversion, abandonment and success.
Human or delegated transitions
Section titled “Human or delegated transitions”The same conditions hold in hybrid and autonomous configurations. A delegated economic authority can accept 80 within the mandate; an authorized evaluator can grant Q4; an environment policy can allow S5. The event records the corresponding scope, and the Orchestrator does not acquire these powers merely by applying a transition. Revoked delegation, an expired offer or a changed reference require revisiting the affected action, and an implementation must stop concurrent decisions from consuming the same balance twice or a late confirmation from reactivating closed work. See Mandates.
A concluded unit keeps its context and artifacts for possible continuation. A new purchase is explicitly linked to that history and checks that it is still current; it does not retroactively turn the discovery into an incomplete construction. That discipline allows recurring service without depending on one continuous session or on an executor’s memory.
Software Delivery as a Service is a proposed model by Renan Deves and Marcelo Scheidt, Independent Researchers. See the paper for citation and license.