"""Cross-stage producer transitions.

A transition translates one stage's output into another stage's contract.
It is owned by neither endpoint stage but by the boundary between them
(see DECISIONS.md).
Transitions may skip stages and may run backward relative to
pipeline order: the element-lock builder produces an
s070 resolution artifact from s080 generated records.

A transition is identified by its target: the concern whose contract it
produces and is verified against.
The source may be any stage and may vary;
the target is invariant, so modules are organized by target stage.

transitions/sNNN_<target_concern>/sMMM_<source_concern>_to_<artifact>.py

The folder names the target.
The filename names the source-to-target direction and the artifact,
so a skipping or backward source stays explicit.

This layer is permitted to import the stage packages it connects.
Stage packages and pipeline vocabulary must not
import `accountable_record.transitions`.

Dependency direction is one-way:
commands -> transitions -> stages -> base
"""
