#64 added CompiledStep.verification (CompiledVerification | null) so recovery semantics survive compilation. But the executor (executor.ts, around line 263) still reaches into spec.steps[name].verification rather than reading the compiled field.
Wiring the executor to consume CompiledStep.verification closes the "compiled output is the execution plan" loop, so a runtime never has to reach back into the un-compiled spec. This is the consumer-side counterpart to the producer-side fix in #64.
Surfaced during #64 / #71.
#64 added
CompiledStep.verification(CompiledVerification | null) so recovery semantics survive compilation. But the executor (executor.ts, around line 263) still reaches intospec.steps[name].verificationrather than reading the compiled field.Wiring the executor to consume
CompiledStep.verificationcloses the "compiled output is the execution plan" loop, so a runtime never has to reach back into the un-compiled spec. This is the consumer-side counterpart to the producer-side fix in #64.Surfaced during #64 / #71.