The weave organ: mined generative melody (Markov walk over the voicing ladder + IOI rhythm chain)

tools/mine-weave.js fits two first-order chains per genre family from the corpus DB melody lines, in the engine's own alphabet: pitch over the 8-slot voicing ladder (leadIndex 0..3 x octave 0..1 — chord-safe by construction), rhythm over quantized IOIs [.25..4] + a mined legato scalar.

• Four families ship (rip:alias syntax): folkweave, jazzweave (wired into folk/ jazz lead pools), guitarweave, classicalweave (registered, unwired — awaiting a home genre + ears).

• Known limit (stated in the csd-engine comment): the ladder alphabet cannot do scale-step motion (corpus stepFrac ~.5, weave ~.07) — passing-tone connectors are the v2.

Verified: test/melody-weave.test.js (stochastic rows, registration, density, chord-safety on the ladder, determinism, corpus density order). Full suite + matrix 274/274 green.

▶ Play it: Smoke Arithmetic → Kettle Eschaton — a shuttle between the two genres this change names — the blend is the point https://stellate.app/?genre=jazz&seed=9427&path=292.16891,1854.5732&xdur=0.067

ae1cc2a https://github.com/aboard-io/stellate/commit/ae1cc2abb1b6a6f9be0e8230bfe94ed894c25183