You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: malformed listener is silently ignored; doc/comment cleanup
Round-6 follow-ups:
- `Listener.safe_invoke/3` gains a final catch-all clause that returns `:ok`
instead of raising `FunctionClauseError` when the runner state is
configured with a value that is neither `nil`, a bare atom, nor a
`{module, extras}` tuple. This honours the module's documented promise
that "the runner never lets a misbehaving listener stop or destabilise
an enactment". A dispatch-test case asserts a string listener is silently
ignored without crashing the enactment.
- `lib/coloured_flow/dsl/spec.md`:
- Narrow the "requires `:storage`" sentence to `setup_flow!/0` and
`insert_enactment!/{1,2}`; `start_enactment/{1,2}` works without
storage as long as the caller supplies an enactment id.
- Soften the compile-error claim — only duplicate-name and
missing-colour-set violations are remapped to the originating macro
callsite; other validator errors fall back to the `defmodule`
callsite.
- `lib/coloured_flow/dsl/builder.ex` comment for `compile_transition_action/2`
now references the actual generated arity (`__action_for__/5`).
- `lib/coloured_flow/dsl/function.ex` moduledoc renamed to `function/1`
and `function/2` to match the actual macro arities.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
0 commit comments