> For the complete documentation index, see [llms.txt](https://docs.diracinc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.diracinc.com/how-to-be-successful-in-buildos/concepts/instruction-lifecycle.md).

# Instruction lifecycle

This will cover review workflows and how to iterate on your existing instructions.

## Lifecycle of a work instruction

In BuildOS, a work instruction can be in one of three states:

* Drafting
  * Where an instruction lives while the drafting engineer makes changes.
  * Others can view the instruction in this state, but only the owner engineer can make modifications.
* In review
  * When a drafting engineer is satisfied with an instruction, they submit it for peer review.
  * This is where other engineers who have been given access to the project can review and approve the instruction.
* Approved
  * Once an instruction is approved, it is ready for use by operators.
  * All of the data in an approved instruction is immutable, and cannot be changed.

{% hint style="info" %}
A [subassembly](/how-to-be-successful-in-buildos/concepts/phantoms-and-subassemblies.md) has its own work instruction, so it moves through this lifecycle on its own. A phantom has no instruction of its own, and follows the lifecycle of the instruction that contains it.
{% endhint %}

## Instruction and revision naming

Each revision is given a name and a revision number. The name of an instruction is specified while creating the first revision, and cannot be changed once the first revision is approved.

All revisions are given a number, and future revisions of a work instruction will have incrementally increasing revision numbers.

## Iteration through revisions

If you wish to iterate on an instruction, there are two main ways to do so:

* Instruction revision:
  * This will create a new revision of a given instruction.
  * The new revision will start in the exact condition as the previous revision, and the revision number will be one more than the previous version.
* Model revision:
  * If you have a 3D model which is similar to the 3D model of an existing work instruction, you can create a model revision.
  * This will take work from the created instruction, and apply it to the instruction for the new 3D model.
  * The new instruction will have its own chain of revisions.
