v4 Phase 5: 3-minute duration solver + form-graph section tags

The charter's 3-min rule completes: track/blend/mix default targetSec:180 (journeys keep per-leg targets), and the blunt +/-15% deadband scaler is replaced by a deterministic solver

• sectionTag(name) classifier (ground/build/peak/release/exposed/ cadence) exported from csd-engine; sampleEvents sections accepts "tag:peak,cadence" — rename-proof attach points, byte-safe, opt-in.

• Exemptions (strangler, documented in-code): VIDEO_LOCKED forms (ritual/anthem/transit — hand-authored cycles graft onto committed videos, events byte-identical, cut-lock preserved) and MARGIN_FRAGILE (afrobeat…

• Refusals: the seven form branches stay as the grammar instances (a byte-identical data rewrite buys nothing); forced bridge-bed/intro- outro pads entangled with the bedUse feature

Verified: verify.sh --no-cache PASS: matrix 63/63, validate incl. 5-seed dominance, engine; weakest gate-3 margins byte-identical to baseline.

▶ Play it: Chandelier Drowning → Polyrhythm Senate → Hydraulic Tantrum — the three genres this change names, as one path https://stellate.app/?genre=witchhouse&seed=5656&path=1285.14089,1237.17819,1378.11127&xdur=0.112

37a60af https://github.com/aboard-io/stellate/commit/37a60af0544859d95fe5df356d6c6c5c88470f85