# Mark a phase that is not yet executable ## Intention I want to mark explicitly the boundary of a future computation round. Classes of acts with successive rounds need a marked boundary for a future computation round. A stage is reserved; it is not an executable phase. ## Incorrect form and why it stays silent An empty stage cannot be treated as a safe comment while expecting inference to continue. A non-empty body is also forbidden. ```text title="Incorrect form" stage NextRound { assert ready(); } ``` ## Correct form The correct reservation form is an empty body. That is a compilable mark of non-executability, not a working round program. ```law language "law.core" version "0.2"; package recipes.n.r14 version "0.1.0"; namespace "urn:recipe:n-package:14"; relation ready(); assert ready(); stage NextRound {} ``` ## Frozen execution scene | Facts | Question | Answer | |---|---|---| | ready(), program with stage | ready() | NON_EXECUTABLE_STAGE | ```law test "reserved stage halts document" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } } evaluate truth(ready()); expect issue(NON_EXECUTABLE_STAGE); } ``` ## Counterfactual The scene pins exactly the fatal boundary. The teaches mutation nests an assert in the stage body: a syntactic rejection. Removing stage is needed for execution, but it does not replace future phase semantics. ## Boundary In 0.2 there is no round index and no local stratification. Working stratification belongs to book V; local rounds belong to future 0.3. ## Pitfall Even an empty stage stops the document with NON_EXECUTABLE_STAGE. “Write the body later” cannot be left in an executable package as a no-op.