Tracking
Context
A direct swap is unsafe. The fields are read across src. The safe path runs the kernel beside the fields. The fields stay authoritative. This issue adds the parts that later issues use. It changes no behavior.
Developer Notes
Exit criteria: the helpers and the projection exist and are unit-tested. No write site uses them yet. Behavior is unchanged.
Reversibility: additive.
Tracking
docs/architecture/task-lifecycle-target-architecture.md(not yet onmain)docs/architecture/task-lifecycle-run-state-kernel-tickets.md(not yet onmain)Context
A direct swap is unsafe. The fields are read across
src. The safe path runs the kernel beside the fields. The fields stay authoritative. This issue adds the parts that later issues use. It changes no behavior.Developer Notes
run: RunStatefield toTask. It always runs. It is not gated.nextRunState. Keep the field authoritative.RunState. [lifecycle-RSK] RSK-05: Add the divergence comparison and a metric #1795 compares against it.runfor control flow.Exit criteria: the helpers and the projection exist and are unit-tested. No write site uses them yet. Behavior is unchanged.
Reversibility: additive.