Same class as #64, different authoring site.
The Gate type carries on_fail?: OnFailAction (types.ts), and QualityGates.pre_output is Gate[]. But the pre_output gate call sites compile via compileGateValidator(check, message) without forwarding on_fail, so spec-level gate recovery actions are lost in the compiled output. A runtime executing the compiled spec cannot recover what action a failing pre_output gate should trigger.
#64 fixed this for step.verification by carrying recovery semantics on the singular CompiledStep.verification (the CompiledVerification type). pre_output gates need the equivalent treatment.
Surfaced by CodeRabbit and cubic during review of #71.
Same class as #64, different authoring site.
The Gate type carries
on_fail?: OnFailAction(types.ts), andQualityGates.pre_outputisGate[]. But the pre_output gate call sites compile viacompileGateValidator(check, message)without forwardingon_fail, so spec-level gate recovery actions are lost in the compiled output. A runtime executing the compiled spec cannot recover what action a failing pre_output gate should trigger.#64 fixed this for
step.verificationby carrying recovery semantics on the singularCompiledStep.verification(theCompiledVerificationtype). pre_output gates need the equivalent treatment.Surfaced by CodeRabbit and cubic during review of #71.