Parent
#799. Design record: .scratch/render-execution-unit/spec.md — the end-state section.
What to build
Finish moving command derivation behind the machine: derive the rendered command, its display form, and the injected environment inside the actor's input closure, from context at fire time, and empty the execute event of them.
The pattern is already established in the same function — the output scope moved there in an earlier commit, and the artifact actor's input builder thirty lines below is the worked example. Nothing needs new wiring: context already carries the template variables, captured outputs, and FOR stack; the compiler already accepts the helper registry and folds it into evaluation options.
The result is that there is no forgeable command field on the event, and no brand to enforce — the value never exists outside the closure that consumes it.
Acceptance criteria
Blocked by
Parent
#799. Design record:
.scratch/render-execution-unit/spec.md— the end-state section.What to build
Finish moving command derivation behind the machine: derive the rendered command, its display form, and the injected environment inside the actor's input closure, from context at fire time, and empty the execute event of them.
The pattern is already established in the same function — the output scope moved there in an earlier commit, and the artifact actor's input builder thirty lines below is the worked example. Nothing needs new wiring: context already carries the template variables, captured outputs, and FOR stack; the compiler already accepts the helper registry and folds it into evaluation options.
The result is that there is no forgeable command field on the event, and no brand to enforce — the value never exists outside the closure that consumes it.
Acceptance criteria
pnpm run verifygreen;pnpm run test:mutate:changedreports no survivors in the changed ranges.Blocked by