Lifecycle Model
The chain
A change usually travels from a problem to a corrective action, and the corrective action feeds the next change. The chain has two halves. Software engineering takes an idea from a problem to a release. Reliability engineering starts when a release breaks something and ends with a corrective action. Each stage is recorded as one or more events, and each event links back to the one before it. A stage can be skipped (a hotfix may have no proposal).
Software engineering
- Problem
problem.reportedA need, defect, or request. Usually where a story starts. - Proposal
proposal.recordedA proposed solution and its alternatives, including the rejected ones. - Decision
decision.madeWhat was decided, on what terms, and who owns the call. - Implementation
change.implementedThe change itself, tied to the reasons it exists. - Verification
verification.completedTests and checks, with the report as evidence. - Release
release.deployedA version reaching production: the moment a change can affect users.
▲ Corrective action → the whole of software engineeringThe outcome re-enters at any stage, from Problem to Release.
Release → Incident ▼A release reaches production, and the incident is observed after it.
Reliability engineering
- Incident
incident.openedSomething broke. Linked to the release it followed, and to the change suspected of causing it. - Mitigation
mitigation.appliedA temporary measure that reduces impact, such as a feature flag. - Rollback
rollback.executedA release reverted, then recovery checked. - Postmortem
postmortem.publishedThe review of an incident, so the team learns from it. - Corrective action
action.trackedWhat will be done so it does not recur. It feeds the whole of software engineering, and its outcome decides where it re-enters.
Stages
| Stage | Type | Who | What |
|---|---|---|---|
| Problem | problem.reported | A person, or an issue tracker | Records a need, defect, or request. Usually the start of a story, so it has few links, or a relates_to link to a similar report. It gives every later event something to point back to. |
| Proposal | investigation.completed, proposal.recorded | An AI agent on behalf of a person | Records a proposed solution and the alternatives. Links: investigates and motivated_by the problem. It keeps the rejected options, not only the one chosen. |
| Decision | decision.made | A person, or a chat or tracker integration after a person confirms | Records what was decided and on what terms. Link: decides a proposal. It shows who owns the call, so nobody digs through a thread. |
| Implementation | change.implemented | A pull request or commit collector, with sources attached | Records the change itself. Links: implements the proposal, relates_to the decision. It ties the code to the reasons it exists. |
| Verification | verification.completed | CI | Records tests and checks, with the report as evidence. Link: verifies the change. A reader can trust the change without rerunning it. |
| Release | release.deployed | A deployment system | Records a version reaching an environment or a share of traffic. Link: releases a change. It marks the moment a change can affect users. |
| Incident | incident.opened | An alert or an incident tool | Records that something broke. Links: observed_after a release, caused_by a change (often a hypothesis at first). It points at the suspected cause while facts are still coming in. |
| Mitigation | mitigation.applied | A person | Records a temporary measure that reduces impact, such as a feature flag. Link: mitigates an incident or a problem. It shows how impact was limited before a real fix. |
| Rollback | rollback.executed, recovery.verified | A person, or a deployment system | Records that a release was reverted, then that recovery was checked. Links: reverts the release, mitigates the incident, verifies the rollback. It shows the system recovered, not only that someone acted. |
| Postmortem | postmortem.published | A person, or a document collector | Records the review of an incident. Link: follows_up the incident. It turns an incident into something the team learns from. |
| Corrective action | action.tracked | A person, tracked until a verified outcome | Records what will be done so the problem does not recur, and whether it was done. Link: follows_up the incident or problem. It stops the next release from repeating the failure. |
Confirm hypothesis
An agent can see a connection before anyone can prove it. Techlog records the guess honestly, and specific actions confirm it.
- GuessAn agent links an incident to a change as a hypothesis.
- ActReplay traffic, read a trace, inspect the code.
- ConfirmAn investigation links it again as confirmed, with evidence.
- FixThe corrective action follows up the incident.
Rules of thumb
- Events are append-only. A correction is a new event, and the old one may be given the status
superseded. - Links point backward in time, from the later event to the earlier one.
- Prefer a hypothesis you can later confirm over a confident claim you cannot support.
- Record evidence as references. The artifact stays in the tool that owns it.