Status lifecycle
An artifact's status controls what actions are available on it and whether downstream artifacts can generate. The lifecycle runs from Draft through approval to either Approved or Superseded.
Statuses
The status filter also shows Locked (locked). Locked artifacts behave as Approved for every dependency check and knowledge-base lookup. The code treats approved and locked as one group for all retrieval and dependency logic; the filter shows them separately for visibility.
archived exists in code as a terminal status but no UI action archives an artifact. Do not confuse it with Superseded.
Transitions
The valid transitions are:
Dependency gate
An artifact in Draft cannot be submitted for review if any artifact it lists as a dependency (depends_on) is not yet in approved or locked status. Attempting to submit names the blocking dependency in the error.
This gate keeps each document in the pipeline building on approved foundations before it enters review.