[2026-08-25] - v0.2.1
Fixed
normalize_result_to_map/2inOrchid.Hook.ApplyInterventionspaired step outputs with out keys positionally (Enum.zip(out_keys, params)), butout_keyshad already passed through MapSet normalization, destroying the declared order. On multi-output steps this mis-paired the inner data handed to merge-type interventions (override-type interventions were unaffected since they never read the inner data). Params are now paired byParam.name— which the core hook has already aligned with its out key — with the positional zip kept as a fallback for raw (non-Param) results.
[2026-06-28] - v0.2.0
Breaking
- Removed
short_circuit?/0callback fromOrchidIntervention.Operatebehaviour. It is now derived automatically fromdata_enable/0: returnstruewhenuse_inner?isfalse(i.e. the step output is not needed for the merge). CustomOperatemodules only need to implementdata_enable/0andmerge/2.
Added
OrchidIntervention.Operate.short_circuit?/1— public function that derives the short-circuit decision from a module'sdata_enable/0.
Changed
Orchid.Hook.ApplyInterventionsnow callsOperate.short_circuit?/1instead of invoking the callback directly.OrchidIntervention.Operate.Overrideno longer implementsshort_circuit?/0(derived fromdata_enable/0 = {false, true}, unchanged behaviour).
Removed
@callback short_circuit?/0fromOrchidIntervention.Operate.
v0.1.x
Initial release.