Test / test (push) Waiting to run
A macro is a [macros.<Name>] table with typed params, defaults, a doc line and a body; any table with a "macro" key invokes one, as a value or spliced into an array, once per zipped element under "each". Expansion runs on the parsed tree between Parse and Decode, is bounded, and reads nothing but the documents it is given. The package is the expander vif's scenarios, bot graphs and audio banks already use, placed here so that a module outside vif, the audio engine's coming spin-off first, can share it. Claude-Session: https://claude.ai/code/session_01RP6NsvbSaLTt1UbBXHNfL4 Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>