Skip to content

Derive the command inside the actor input closure; empty the execute event #825

Description

@tobyhede

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

  • The execute event no longer carries the command, display command, or injected environment.
  • All three are derived inside the actor's input closure from context and compile-time-bound values.
  • The command still never reaches persisted context.
  • Command observation is unaffected — it now sources from the actor output.
  • pnpm run verify green; pnpm run test:mutate:changed reports no survivors in the changed ranges.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2: mediumFeature / architectural cleanupenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions