soma.cell

E0058: task_transition_before_think

E0058 task_transition_before_think — a [task] handler transitions before its last think().

A compile-time error of soma check, the checker of the Soma programming language (soma explain E0058).

The rule

In a [task] handler, a transition() that runs before a think() is replayed if the process crashes during the wait, and the edge is then already taken, so the task fails with an invalid transition. soma check 3.1.0 reports this as the warning W0014 rather than under E0058. Transition after the last think(), or guard it with if get_status(id) != "…" { transition(…) }.

When you see it

This [task] lint is raised with its habit flag set, so soma check 3.1.0 always reports it as the warning W0014 (habit_warning), never under this code — in edition 2026 and in edition 2027 alike. No program makes soma check print it.