green.advice (namespace, line 1)
Emacs-style advice for step functions: the full set of nadvice
combinators, LIFO stacking (most recently added outermost) with an
optional :depth override, removal by explicit id.
Registries are plain maps of step-name -> vector of
{:id :how :fn :seq :depth}, so all operations are pure — advice is
workflow-scoped, not global. A workflow embedded via
green.workflow/step inherits its ancestors' advice at run time by
merging registries (see merge-entries); the values stay pure.
The :seq field is a caller-assigned monotonic add-order number; it lets
a step-scoped registry and a separate all-steps registry be merged and
sorted into one strict add-order stack (see green.workflow/run-step).
:depth (-100..100, default 0) overrides add order the way Emacs hook
depths do: lower pushes the advice outward, higher pushes it inward;
at equal depth the most recently added is outermost.
(ns green.advice
"Emacs-style advice for step functions: the full set of nadvice
combinators, LIFO stacking (most recently added outermost) with an
optional :depth override, removal by explicit id.
Registries are plain maps of step-name -> vector of
{:id :how :fn :seq :depth}, so all operations are pure — advice is
workflow-scoped, not global. A workflow embedded via
green.workflow/step inherits its ancestors' advice at run time by
merging registries (see `merge-entries`); the values stay pure.
The :seq field is a caller-assigned monotonic add-order number; it lets
a step-scoped registry and a separate all-steps registry be merged and
sorted into one strict add-order stack (see green.workflow/run-step).
:depth (-100..100, default 0) overrides add order the way Emacs hook
depths do: lower pushes the advice outward, higher pushes it inward;
at equal depth the most recently added is outermost.")