@wenathlan/debonair 2.0.134 → 2.0.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1107 +0,0 @@
1
- # planning.ladder — the 900+ step execution ladder (generated from the live inventory)
2
-
3
- > generated by gen-ladder.mjs from the actual exports of the engines, the theme tree
4
- > and the test suite. each line is a real verification/build step of the kathesis
5
- > wave v2.28-completo. companion of docs/planning.v2.28-completo.md.
6
-
7
- ## wave K2 — planning and doctrine (orchestrator)
8
-
9
- - [ ] 0001 K2 planning.v2.28-completo.md written (gaps, waves, invariants, acceptance)
10
- - [ ] 0002 K2 ladder generated from the live inventory (this file)
11
- - [ ] 0003 K2 doctrine files re-read: DEBONAI-RULEMAP.md, DESIGN_MAP digest, enginemap.md
12
- - [ ] 0004 K2 worklog read before work; task ids continue P1-P7 lineage
13
-
14
- ## wave K1 — competitor dissection (allan/temp clones)
15
-
16
- - [ ] 0005 K1 libsonare: locate pipeline entry files via rg (dsp, mixer, midi, wav, model, schedule)
17
- - [ ] 0006 K1 libsonare: extract concrete logics worth importing into kathesis (with file refs)
18
- - [ ] 0007 K1 libsonare: record what must NOT be copied (licenses, brand, platform chrome)
19
- - [ ] 0008 K1 pulsegridstudio: locate pipeline entry files via rg (dsp, mixer, midi, wav, model, schedule)
20
- - [ ] 0009 K1 pulsegridstudio: extract concrete logics worth importing into kathesis (with file refs)
21
- - [ ] 0010 K1 pulsegridstudio: record what must NOT be copied (licenses, brand, platform chrome)
22
- - [ ] 0011 K1 magenta-js: locate pipeline entry files via rg (dsp, mixer, midi, wav, model, schedule)
23
- - [ ] 0012 K1 magenta-js: extract concrete logics worth importing into kathesis (with file refs)
24
- - [ ] 0013 K1 magenta-js: record what must NOT be copied (licenses, brand, platform chrome)
25
- - [ ] 0014 K1 acestep.cpp: locate pipeline entry files via rg (dsp, mixer, midi, wav, model, schedule)
26
- - [ ] 0015 K1 acestep.cpp: extract concrete logics worth importing into kathesis (with file refs)
27
- - [ ] 0016 K1 acestep.cpp: record what must NOT be copied (licenses, brand, platform chrome)
28
- - [ ] 0017 K1 heartlib: locate pipeline entry files via rg (dsp, mixer, midi, wav, model, schedule)
29
- - [ ] 0018 K1 heartlib: extract concrete logics worth importing into kathesis (with file refs)
30
- - [ ] 0019 K1 heartlib: record what must NOT be copied (licenses, brand, platform chrome)
31
- - [ ] 0020 K1 write docs/competitor-dissection.md (per-repo: pipeline, imports, exclusions)
32
- - [ ] 0021 K1 append task K1 to worklog.md
33
-
34
- ## wave K3 — studio daw editing (v2.28)
35
-
36
- - [ ] 0022 K3 pianoroll.ts: PIANOROLL_CONSTANTS (rows c2..c6, step grid, velocity ladder) — pure, JSDoc, table first
37
- - [ ] 0023 K3 pianoroll.ts: scheduleToNotes (flat events to editable notes, stable ids) — pure, JSDoc, table first
38
- - [ ] 0024 K3 pianoroll.ts: notesToSchedule (rebuild the take schedule shape, order preserved) — pure, JSDoc, table first
39
- - [ ] 0025 K3 pianoroll.ts: addNote (overlap policy per role, clamped to clip window) — pure, JSDoc, table first
40
- - [ ] 0026 K3 pianoroll.ts: removeNote (id-addressed, deterministic) — pure, JSDoc, table first
41
- - [ ] 0027 K3 pianoroll.ts: moveNote (snap to step, window clamp, no silent drift) — pure, JSDoc, table first
42
- - [ ] 0028 K3 pianoroll.ts: resizeNote (duration in steps, min length) — pure, JSDoc, table first
43
- - [ ] 0029 K3 pianoroll.ts: quantizeNote (strength 0..1 toward the grid) — pure, JSDoc, table first
44
- - [ ] 0030 K3 pianoroll.ts: validateNotes (bounds, overlap, duplicate ids) with machine codes — pure, JSDoc, table first
45
- - [ ] 0031 K3 pianoroll.ts: PianoRollError (typed codes: bad-note, out-of-window, overlap, bad-grid) — pure, JSDoc, table first
46
-
47
- - [ ] 0032 K3 Sol/studio/timeline: seconds ruler with formatClock, no percent anywhere
48
- - [ ] 0033 K3 timeline: pointer drag to move clip through timelinemodel.moveClip + snapClip
49
- - [ ] 0034 K3 timeline: edge handles trim through trimClip (min duration honored)
50
- - [ ] 0035 K3 timeline: split at playhead through splitClip (.a/.b naming kept)
51
- - [ ] 0036 K3 timeline: duplicate and delete clip with keyboard + aria-labeled buttons
52
- - [ ] 0037 K3 timeline: clip selection state and visual pinned to sol.css tokens
53
- - [ ] 0038 K3 timeline: edits re-run takeevents.scheduleTake through the honest path
54
- - [ ] 0039 K3 timeline: re-render replaces the take in takestore (same id, newest state)
55
- - [ ] 0040 K3 Sol/studio/pianoroll: accessible grid (buttons, aria-labels, focus ring)
56
- - [ ] 0041 K3 pianoroll: add/remove/move/resize/quantize wired to the pianoroll engine
57
- - [ ] 0042 K3 pianoroll: role filter (drums/bass/keys/lead) mirrors RACK_LANES
58
- - [ ] 0043 K3 pianoroll: re-schedule and audible re-render after each edit (no fake ui)
59
- - [ ] 0044 K3 reduced-motion and zero-emoji rules verified in the new components
60
- - [ ] 0045 K3 keep timelinemodel.test.ts green (editing algebra must not break the inherited contracts)
61
- - [ ] 0046 K3 keep arranger.test.ts green (editing algebra must not break the inherited contracts)
62
- - [ ] 0047 K3 keep takeevents.test.ts green (editing algebra must not break the inherited contracts)
63
-
64
- ## wave K4 — wav / midi / stems writers (v2.29)
65
-
66
- - [ ] 0048 K4 wavwriter.ts: WAV_FORMAT table (pcm 16/24, ieee float 32, byte widths documented) — pure, JSDoc, riff-correct
67
- - [ ] 0049 K4 wavwriter.ts: HEADER_LAYOUT table (riff/wave/fmt/data offsets and sizes) — pure, JSDoc, riff-correct
68
- - [ ] 0050 K4 wavwriter.ts: encodeWav (channels float32 to bytes, interleaved, clamped) — pure, JSDoc, riff-correct
69
- - [ ] 0051 K4 wavwriter.ts: writeWav16 / writeWav24 / writeWav32f (bit-depth specialists) — pure, JSDoc, riff-correct
70
- - [ ] 0052 K4 wavwriter.ts: wavInfo (header parser used by tests to verify duration and shape) — pure, JSDoc, riff-correct
71
- - [ ] 0053 K4 wavwriter.ts: validateEncoding (duration, channels, rate invariants, machine codes) — pure, JSDoc, riff-correct
72
- - [ ] 0054 K4 midiwriter.ts: MIDI_CONSTANTS (ppq default, meta/event opcodes, channel map) — pure, JSDoc, smf-correct
73
- - [ ] 0055 K4 midiwriter.ts: encodeVlq / decodeVlq (variable-length quantity round trip) — pure, JSDoc, smf-correct
74
- - [ ] 0056 K4 midiwriter.ts: secondsToTicks / ticksToSeconds (bpm+ppq math, documented) — pure, JSDoc, smf-correct
75
- - [ ] 0057 K4 midiwriter.ts: writeMidi (smf format 1: mthd + mtrk per track, tempo meta in track 0) — pure, JSDoc, smf-correct
76
- - [ ] 0058 K4 midiwriter.ts: buildTracksFromSchedule (roles to channels, note on/off pairs balanced) — pure, JSDoc, smf-correct
77
- - [ ] 0059 K4 midiwriter.ts: validateMidi (balanced pairs, sorted ticks, bounded channel) with codes — pure, JSDoc, smf-correct
78
- - [ ] 0060 K4 stems.ts: STEM_ROLES table (drums/bass/keys/lead + master policy) — pure, JSDoc, conservation-tested
79
- - [ ] 0061 K4 stems.ts: planStems (schedule partition per role, event conservation) — pure, JSDoc, conservation-tested
80
- - [ ] 0062 K4 stems.ts: stemsManifest (schema v1: names, durations, sample rate, lufs target) — pure, JSDoc, conservation-tested
81
- - [ ] 0063 K4 stems.ts: validateStems (no lost events, deterministic order, manifest shape) — pure, JSDoc, conservation-tested
82
- - [ ] 0064 K4 studio desk: export actions (wav 16/24, midi, per-stem wav) with real downloads
83
- - [ ] 0065 K4 export toast states use real completion, no fake progress
84
-
85
- ## wave K5 — live visualization (v2.30)
86
-
87
- - [ ] 0066 K5 Sol/studio/spectrum: canvas scope fed by the real analyser tap (no decor)
88
- - [ ] 0067 K5 spectrum: frequency ladder labels in mono tabular style
89
- - [ ] 0068 K5 Sol/studio/waveform: overview density render from the take schedule
90
- - [ ] 0069 K5 playerbar: mini level meter follows the same analyser source
91
- - [ ] 0070 K5 playhead clock matches formatClock and stays aria-live polite
92
- - [ ] 0071 K5 reduced-motion: scopes freeze to a static frame when the media query hits
93
-
94
- ## wave K6 — gateway persistence (v3.0 seed)
95
-
96
- - [ ] 0072 K6 cloudsync.ts engine: gatewayFetch seam (injected fetch, 2.5s timeout)
97
- - [ ] 0073 K6 cloudsync: listCloudTakes / saveCloudTake / removeCloudTake (typed results)
98
- - [ ] 0074 K6 cloudsync: sessionStorage fallback parity when gateway is absent
99
- - [ ] 0075 K6 cloudsync: validateCloudPayload (schema guard before any save)
100
- - [ ] 0076 K6 gateway api: GET/POST/DELETE /api/projects on sqlite (prisma, parameterized)
101
- - [ ] 0077 K6 gateway api: same family column conventions (text identity, iso time)
102
- - [ ] 0078 K6 settings: honest sync surface (reachable, saved count, last error)
103
- - [ ] 0079 K6 library/settings: no silent data loss (fallback always readable)
104
-
105
- ## wave K7 — gates, build and push
106
-
107
- - [ ] 0080 K7 vitest full suite green (inherited 261 + new engine contracts)
108
- - [ ] 0081 K7 tsc --noEmit strict zero errors
109
- - [ ] 0082 K7 biome check zero errors zero warnings
110
- - [ ] 0083 K7 vite build succeeds; restore:entry guard intact
111
- - [ ] 0084 K7 sync the built bundle to the gateway (public/debonair)
112
- - [ ] 0085 K7 update DEBONAI-VERSIONS.md (v2.28/2.29/2.30 delivered)
113
- - [ ] 0086 K7 update docs/enginemap.md (new engines: pianoroll, wavwriter, midiwriter, stems, cloudsync)
114
- - [ ] 0087 K7 commit as iakadion on kathesis/b3-wave; fetch before push; push
115
-
116
- ## wave K8 — browser verification (the golden path)
117
-
118
- - [ ] 0088 K8 gateway / responds 200 and the iframe renders the app (no white screen)
119
- - [ ] 0089 K8 generate a take from a prompt+seed in the browser
120
- - [ ] 0090 K8 open the desk; the take schedules and the transport sounds
121
- - [ ] 0091 K8 move a clip on the timeline; the schedule follows
122
- - [ ] 0092 K8 edit a note on the piano roll; the audible result follows
123
- - [ ] 0093 K8 export wav / midi / stems; files download with correct headers
124
- - [ ] 0094 K8 spectrum moves while audio plays
125
- - [ ] 0095 K8 save to cloud; the gateway answers; reload finds the take
126
- - [ ] 0096 K8 dev.log inspected: no runtime errors from the visit
127
- - [ ] 0097 K8 worklog closed with the wave summary
128
-
129
- ## wave KE — engine logic verification (every exported logic of the inventory)
130
-
131
- - [ ] 0098 KE playerbus.ts: PlayerSnapshot — contract test exists and passes (determinism/range/invariant)
132
- - [ ] 0099 KE playerbus.ts: busPlay — contract test exists and passes (determinism/range/invariant)
133
- - [ ] 0100 KE playerbus.ts: busPause — contract test exists and passes (determinism/range/invariant)
134
- - [ ] 0101 KE playerbus.ts: busToggle — contract test exists and passes (determinism/range/invariant)
135
- - [ ] 0102 KE playerbus.ts: busSelect — contract test exists and passes (determinism/range/invariant)
136
- - [ ] 0103 KE playerbus.ts: busFeature — contract test exists and passes (determinism/range/invariant)
137
- - [ ] 0104 KE playerbus.ts: busSeek — contract test exists and passes (determinism/range/invariant)
138
- - [ ] 0105 KE playerbus.ts: busHush — contract test exists and passes (determinism/range/invariant)
139
- - [ ] 0106 KE playerbus.ts: busTakeById — contract test exists and passes (determinism/range/invariant)
140
- - [ ] 0107 KE playerbus.ts: busSubscribe — contract test exists and passes (determinism/range/invariant)
141
- - [ ] 0108 KE timelinemodel.ts: TimelineErrorCode — contract test exists and passes (determinism/range/invariant)
142
- - [ ] 0109 KE timelinemodel.ts: TimelineModelError — contract test exists and passes (determinism/range/invariant)
143
- - [ ] 0110 KE timelinemodel.ts: TimelineClip — contract test exists and passes (determinism/range/invariant)
144
- - [ ] 0111 KE timelinemodel.ts: TimelineGrid — contract test exists and passes (determinism/range/invariant)
145
- - [ ] 0112 KE timelinemodel.ts: MINIMUMDURATION — contract test exists and passes (determinism/range/invariant)
146
- - [ ] 0113 KE timelinemodel.ts: snapToGrid — contract test exists and passes (determinism/range/invariant)
147
- - [ ] 0114 KE timelinemodel.ts: snapClip — contract test exists and passes (determinism/range/invariant)
148
- - [ ] 0115 KE timelinemodel.ts: clipsOverlap — contract test exists and passes (determinism/range/invariant)
149
- - [ ] 0116 KE timelinemodel.ts: validatePlacement — contract test exists and passes (determinism/range/invariant)
150
- - [ ] 0117 KE timelinemodel.ts: splitClip — contract test exists and passes (determinism/range/invariant)
151
- - [ ] 0118 KE timelinemodel.ts: trimClip — contract test exists and passes (determinism/range/invariant)
152
- - [ ] 0119 KE timelinemodel.ts: moveClip — contract test exists and passes (determinism/range/invariant)
153
- - [ ] 0120 KE timelinemodel.ts: activeAt — contract test exists and passes (determinism/range/invariant)
154
- - [ ] 0121 KE timelinemodel.ts: totalDuration — contract test exists and passes (determinism/range/invariant)
155
- - [ ] 0122 KE dawview.ts: formatClock — contract test exists and passes (determinism/range/invariant)
156
- - [ ] 0123 KE dawview.ts: clipStyle — contract test exists and passes (determinism/range/invariant)
157
- - [ ] 0124 KE dawview.ts: FADER_MIN_DB — contract test exists and passes (determinism/range/invariant)
158
- - [ ] 0125 KE dawview.ts: FADER_MAX_DB — contract test exists and passes (determinism/range/invariant)
159
- - [ ] 0126 KE dawview.ts: clampFader — contract test exists and passes (determinism/range/invariant)
160
- - [ ] 0127 KE dawview.ts: faderToUnit — contract test exists and passes (determinism/range/invariant)
161
- - [ ] 0128 KE dawview.ts: unitToFader — contract test exists and passes (determinism/range/invariant)
162
- - [ ] 0129 KE dawview.ts: FADER_STEP_DB — contract test exists and passes (determinism/range/invariant)
163
- - [ ] 0130 KE dawview.ts: levelToPercent — contract test exists and passes (determinism/range/invariant)
164
- - [ ] 0131 KE dawview.ts: playheadPercent — contract test exists and passes (determinism/range/invariant)
165
- - [ ] 0132 KE dawview.ts: formatGain — contract test exists and passes (determinism/range/invariant)
166
- - [ ] 0133 KE onboardingstate.ts: VisitorOnboarding — contract test exists and passes (determinism/range/invariant)
167
- - [ ] 0134 KE onboardingstate.ts: OnboardingStage — contract test exists and passes (determinism/range/invariant)
168
- - [ ] 0135 KE onboardingstate.ts: hostallowed — contract test exists and passes (determinism/range/invariant)
169
- - [ ] 0136 KE onboardingstate.ts: mergeStage — contract test exists and passes (determinism/range/invariant)
170
- - [ ] 0137 KE onboardingstate.ts: readOnboardingState — contract test exists and passes (determinism/range/invariant)
171
- - [ ] 0138 KE onboardingstate.ts: loadOnboardingState — contract test exists and passes (determinism/range/invariant)
172
- - [ ] 0139 KE onboardingstate.ts: markIntroSeen — contract test exists and passes (determinism/range/invariant)
173
- - [ ] 0140 KE onboardingstate.ts: markOnboardingSeen — contract test exists and passes (determinism/range/invariant)
174
- - [ ] 0141 KE onboardingstate.ts: resetOnboardingMemory — contract test exists and passes (determinism/range/invariant)
175
- - [ ] 0142 KE ducking.ts: DuckingErrorCode — contract test exists and passes (determinism/range/invariant)
176
- - [ ] 0143 KE ducking.ts: DuckingResult — contract test exists and passes (determinism/range/invariant)
177
- - [ ] 0144 KE ducking.ts: DuckingParams — contract test exists and passes (determinism/range/invariant)
178
- - [ ] 0145 KE ducking.ts: DuckingRegion — contract test exists and passes (determinism/range/invariant)
179
- - [ ] 0146 KE ducking.ts: FollowerState — contract test exists and passes (determinism/range/invariant)
180
- - [ ] 0147 KE ducking.ts: FLOORDB — contract test exists and passes (determinism/range/invariant)
181
- - [ ] 0148 KE ducking.ts: followerInitial — contract test exists and passes (determinism/range/invariant)
182
- - [ ] 0149 KE ducking.ts: validateDucking — contract test exists and passes (determinism/range/invariant)
183
- - [ ] 0150 KE ducking.ts: sensitivityToThreshold — contract test exists and passes (determinism/range/invariant)
184
- - [ ] 0151 KE ducking.ts: rmsEnvelopeDb — contract test exists and passes (determinism/range/invariant)
185
- - [ ] 0152 KE ducking.ts: activityRegions — contract test exists and passes (determinism/range/invariant)
186
- - [ ] 0153 KE ducking.ts: mergeRegions — contract test exists and passes (determinism/range/invariant)
187
- - [ ] 0154 KE ducking.ts: regionAt — contract test exists and passes (determinism/range/invariant)
188
- - [ ] 0155 KE ducking.ts: totalDuckTime — contract test exists and passes (determinism/range/invariant)
189
- - [ ] 0156 KE ducking.ts: staticGainDb — contract test exists and passes (determinism/range/invariant)
190
- - [ ] 0157 KE ducking.ts: smoothingCoefficient — contract test exists and passes (determinism/range/invariant)
191
- - [ ] 0158 KE ducking.ts: followerStep — contract test exists and passes (determinism/range/invariant)
192
- - [ ] 0159 KE ducking.ts: followerGainDb — contract test exists and passes (determinism/range/invariant)
193
- - [ ] 0160 KE ducking.ts: followerGainLinear — contract test exists and passes (determinism/range/invariant)
194
- - [ ] 0161 KE ducking.ts: duckKeyframes — contract test exists and passes (determinism/range/invariant)
195
- - [ ] 0162 KE ducking.ts: levelAtTime — contract test exists and passes (determinism/range/invariant)
196
- - [ ] 0163 KE ducking.ts: autoDuckRegions — contract test exists and passes (determinism/range/invariant)
197
- - [ ] 0164 KE zoomlock.ts: zoomlocked — contract test exists and passes (determinism/range/invariant)
198
- - [ ] 0165 KE analyze.ts: BPM_FLOOR — contract test exists and passes (determinism/range/invariant)
199
- - [ ] 0166 KE analyze.ts: BPM_CEIL — contract test exists and passes (determinism/range/invariant)
200
- - [ ] 0167 KE analyze.ts: SILENCE_RMS — contract test exists and passes (determinism/range/invariant)
201
- - [ ] 0168 KE analyze.ts: BAND_LADDER — contract test exists and passes (determinism/range/invariant)
202
- - [ ] 0169 KE analyze.ts: BAND_LABELS — contract test exists and passes (determinism/range/invariant)
203
- - [ ] 0170 KE analyze.ts: AudioReport — contract test exists and passes (determinism/range/invariant)
204
- - [ ] 0171 KE analyze.ts: StructureSection — contract test exists and passes (determinism/range/invariant)
205
- - [ ] 0172 KE analyze.ts: analyze — contract test exists and passes (determinism/range/invariant)
206
- - [ ] 0173 KE vocalsynth.ts: VOWEL_FORMANTS — contract test exists and passes (determinism/range/invariant)
207
- - [ ] 0174 KE vocalsynth.ts: Vowel — contract test exists and passes (determinism/range/invariant)
208
- - [ ] 0175 KE vocalsynth.ts: VIBRATO_HZ — contract test exists and passes (determinism/range/invariant)
209
- - [ ] 0176 KE vocalsynth.ts: VIBRATO_SEMITONES — contract test exists and passes (determinism/range/invariant)
210
- - [ ] 0177 KE vocalsynth.ts: CONSONANT_SAMPLES — contract test exists and passes (determinism/range/invariant)
211
- - [ ] 0178 KE vocalsynth.ts: TARGET_SYLLABLE_PEAK — contract test exists and passes (determinism/range/invariant)
212
- - [ ] 0179 KE vocalsynth.ts: Syllable — contract test exists and passes (determinism/range/invariant)
213
- - [ ] 0180 KE vocalsynth.ts: VoiceRenderOptions — contract test exists and passes (determinism/range/invariant)
214
- - [ ] 0181 KE vocalsynth.ts: VoiceRender — contract test exists and passes (determinism/range/invariant)
215
- - [ ] 0182 KE vocalsynth.ts: renderVoice — contract test exists and passes (determinism/range/invariant)
216
- - [ ] 0183 KE vocalsynth.ts: syllablesOfLine — contract test exists and passes (determinism/range/invariant)
217
- - [ ] 0184 KE takestore.ts: TAKE_STORE_KEY — contract test exists and passes (determinism/range/invariant)
218
- - [ ] 0185 KE takestore.ts: TAKE_SELECT_KEY — contract test exists and passes (determinism/range/invariant)
219
- - [ ] 0186 KE takestore.ts: StorageLike — contract test exists and passes (determinism/range/invariant)
220
- - [ ] 0187 KE takestore.ts: TakeRecord — contract test exists and passes (determinism/range/invariant)
221
- - [ ] 0188 KE takestore.ts: memoryStorage — contract test exists and passes (determinism/range/invariant)
222
- - [ ] 0189 KE takestore.ts: sessionStorageOrMemory — contract test exists and passes (determinism/range/invariant)
223
- - [ ] 0190 KE takestore.ts: loadTakeRecords — contract test exists and passes (determinism/range/invariant)
224
- - [ ] 0191 KE takestore.ts: saveTakePlan — contract test exists and passes (determinism/range/invariant)
225
- - [ ] 0192 KE takestore.ts: removeTakePlan — contract test exists and passes (determinism/range/invariant)
226
- - [ ] 0193 KE takestore.ts: findTakeRecord — contract test exists and passes (determinism/range/invariant)
227
- - [ ] 0194 KE rhythmgrammar.ts: LaneName — contract test exists and passes (determinism/range/invariant)
228
- - [ ] 0195 KE rhythmgrammar.ts: PatternGrid — contract test exists and passes (determinism/range/invariant)
229
- - [ ] 0196 KE rhythmgrammar.ts: SwingGrid — contract test exists and passes (determinism/range/invariant)
230
- - [ ] 0197 KE rhythmgrammar.ts: FamilyName — contract test exists and passes (determinism/range/invariant)
231
- - [ ] 0198 KE rhythmgrammar.ts: LANES — contract test exists and passes (determinism/range/invariant)
232
- - [ ] 0199 KE rhythmgrammar.ts: FAMILY_NAMES — contract test exists and passes (determinism/range/invariant)
233
- - [ ] 0200 KE rhythmgrammar.ts: STEPS — contract test exists and passes (determinism/range/invariant)
234
- - [ ] 0201 KE rhythmgrammar.ts: gridFromSpec — contract test exists and passes (determinism/range/invariant)
235
- - [ ] 0202 KE rhythmgrammar.ts: emptyGrid — contract test exists and passes (determinism/range/invariant)
236
- - [ ] 0203 KE rhythmgrammar.ts: cloneGrid — contract test exists and passes (determinism/range/invariant)
237
- - [ ] 0204 KE rhythmgrammar.ts: FAMILIES — contract test exists and passes (determinism/range/invariant)
238
- - [ ] 0205 KE rhythmgrammar.ts: validateGrid — contract test exists and passes (determinism/range/invariant)
239
- - [ ] 0206 KE rhythmgrammar.ts: laneDensity — contract test exists and passes (determinism/range/invariant)
240
- - [ ] 0207 KE rhythmgrammar.ts: swingOffsets — contract test exists and passes (determinism/range/invariant)
241
- - [ ] 0208 KE rhythmgrammar.ts: applySwing — contract test exists and passes (determinism/range/invariant)
242
- - [ ] 0209 KE rhythmgrammar.ts: accentMap — contract test exists and passes (determinism/range/invariant)
243
- - [ ] 0210 KE rhythmgrammar.ts: applyAccents — contract test exists and passes (determinism/range/invariant)
244
- - [ ] 0211 KE rhythmgrammar.ts: maybeFill — contract test exists and passes (determinism/range/invariant)
245
- - [ ] 0212 KE rhythmgrammar.ts: foldPattern — contract test exists and passes (determinism/range/invariant)
246
- - [ ] 0213 KE arranger.ts: ArrangerRole — contract test exists and passes (determinism/range/invariant)
247
- - [ ] 0214 KE arranger.ts: ROLE_NAMES — contract test exists and passes (determinism/range/invariant)
248
- - [ ] 0215 KE arranger.ts: PlanSection — contract test exists and passes (determinism/range/invariant)
249
- - [ ] 0216 KE arranger.ts: SECTION_PLAN — contract test exists and passes (determinism/range/invariant)
250
- - [ ] 0217 KE arranger.ts: RACK_LANES — contract test exists and passes (determinism/range/invariant)
251
- - [ ] 0218 KE arranger.ts: TakePlan — contract test exists and passes (determinism/range/invariant)
252
- - [ ] 0219 KE arranger.ts: PlanOptions — contract test exists and passes (determinism/range/invariant)
253
- - [ ] 0220 KE arranger.ts: planTake — contract test exists and passes (determinism/range/invariant)
254
- - [ ] 0221 KE arranger.ts: TOTAL_BARS — contract test exists and passes (determinism/range/invariant)
255
- - [ ] 0222 KE arranger.ts: beatSecondsOf — contract test exists and passes (determinism/range/invariant)
256
- - [ ] 0223 KE arranger.ts: stepSecondsOf — contract test exists and passes (determinism/range/invariant)
257
- - [ ] 0224 KE arranger.ts: resolveGenre — contract test exists and passes (determinism/range/invariant)
258
- - [ ] 0225 KE arranger.ts: takeId — contract test exists and passes (determinism/range/invariant)
259
- - [ ] 0226 KE arranger.ts: validatePlan — contract test exists and passes (determinism/range/invariant)
260
- - [ ] 0227 KE spectrum.ts: FFT_SIZE — contract test exists and passes (determinism/range/invariant)
261
- - [ ] 0228 KE spectrum.ts: FFT_SIZE — cross-validated against the sibling tables
262
- - [ ] 0229 KE spectrum.ts: HOP_SIZE — contract test exists and passes (determinism/range/invariant)
263
- - [ ] 0230 KE spectrum.ts: HOP_SIZE — cross-validated against the sibling tables
264
- - [ ] 0231 KE spectrum.ts: HANN_TABLE — contract test exists and passes (determinism/range/invariant)
265
- - [ ] 0232 KE spectrum.ts: HANN_TABLE — cross-validated against the sibling tables
266
- - [ ] 0233 KE spectrum.ts: SpectrumFrame — contract test exists and passes (determinism/range/invariant)
267
- - [ ] 0234 KE spectrum.ts: SpectrumFrame — cross-validated against the sibling tables
268
- - [ ] 0235 KE spectrum.ts: fftInPlace — contract test exists and passes (determinism/range/invariant)
269
- - [ ] 0236 KE spectrum.ts: fftInPlace — cross-validated against the sibling tables
270
- - [ ] 0237 KE spectrum.ts: frameSpectrum — contract test exists and passes (determinism/range/invariant)
271
- - [ ] 0238 KE spectrum.ts: frameSpectrum — cross-validated against the sibling tables
272
- - [ ] 0239 KE spectrum.ts: KK_MAJOR — contract test exists and passes (determinism/range/invariant)
273
- - [ ] 0240 KE spectrum.ts: KK_MAJOR — cross-validated against the sibling tables
274
- - [ ] 0241 KE spectrum.ts: KK_MINOR — contract test exists and passes (determinism/range/invariant)
275
- - [ ] 0242 KE spectrum.ts: KK_MINOR — cross-validated against the sibling tables
276
- - [ ] 0243 KE spectrum.ts: chromaOf — contract test exists and passes (determinism/range/invariant)
277
- - [ ] 0244 KE spectrum.ts: chromaOf — cross-validated against the sibling tables
278
- - [ ] 0245 KE spectrum.ts: keyOf — contract test exists and passes (determinism/range/invariant)
279
- - [ ] 0246 KE spectrum.ts: keyOf — cross-validated against the sibling tables
280
- - [ ] 0247 KE fingerprint.ts: PEAKS_PER_FRAME — contract test exists and passes (determinism/range/invariant)
281
- - [ ] 0248 KE fingerprint.ts: MAX_LAG_FRAMES — contract test exists and passes (determinism/range/invariant)
282
- - [ ] 0249 KE fingerprint.ts: PEAK_FLOOR_RATIO — contract test exists and passes (determinism/range/invariant)
283
- - [ ] 0250 KE fingerprint.ts: BAND_EDGES — contract test exists and passes (determinism/range/invariant)
284
- - [ ] 0251 KE fingerprint.ts: Peak — contract test exists and passes (determinism/range/invariant)
285
- - [ ] 0252 KE fingerprint.ts: Landmark — contract test exists and passes (determinism/range/invariant)
286
- - [ ] 0253 KE fingerprint.ts: DbEntry — contract test exists and passes (determinism/range/invariant)
287
- - [ ] 0254 KE fingerprint.ts: MatchResult — contract test exists and passes (determinism/range/invariant)
288
- - [ ] 0255 KE fingerprint.ts: peaksOfFrame — contract test exists and passes (determinism/range/invariant)
289
- - [ ] 0256 KE fingerprint.ts: landmarksOf — contract test exists and passes (determinism/range/invariant)
290
- - [ ] 0257 KE fingerprint.ts: fingerprintOf — contract test exists and passes (determinism/range/invariant)
291
- - [ ] 0258 KE fingerprint.ts: FingerprintDB — contract test exists and passes (determinism/range/invariant)
292
- - [ ] 0259 KE mixergraph.ts: MixerGraphErrorCode — contract test exists and passes (determinism/range/invariant)
293
- - [ ] 0260 KE mixergraph.ts: MixerGraphError — contract test exists and passes (determinism/range/invariant)
294
- - [ ] 0261 KE mixergraph.ts: MixerSend — contract test exists and passes (determinism/range/invariant)
295
- - [ ] 0262 KE mixergraph.ts: MixerChannel — contract test exists and passes (determinism/range/invariant)
296
- - [ ] 0263 KE mixergraph.ts: MixerGraph — contract test exists and passes (determinism/range/invariant)
297
- - [ ] 0264 KE mixergraph.ts: ResolvedPath — contract test exists and passes (determinism/range/invariant)
298
- - [ ] 0265 KE mixergraph.ts: dbToLinear — contract test exists and passes (determinism/range/invariant)
299
- - [ ] 0266 KE mixergraph.ts: linearToDb — contract test exists and passes (determinism/range/invariant)
300
- - [ ] 0267 KE mixergraph.ts: graphFromStrips — contract test exists and passes (determinism/range/invariant)
301
- - [ ] 0268 KE mixergraph.ts: patchChannel — contract test exists and passes (determinism/range/invariant)
302
- - [ ] 0269 KE mixergraph.ts: assertGraph — contract test exists and passes (determinism/range/invariant)
303
- - [ ] 0270 KE mixergraph.ts: assertAcyclic — contract test exists and passes (determinism/range/invariant)
304
- - [ ] 0271 KE mixergraph.ts: effectiveGainDb — contract test exists and passes (determinism/range/invariant)
305
- - [ ] 0272 KE mixergraph.ts: effectiveGains — contract test exists and passes (determinism/range/invariant)
306
- - [ ] 0273 KE mixergraph.ts: resolvePaths — contract test exists and passes (determinism/range/invariant)
307
- - [ ] 0274 KE katexis.ts: BadgeTone — contract test exists and passes (determinism/range/invariant)
308
- - [ ] 0275 KE katexis.ts: GenreConfig — contract test exists and passes (determinism/range/invariant)
309
- - [ ] 0276 KE katexis.ts: TimelineClip — contract test exists and passes (determinism/range/invariant)
310
- - [ ] 0277 KE katexis.ts: TimelineTrack — contract test exists and passes (determinism/range/invariant)
311
- - [ ] 0278 KE katexis.ts: MixerStripRow — contract test exists and passes (determinism/range/invariant)
312
- - [ ] 0279 KE katexis.ts: ReadoutRow — contract test exists and passes (determinism/range/invariant)
313
- - [ ] 0280 KE katexis.ts: RenderStage — contract test exists and passes (determinism/range/invariant)
314
- - [ ] 0281 KE katexis.ts: RENDER_STAGES — contract test exists and passes (determinism/range/invariant)
315
- - [ ] 0282 KE katexis.ts: RenderJobRow — contract test exists and passes (determinism/range/invariant)
316
- - [ ] 0283 KE katexis.ts: LibraryStatus — contract test exists and passes (determinism/range/invariant)
317
- - [ ] 0284 KE katexis.ts: LibraryTrackRow — contract test exists and passes (determinism/range/invariant)
318
- - [ ] 0285 KE katexis.ts: FeatureCard — contract test exists and passes (determinism/range/invariant)
319
- - [ ] 0286 KE katexis.ts: SignalBadge — contract test exists and passes (determinism/range/invariant)
320
- - [ ] 0287 KE katexis.ts: OptionChoice — contract test exists and passes (determinism/range/invariant)
321
- - [ ] 0288 KE katexis.ts: toneClass — contract test exists and passes (determinism/range/invariant)
322
- - [ ] 0289 KE katexis.ts: statusTone — contract test exists and passes (determinism/range/invariant)
323
- - [ ] 0290 KE katexis.ts: MASTERING — contract test exists and passes (determinism/range/invariant)
324
- - [ ] 0291 KE katexis.ts: PROMPT_MAX_LENGTH — contract test exists and passes (determinism/range/invariant)
325
- - [ ] 0292 KE katexis.ts: formatDb — contract test exists and passes (determinism/range/invariant)
326
- - [ ] 0293 KE katexis.ts: deriveSeed — contract test exists and passes (determinism/range/invariant)
327
- - [ ] 0294 KE katexis.ts: trackNameFromPrompt — contract test exists and passes (determinism/range/invariant)
328
- - [ ] 0295 KE katexis.ts: estimateDuration — contract test exists and passes (determinism/range/invariant)
329
- - [ ] 0296 KE katexis.ts: genreByLabel — contract test exists and passes (determinism/range/invariant)
330
- - [ ] 0297 KE katexis.ts: filterTracks — contract test exists and passes (determinism/range/invariant)
331
- - [ ] 0298 KE musictheory.ts: Key — contract test exists and passes (determinism/range/invariant)
332
- - [ ] 0299 KE musictheory.ts: Key — cross-validated against the sibling tables
333
- - [ ] 0300 KE musictheory.ts: Chord — contract test exists and passes (determinism/range/invariant)
334
- - [ ] 0301 KE musictheory.ts: Chord — cross-validated against the sibling tables
335
- - [ ] 0302 KE musictheory.ts: ChordQuality — contract test exists and passes (determinism/range/invariant)
336
- - [ ] 0303 KE musictheory.ts: ChordQuality — cross-validated against the sibling tables
337
- - [ ] 0304 KE musictheory.ts: ScaleName — contract test exists and passes (determinism/range/invariant)
338
- - [ ] 0305 KE musictheory.ts: ScaleName — cross-validated against the sibling tables
339
- - [ ] 0306 KE musictheory.ts: NOTE_NAMES — contract test exists and passes (determinism/range/invariant)
340
- - [ ] 0307 KE musictheory.ts: NOTE_NAMES — cross-validated against the sibling tables
341
- - [ ] 0308 KE musictheory.ts: FLAT_NAMES — contract test exists and passes (determinism/range/invariant)
342
- - [ ] 0309 KE musictheory.ts: FLAT_NAMES — cross-validated against the sibling tables
343
- - [ ] 0310 KE musictheory.ts: SCALE_STEPS — contract test exists and passes (determinism/range/invariant)
344
- - [ ] 0311 KE musictheory.ts: SCALE_STEPS — cross-validated against the sibling tables
345
- - [ ] 0312 KE musictheory.ts: SCALE_NAMES — contract test exists and passes (determinism/range/invariant)
346
- - [ ] 0313 KE musictheory.ts: SCALE_NAMES — cross-validated against the sibling tables
347
- - [ ] 0314 KE musictheory.ts: INTERVAL_NAMES — contract test exists and passes (determinism/range/invariant)
348
- - [ ] 0315 KE musictheory.ts: INTERVAL_NAMES — cross-validated against the sibling tables
349
- - [ ] 0316 KE musictheory.ts: CHORD_SHAPES — contract test exists and passes (determinism/range/invariant)
350
- - [ ] 0317 KE musictheory.ts: CHORD_SHAPES — cross-validated against the sibling tables
351
- - [ ] 0318 KE musictheory.ts: CHORD_SUFFIX — contract test exists and passes (determinism/range/invariant)
352
- - [ ] 0319 KE musictheory.ts: CHORD_SUFFIX — cross-validated against the sibling tables
353
- - [ ] 0320 KE musictheory.ts: transposePc — contract test exists and passes (determinism/range/invariant)
354
- - [ ] 0321 KE musictheory.ts: transposePc — cross-validated against the sibling tables
355
- - [ ] 0322 KE musictheory.ts: noteName — contract test exists and passes (determinism/range/invariant)
356
- - [ ] 0323 KE musictheory.ts: noteName — cross-validated against the sibling tables
357
- - [ ] 0324 KE musictheory.ts: noteToPc — contract test exists and passes (determinism/range/invariant)
358
- - [ ] 0325 KE musictheory.ts: noteToPc — cross-validated against the sibling tables
359
- - [ ] 0326 KE musictheory.ts: intervalName — contract test exists and passes (determinism/range/invariant)
360
- - [ ] 0327 KE musictheory.ts: intervalName — cross-validated against the sibling tables
361
- - [ ] 0328 KE musictheory.ts: intervalBetween — contract test exists and passes (determinism/range/invariant)
362
- - [ ] 0329 KE musictheory.ts: intervalBetween — cross-validated against the sibling tables
363
- - [ ] 0330 KE musictheory.ts: makeChord — contract test exists and passes (determinism/range/invariant)
364
- - [ ] 0331 KE musictheory.ts: makeChord — cross-validated against the sibling tables
365
- - [ ] 0332 KE musictheory.ts: chordIntervals — contract test exists and passes (determinism/range/invariant)
366
- - [ ] 0333 KE musictheory.ts: chordIntervals — cross-validated against the sibling tables
367
- - [ ] 0334 KE musictheory.ts: chordPcs — contract test exists and passes (determinism/range/invariant)
368
- - [ ] 0335 KE musictheory.ts: chordPcs — cross-validated against the sibling tables
369
- - [ ] 0336 KE musictheory.ts: chordNotes — contract test exists and passes (determinism/range/invariant)
370
- - [ ] 0337 KE musictheory.ts: chordNotes — cross-validated against the sibling tables
371
- - [ ] 0338 KE musictheory.ts: chordSymbol — contract test exists and passes (determinism/range/invariant)
372
- - [ ] 0339 KE musictheory.ts: chordSymbol — cross-validated against the sibling tables
373
- - [ ] 0340 KE musictheory.ts: qualityFromIntervals — contract test exists and passes (determinism/range/invariant)
374
- - [ ] 0341 KE musictheory.ts: qualityFromIntervals — cross-validated against the sibling tables
375
- - [ ] 0342 KE musictheory.ts: parseChord — contract test exists and passes (determinism/range/invariant)
376
- - [ ] 0343 KE musictheory.ts: parseChord — cross-validated against the sibling tables
377
- - [ ] 0344 KE musictheory.ts: scalePcs — contract test exists and passes (determinism/range/invariant)
378
- - [ ] 0345 KE musictheory.ts: scalePcs — cross-validated against the sibling tables
379
- - [ ] 0346 KE musictheory.ts: degreeToPc — contract test exists and passes (determinism/range/invariant)
380
- - [ ] 0347 KE musictheory.ts: degreeToPc — cross-validated against the sibling tables
381
- - [ ] 0348 KE musictheory.ts: diatonicTriad — contract test exists and passes (determinism/range/invariant)
382
- - [ ] 0349 KE musictheory.ts: diatonicTriad — cross-validated against the sibling tables
383
- - [ ] 0350 KE musictheory.ts: parseRoman — contract test exists and passes (determinism/range/invariant)
384
- - [ ] 0351 KE musictheory.ts: parseRoman — cross-validated against the sibling tables
385
- - [ ] 0352 KE musictheory.ts: romanOf — contract test exists and passes (determinism/range/invariant)
386
- - [ ] 0353 KE musictheory.ts: romanOf — cross-validated against the sibling tables
387
- - [ ] 0354 KE musictheory.ts: commonTones — contract test exists and passes (determinism/range/invariant)
388
- - [ ] 0355 KE musictheory.ts: commonTones — cross-validated against the sibling tables
389
- - [ ] 0356 KE musictheory.ts: voiceLeadDistance — contract test exists and passes (determinism/range/invariant)
390
- - [ ] 0357 KE musictheory.ts: voiceLeadDistance — cross-validated against the sibling tables
391
- - [ ] 0358 KE musictheory.ts: nearestInversion — contract test exists and passes (determinism/range/invariant)
392
- - [ ] 0359 KE musictheory.ts: nearestInversion — cross-validated against the sibling tables
393
- - [ ] 0360 KE familyurl.ts: familyurl — contract test exists and passes (determinism/range/invariant)
394
- - [ ] 0361 KE db.ts: db — contract test exists and passes (determinism/range/invariant)
395
- - [ ] 0362 KE db.ts: SqlParam — contract test exists and passes (determinism/range/invariant)
396
- - [ ] 0363 KE db.ts: execute — contract test exists and passes (determinism/range/invariant)
397
- - [ ] 0364 KE db.ts: queryAll — contract test exists and passes (determinism/range/invariant)
398
- - [ ] 0365 KE db.ts: queryOne — contract test exists and passes (determinism/range/invariant)
399
- - [ ] 0366 KE db.ts: ensureSchema — contract test exists and passes (determinism/range/invariant)
400
- - [ ] 0367 KE db.ts: seedIfEmpty — contract test exists and passes (determinism/range/invariant)
401
- - [ ] 0368 KE db.ts: renderJobRows — contract test exists and passes (determinism/range/invariant)
402
- - [ ] 0369 KE db.ts: OnboardingStateRow — contract test exists and passes (determinism/range/invariant)
403
- - [ ] 0370 KE db.ts: OnboardingFlags — contract test exists and passes (determinism/range/invariant)
404
- - [ ] 0371 KE db.ts: getOnboardingState — contract test exists and passes (determinism/range/invariant)
405
- - [ ] 0372 KE db.ts: setOnboardingStage — contract test exists and passes (determinism/range/invariant)
406
- - [ ] 0373 KE loudness.ts: LoudnessErrorCode — contract test exists and passes (determinism/range/invariant)
407
- - [ ] 0374 KE loudness.ts: LoudnessResult — contract test exists and passes (determinism/range/invariant)
408
- - [ ] 0375 KE loudness.ts: KCoeffs — contract test exists and passes (determinism/range/invariant)
409
- - [ ] 0376 KE loudness.ts: BiquadState — contract test exists and passes (determinism/range/invariant)
410
- - [ ] 0377 KE loudness.ts: LoudnessReport — contract test exists and passes (determinism/range/invariant)
411
- - [ ] 0378 KE loudness.ts: ABSOLUTEGATE — contract test exists and passes (determinism/range/invariant)
412
- - [ ] 0379 KE loudness.ts: RELATIVEGATE — contract test exists and passes (determinism/range/invariant)
413
- - [ ] 0380 KE loudness.ts: energyToLufs — contract test exists and passes (determinism/range/invariant)
414
- - [ ] 0381 KE loudness.ts: lufsToEnergy — contract test exists and passes (determinism/range/invariant)
415
- - [ ] 0382 KE loudness.ts: kShelfCoefficients — contract test exists and passes (determinism/range/invariant)
416
- - [ ] 0383 KE loudness.ts: kHighpassCoefficients — contract test exists and passes (determinism/range/invariant)
417
- - [ ] 0384 KE loudness.ts: biquadFilter — contract test exists and passes (determinism/range/invariant)
418
- - [ ] 0385 KE loudness.ts: channelWeights — contract test exists and passes (determinism/range/invariant)
419
- - [ ] 0386 KE loudness.ts: kWeightChannel — contract test exists and passes (determinism/range/invariant)
420
- - [ ] 0387 KE loudness.ts: weightedMeanSquare — contract test exists and passes (determinism/range/invariant)
421
- - [ ] 0388 KE loudness.ts: gatingBlocks — contract test exists and passes (determinism/range/invariant)
422
- - [ ] 0389 KE loudness.ts: integratedLoudness — contract test exists and passes (determinism/range/invariant)
423
- - [ ] 0390 KE loudness.ts: loudnessSeries — contract test exists and passes (determinism/range/invariant)
424
- - [ ] 0391 KE loudness.ts: percentile — contract test exists and passes (determinism/range/invariant)
425
- - [ ] 0392 KE loudness.ts: loudnessRange — contract test exists and passes (determinism/range/invariant)
426
- - [ ] 0393 KE loudness.ts: samplePeakDb — contract test exists and passes (determinism/range/invariant)
427
- - [ ] 0394 KE loudness.ts: truePeakDb — contract test exists and passes (determinism/range/invariant)
428
- - [ ] 0395 KE loudness.ts: gainToTarget — contract test exists and passes (determinism/range/invariant)
429
- - [ ] 0396 KE loudness.ts: applyGain — contract test exists and passes (determinism/range/invariant)
430
- - [ ] 0397 KE loudness.ts: analyzeLoudness — contract test exists and passes (determinism/range/invariant)
431
- - [ ] 0398 KE takeevents.ts: NoteEvent — contract test exists and passes (determinism/range/invariant)
432
- - [ ] 0399 KE takeevents.ts: TakeSchedule — contract test exists and passes (determinism/range/invariant)
433
- - [ ] 0400 KE takeevents.ts: scheduleTake — contract test exists and passes (determinism/range/invariant)
434
- - [ ] 0401 KE takeevents.ts: sectionAt — contract test exists and passes (determinism/range/invariant)
435
- - [ ] 0402 KE takeevents.ts: eventsInWindow — contract test exists and passes (determinism/range/invariant)
436
- - [ ] 0403 KE takeevents.ts: positionAt — contract test exists and passes (determinism/range/invariant)
437
- - [ ] 0404 KE takeevents.ts: validateSchedule — contract test exists and passes (determinism/range/invariant)
438
- - [ ] 0405 KE remixplan.ts: RemixErrorCode — contract test exists and passes (determinism/range/invariant)
439
- - [ ] 0406 KE remixplan.ts: RemixResult — contract test exists and passes (determinism/range/invariant)
440
- - [ ] 0407 KE remixplan.ts: RemixAnalysis — contract test exists and passes (determinism/range/invariant)
441
- - [ ] 0408 KE remixplan.ts: RemixParams — contract test exists and passes (determinism/range/invariant)
442
- - [ ] 0409 KE remixplan.ts: RemixPiece — contract test exists and passes (determinism/range/invariant)
443
- - [ ] 0410 KE remixplan.ts: RemixPlan — contract test exists and passes (determinism/range/invariant)
444
- - [ ] 0411 KE remixplan.ts: SimilarityMatrix — contract test exists and passes (determinism/range/invariant)
445
- - [ ] 0412 KE remixplan.ts: JOINTCONTEXT — contract test exists and passes (determinism/range/invariant)
446
- - [ ] 0413 KE remixplan.ts: MINPIECEBEATS — contract test exists and passes (determinism/range/invariant)
447
- - [ ] 0414 KE remixplan.ts: XFADESECONDS — contract test exists and passes (determinism/range/invariant)
448
- - [ ] 0415 KE remixplan.ts: cosineSimilarity — contract test exists and passes (determinism/range/invariant)
449
- - [ ] 0416 KE remixplan.ts: zScoreSeries — contract test exists and passes (determinism/range/invariant)
450
- - [ ] 0417 KE remixplan.ts: chromaMatch — contract test exists and passes (determinism/range/invariant)
451
- - [ ] 0418 KE remixplan.ts: timbreMatch — contract test exists and passes (determinism/range/invariant)
452
- - [ ] 0419 KE remixplan.ts: beatSimilarity — contract test exists and passes (determinism/range/invariant)
453
- - [ ] 0420 KE remixplan.ts: selfSimilarity — contract test exists and passes (determinism/range/invariant)
454
- - [ ] 0421 KE remixplan.ts: similarityAt — contract test exists and passes (determinism/range/invariant)
455
- - [ ] 0422 KE remixplan.ts: jumpScore — contract test exists and passes (determinism/range/invariant)
456
- - [ ] 0423 KE remixplan.ts: segmentCount — contract test exists and passes (determinism/range/invariant)
457
- - [ ] 0424 KE remixplan.ts: variationWindow — contract test exists and passes (determinism/range/invariant)
458
- - [ ] 0425 KE remixplan.ts: bestTargetBeat — contract test exists and passes (determinism/range/invariant)
459
- - [ ] 0426 KE remixplan.ts: planRemix — contract test exists and passes (determinism/range/invariant)
460
- - [ ] 0427 KE remixplan.ts: identityPlan — contract test exists and passes (determinism/range/invariant)
461
- - [ ] 0428 KE remixplan.ts: planLength — contract test exists and passes (determinism/range/invariant)
462
- - [ ] 0429 KE remixplan.ts: planJoints — contract test exists and passes (determinism/range/invariant)
463
- - [ ] 0430 KE remixplan.ts: planCuts — contract test exists and passes (determinism/range/invariant)
464
- - [ ] 0431 KE remixplan.ts: pieceAtOutputBeat — contract test exists and passes (determinism/range/invariant)
465
- - [ ] 0432 KE remixplan.ts: equalPowerGain — contract test exists and passes (determinism/range/invariant)
466
- - [ ] 0433 KE remixplan.ts: validatePlan — contract test exists and passes (determinism/range/invariant)
467
- - [ ] 0434 KE motionpref.ts: MOTION_PREF_KEY — contract test exists and passes (determinism/range/invariant)
468
- - [ ] 0435 KE motionpref.ts: MotionStorage — contract test exists and passes (determinism/range/invariant)
469
- - [ ] 0436 KE motionpref.ts: MotionRoot — contract test exists and passes (determinism/range/invariant)
470
- - [ ] 0437 KE motionpref.ts: memoryMotionStorage — contract test exists and passes (determinism/range/invariant)
471
- - [ ] 0438 KE motionpref.ts: sessionStorageOrMemoryMotion — contract test exists and passes (determinism/range/invariant)
472
- - [ ] 0439 KE motionpref.ts: reduceMotionApplied — contract test exists and passes (determinism/range/invariant)
473
- - [ ] 0440 KE motionpref.ts: reduceMotionStored — contract test exists and passes (determinism/range/invariant)
474
- - [ ] 0441 KE motionpref.ts: setReduceMotion — contract test exists and passes (determinism/range/invariant)
475
- - [ ] 0442 KE motionpref.ts: toggleReduceMotion — contract test exists and passes (determinism/range/invariant)
476
- - [ ] 0443 KE harmonyengine.ts: ProgressionSpec — contract test exists and passes (determinism/range/invariant)
477
- - [ ] 0444 KE harmonyengine.ts: ChordEvent — contract test exists and passes (determinism/range/invariant)
478
- - [ ] 0445 KE harmonyengine.ts: CadenceName — contract test exists and passes (determinism/range/invariant)
479
- - [ ] 0446 KE harmonyengine.ts: RelativeSwap — contract test exists and passes (determinism/range/invariant)
480
- - [ ] 0447 KE harmonyengine.ts: PROGRESSION_SETS — contract test exists and passes (determinism/range/invariant)
481
- - [ ] 0448 KE harmonyengine.ts: PROGRESSION_IDS — contract test exists and passes (determinism/range/invariant)
482
- - [ ] 0449 KE harmonyengine.ts: hashSeed — contract test exists and passes (determinism/range/invariant)
483
- - [ ] 0450 KE harmonyengine.ts: mulberry32 — contract test exists and passes (determinism/range/invariant)
484
- - [ ] 0451 KE harmonyengine.ts: tensionOf — contract test exists and passes (determinism/range/invariant)
485
- - [ ] 0452 KE harmonyengine.ts: pickProgression — contract test exists and passes (determinism/range/invariant)
486
- - [ ] 0453 KE harmonyengine.ts: generateProgression — contract test exists and passes (determinism/range/invariant)
487
- - [ ] 0454 KE harmonyengine.ts: detectCadence — contract test exists and passes (determinism/range/invariant)
488
- - [ ] 0455 KE harmonyengine.ts: reharmonizeDiatonic — contract test exists and passes (determinism/range/invariant)
489
- - [ ] 0456 KE harmonyengine.ts: reharmonizeRelative — contract test exists and passes (determinism/range/invariant)
490
- - [ ] 0457 KE family.ts: FAMILY_SLUGS — contract test exists and passes (determinism/range/invariant)
491
- - [ ] 0458 KE family.ts: FamilyMember — contract test exists and passes (determinism/range/invariant)
492
- - [ ] 0459 KE family.ts: FAMILY_ACCENTS — contract test exists and passes (determinism/range/invariant)
493
- - [ ] 0460 KE family.ts: familyrow — contract test exists and passes (determinism/range/invariant)
494
- - [ ] 0461 KE stages.ts: StageId — contract test exists and passes (determinism/range/invariant)
495
- - [ ] 0462 KE stages.ts: StudioStage — contract test exists and passes (determinism/range/invariant)
496
- - [ ] 0463 KE stages.ts: STUDIO_STAGES — contract test exists and passes (determinism/range/invariant)
497
- - [ ] 0464 KE stages.ts: findStage — contract test exists and passes (determinism/range/invariant)
498
- - [ ] 0465 KE seed.ts: seedGenres — contract test exists and passes (determinism/range/invariant)
499
- - [ ] 0466 KE seed.ts: seedTimelineTracks — contract test exists and passes (determinism/range/invariant)
500
- - [ ] 0467 KE seed.ts: seedMixerStrips — contract test exists and passes (determinism/range/invariant)
501
- - [ ] 0468 KE seed.ts: seedReadouts — contract test exists and passes (determinism/range/invariant)
502
- - [ ] 0469 KE seed.ts: seedLibraryTracks — contract test exists and passes (determinism/range/invariant)
503
- - [ ] 0470 KE seed.ts: seedStageCards — contract test exists and passes (determinism/range/invariant)
504
- - [ ] 0471 KE seed.ts: seedHeroBadges — contract test exists and passes (determinism/range/invariant)
505
- - [ ] 0472 KE seed.ts: seedLocaleChoices — contract test exists and passes (determinism/range/invariant)
506
- - [ ] 0473 KE reveal.ts: initReveal — contract test exists and passes (determinism/range/invariant)
507
- - [ ] 0474 KE reveal.ts: useReveal — contract test exists and passes (determinism/range/invariant)
508
- - [ ] 0475 KE genrematrix.ts: GenreStyle — contract test exists and passes (determinism/range/invariant)
509
- - [ ] 0476 KE genrematrix.ts: GenreStyle — cross-validated against the sibling tables
510
- - [ ] 0477 KE genrematrix.ts: GENRES — contract test exists and passes (determinism/range/invariant)
511
- - [ ] 0478 KE genrematrix.ts: GENRES — cross-validated against the sibling tables
512
- - [ ] 0479 KE genrematrix.ts: genreById — contract test exists and passes (determinism/range/invariant)
513
- - [ ] 0480 KE genrematrix.ts: genreById — cross-validated against the sibling tables
514
- - [ ] 0481 KE genrematrix.ts: pickBpm — contract test exists and passes (determinism/range/invariant)
515
- - [ ] 0482 KE genrematrix.ts: pickBpm — cross-validated against the sibling tables
516
- - [ ] 0483 KE genrematrix.ts: matchGenre — contract test exists and passes (determinism/range/invariant)
517
- - [ ] 0484 KE genrematrix.ts: matchGenre — cross-validated against the sibling tables
518
- - [ ] 0485 KE genrematrix.ts: validateMatrix — contract test exists and passes (determinism/range/invariant)
519
- - [ ] 0486 KE genrematrix.ts: validateMatrix — cross-validated against the sibling tables
520
- - [ ] 0487 KE theme.ts: Theme — contract test exists and passes (determinism/range/invariant)
521
- - [ ] 0488 KE theme.ts: currentTheme — contract test exists and passes (determinism/range/invariant)
522
- - [ ] 0489 KE theme.ts: applyTheme — contract test exists and passes (determinism/range/invariant)
523
- - [ ] 0490 KE theme.ts: initTheme — contract test exists and passes (determinism/range/invariant)
524
- - [ ] 0491 KE theme.ts: toggleTheme — contract test exists and passes (determinism/range/invariant)
525
- - [ ] 0492 KE cleanurl.ts: cleanUrl — contract test exists and passes (determinism/range/invariant)
526
- - [ ] 0493 KE cleanurl.ts: applyNow — contract test exists and passes (determinism/range/invariant)
527
- - [ ] 0494 KE cleanurl.ts: syncCanonical — contract test exists and passes (determinism/range/invariant)
528
- - [ ] 0495 KE speechalign.ts: SpeechAlignErrorCode — contract test exists and passes (determinism/range/invariant)
529
- - [ ] 0496 KE speechalign.ts: SpeechAlignResult — contract test exists and passes (determinism/range/invariant)
530
- - [ ] 0497 KE speechalign.ts: Segment — contract test exists and passes (determinism/range/invariant)
531
- - [ ] 0498 KE speechalign.ts: FitEntry — contract test exists and passes (determinism/range/invariant)
532
- - [ ] 0499 KE speechalign.ts: SpeechAlignParams — contract test exists and passes (determinism/range/invariant)
533
- - [ ] 0500 KE speechalign.ts: AlignPlan — contract test exists and passes (determinism/range/invariant)
534
- - [ ] 0501 KE speechalign.ts: defaultSpeechParams — contract test exists and passes (determinism/range/invariant)
535
- - [ ] 0502 KE speechalign.ts: frameRms — contract test exists and passes (determinism/range/invariant)
536
- - [ ] 0503 KE speechalign.ts: rmsToDb — contract test exists and passes (determinism/range/invariant)
537
- - [ ] 0504 KE speechalign.ts: noiseFloorDb — contract test exists and passes (determinism/range/invariant)
538
- - [ ] 0505 KE speechalign.ts: speechThresholdDb — contract test exists and passes (determinism/range/invariant)
539
- - [ ] 0506 KE speechalign.ts: voicedFlags — contract test exists and passes (determinism/range/invariant)
540
- - [ ] 0507 KE speechalign.ts: flagsToSegments — contract test exists and passes (determinism/range/invariant)
541
- - [ ] 0508 KE speechalign.ts: mergeSegments — contract test exists and passes (determinism/range/invariant)
542
- - [ ] 0509 KE speechalign.ts: trimSegments — contract test exists and passes (determinism/range/invariant)
543
- - [ ] 0510 KE speechalign.ts: segmentAt — contract test exists and passes (determinism/range/invariant)
544
- - [ ] 0511 KE speechalign.ts: totalSpeechSeconds — contract test exists and passes (determinism/range/invariant)
545
- - [ ] 0512 KE speechalign.ts: stretchRatio — contract test exists and passes (determinism/range/invariant)
546
- - [ ] 0513 KE speechalign.ts: clampStretch — contract test exists and passes (determinism/range/invariant)
547
- - [ ] 0514 KE speechalign.ts: beatGridTimes — contract test exists and passes (determinism/range/invariant)
548
- - [ ] 0515 KE speechalign.ts: fitPlan — contract test exists and passes (determinism/range/invariant)
549
- - [ ] 0516 KE speechalign.ts: planOffsets — contract test exists and passes (determinism/range/invariant)
550
- - [ ] 0517 KE speechalign.ts: maxStretchRatio — contract test exists and passes (determinism/range/invariant)
551
- - [ ] 0518 KE speechalign.ts: alignSpeech — contract test exists and passes (determinism/range/invariant)
552
- - [ ] 0519 KE beatgrid.ts: BeatErrorCode — contract test exists and passes (determinism/range/invariant)
553
- - [ ] 0520 KE beatgrid.ts: BeatResult — contract test exists and passes (determinism/range/invariant)
554
- - [ ] 0521 KE beatgrid.ts: BeatGrid — contract test exists and passes (determinism/range/invariant)
555
- - [ ] 0522 KE beatgrid.ts: TempoCurve — contract test exists and passes (determinism/range/invariant)
556
- - [ ] 0523 KE beatgrid.ts: TempoAnchor — contract test exists and passes (determinism/range/invariant)
557
- - [ ] 0524 KE beatgrid.ts: TempoMap — contract test exists and passes (determinism/range/invariant)
558
- - [ ] 0525 KE beatgrid.ts: onsetEnvelope — contract test exists and passes (determinism/range/invariant)
559
- - [ ] 0526 KE beatgrid.ts: detectTempo — contract test exists and passes (determinism/range/invariant)
560
- - [ ] 0527 KE beatgrid.ts: trackBeats — contract test exists and passes (determinism/range/invariant)
561
- - [ ] 0528 KE beatgrid.ts: gridFromBeats — contract test exists and passes (determinism/range/invariant)
562
- - [ ] 0529 KE beatgrid.ts: identityGrid — contract test exists and passes (determinism/range/invariant)
563
- - [ ] 0530 KE beatgrid.ts: beatCount — contract test exists and passes (determinism/range/invariant)
564
- - [ ] 0531 KE beatgrid.ts: isDownbeat — contract test exists and passes (determinism/range/invariant)
565
- - [ ] 0532 KE beatgrid.ts: beatTime — contract test exists and passes (determinism/range/invariant)
566
- - [ ] 0533 KE beatgrid.ts: nearestBeat — contract test exists and passes (determinism/range/invariant)
567
- - [ ] 0534 KE beatgrid.ts: quantizeToGrid — contract test exists and passes (determinism/range/invariant)
568
- - [ ] 0535 KE beatgrid.ts: swingOffset — contract test exists and passes (determinism/range/invariant)
569
- - [ ] 0536 KE beatgrid.ts: subdivideBeat — contract test exists and passes (determinism/range/invariant)
570
- - [ ] 0537 KE beatgrid.ts: tempoMapFromAnchors — contract test exists and passes (determinism/range/invariant)
571
- - [ ] 0538 KE beatgrid.ts: gridToTempoMap — contract test exists and passes (determinism/range/invariant)
572
- - [ ] 0539 KE beatgrid.ts: tempoAtTime — contract test exists and passes (determinism/range/invariant)
573
- - [ ] 0540 KE beatgrid.ts: beatsElapsed — contract test exists and passes (determinism/range/invariant)
574
- - [ ] 0541 KE beatgrid.ts: timeAtBeat — contract test exists and passes (determinism/range/invariant)
575
- - [ ] 0542 KE catalog.ts: listGenres — contract test exists and passes (determinism/range/invariant)
576
- - [ ] 0543 KE catalog.ts: listTimelineTracks — contract test exists and passes (determinism/range/invariant)
577
- - [ ] 0544 KE catalog.ts: listMixerStrips — contract test exists and passes (determinism/range/invariant)
578
- - [ ] 0545 KE catalog.ts: listReadouts — contract test exists and passes (determinism/range/invariant)
579
- - [ ] 0546 KE catalog.ts: listLibraryTracks — contract test exists and passes (determinism/range/invariant)
580
- - [ ] 0547 KE catalog.ts: listStageCards — contract test exists and passes (determinism/range/invariant)
581
- - [ ] 0548 KE catalog.ts: listHeroBadges — contract test exists and passes (determinism/range/invariant)
582
- - [ ] 0549 KE catalog.ts: listOptionChoices — contract test exists and passes (determinism/range/invariant)
583
-
584
- ## wave KD — engine doctrine audits (rulemap section 1, made explicit)
585
-
586
- - [ ] 0550 KD capacitor.config.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
587
- - [ ] 0551 KD capacitor.config.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
588
- - [ ] 0552 KD capacitor.config.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
589
- - [ ] 0553 KD capacitor.config.ts: error contract — typed result or error class with machine-readable code
590
- - [ ] 0554 KD capacitor.config.ts: size and shape — one domain per file, tables first, orchestrator last
591
- - [ ] 0555 KD playerbus.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
592
- - [ ] 0556 KD playerbus.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
593
- - [ ] 0557 KD playerbus.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
594
- - [ ] 0558 KD playerbus.ts: error contract — typed result or error class with machine-readable code
595
- - [ ] 0559 KD playerbus.ts: size and shape — one domain per file, tables first, orchestrator last
596
- - [ ] 0560 KD timelinemodel.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
597
- - [ ] 0561 KD timelinemodel.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
598
- - [ ] 0562 KD timelinemodel.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
599
- - [ ] 0563 KD timelinemodel.ts: error contract — typed result or error class with machine-readable code
600
- - [ ] 0564 KD timelinemodel.ts: size and shape — one domain per file, tables first, orchestrator last
601
- - [ ] 0565 KD dawview.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
602
- - [ ] 0566 KD dawview.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
603
- - [ ] 0567 KD dawview.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
604
- - [ ] 0568 KD dawview.ts: error contract — typed result or error class with machine-readable code
605
- - [ ] 0569 KD dawview.ts: size and shape — one domain per file, tables first, orchestrator last
606
- - [ ] 0570 KD onboardingstate.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
607
- - [ ] 0571 KD onboardingstate.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
608
- - [ ] 0572 KD onboardingstate.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
609
- - [ ] 0573 KD onboardingstate.ts: error contract — typed result or error class with machine-readable code
610
- - [ ] 0574 KD onboardingstate.ts: size and shape — one domain per file, tables first, orchestrator last
611
- - [ ] 0575 KD ducking.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
612
- - [ ] 0576 KD ducking.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
613
- - [ ] 0577 KD ducking.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
614
- - [ ] 0578 KD ducking.ts: error contract — typed result or error class with machine-readable code
615
- - [ ] 0579 KD ducking.ts: size and shape — one domain per file, tables first, orchestrator last
616
- - [ ] 0580 KD vite.config.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
617
- - [ ] 0581 KD vite.config.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
618
- - [ ] 0582 KD vite.config.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
619
- - [ ] 0583 KD vite.config.ts: error contract — typed result or error class with machine-readable code
620
- - [ ] 0584 KD vite.config.ts: size and shape — one domain per file, tables first, orchestrator last
621
- - [ ] 0585 KD zoomlock.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
622
- - [ ] 0586 KD zoomlock.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
623
- - [ ] 0587 KD zoomlock.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
624
- - [ ] 0588 KD zoomlock.ts: error contract — typed result or error class with machine-readable code
625
- - [ ] 0589 KD zoomlock.ts: size and shape — one domain per file, tables first, orchestrator last
626
- - [ ] 0590 KD drizzle.config.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
627
- - [ ] 0591 KD drizzle.config.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
628
- - [ ] 0592 KD drizzle.config.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
629
- - [ ] 0593 KD drizzle.config.ts: error contract — typed result or error class with machine-readable code
630
- - [ ] 0594 KD drizzle.config.ts: size and shape — one domain per file, tables first, orchestrator last
631
- - [ ] 0595 KD analyze.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
632
- - [ ] 0596 KD analyze.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
633
- - [ ] 0597 KD analyze.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
634
- - [ ] 0598 KD analyze.ts: error contract — typed result or error class with machine-readable code
635
- - [ ] 0599 KD analyze.ts: size and shape — one domain per file, tables first, orchestrator last
636
- - [ ] 0600 KD vocalsynth.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
637
- - [ ] 0601 KD vocalsynth.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
638
- - [ ] 0602 KD vocalsynth.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
639
- - [ ] 0603 KD vocalsynth.ts: error contract — typed result or error class with machine-readable code
640
- - [ ] 0604 KD vocalsynth.ts: size and shape — one domain per file, tables first, orchestrator last
641
- - [ ] 0605 KD takestore.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
642
- - [ ] 0606 KD takestore.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
643
- - [ ] 0607 KD takestore.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
644
- - [ ] 0608 KD takestore.ts: error contract — typed result or error class with machine-readable code
645
- - [ ] 0609 KD takestore.ts: size and shape — one domain per file, tables first, orchestrator last
646
- - [ ] 0610 KD rhythmgrammar.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
647
- - [ ] 0611 KD rhythmgrammar.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
648
- - [ ] 0612 KD rhythmgrammar.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
649
- - [ ] 0613 KD rhythmgrammar.ts: error contract — typed result or error class with machine-readable code
650
- - [ ] 0614 KD rhythmgrammar.ts: size and shape — one domain per file, tables first, orchestrator last
651
- - [ ] 0615 KD arranger.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
652
- - [ ] 0616 KD arranger.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
653
- - [ ] 0617 KD arranger.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
654
- - [ ] 0618 KD arranger.ts: error contract — typed result or error class with machine-readable code
655
- - [ ] 0619 KD arranger.ts: size and shape — one domain per file, tables first, orchestrator last
656
- - [ ] 0620 KD spectrum.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
657
- - [ ] 0621 KD spectrum.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
658
- - [ ] 0622 KD spectrum.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
659
- - [ ] 0623 KD spectrum.ts: error contract — typed result or error class with machine-readable code
660
- - [ ] 0624 KD spectrum.ts: size and shape — one domain per file, tables first, orchestrator last
661
- - [ ] 0625 KD fingerprint.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
662
- - [ ] 0626 KD fingerprint.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
663
- - [ ] 0627 KD fingerprint.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
664
- - [ ] 0628 KD fingerprint.ts: error contract — typed result or error class with machine-readable code
665
- - [ ] 0629 KD fingerprint.ts: size and shape — one domain per file, tables first, orchestrator last
666
- - [ ] 0630 KD mixergraph.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
667
- - [ ] 0631 KD mixergraph.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
668
- - [ ] 0632 KD mixergraph.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
669
- - [ ] 0633 KD mixergraph.ts: error contract — typed result or error class with machine-readable code
670
- - [ ] 0634 KD mixergraph.ts: size and shape — one domain per file, tables first, orchestrator last
671
- - [ ] 0635 KD vitest.config.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
672
- - [ ] 0636 KD vitest.config.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
673
- - [ ] 0637 KD vitest.config.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
674
- - [ ] 0638 KD vitest.config.ts: error contract — typed result or error class with machine-readable code
675
- - [ ] 0639 KD vitest.config.ts: size and shape — one domain per file, tables first, orchestrator last
676
- - [ ] 0640 KD katexis.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
677
- - [ ] 0641 KD katexis.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
678
- - [ ] 0642 KD katexis.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
679
- - [ ] 0643 KD katexis.ts: error contract — typed result or error class with machine-readable code
680
- - [ ] 0644 KD katexis.ts: size and shape — one domain per file, tables first, orchestrator last
681
- - [ ] 0645 KD musictheory.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
682
- - [ ] 0646 KD musictheory.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
683
- - [ ] 0647 KD musictheory.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
684
- - [ ] 0648 KD musictheory.ts: error contract — typed result or error class with machine-readable code
685
- - [ ] 0649 KD musictheory.ts: size and shape — one domain per file, tables first, orchestrator last
686
- - [ ] 0650 KD familyurl.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
687
- - [ ] 0651 KD familyurl.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
688
- - [ ] 0652 KD familyurl.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
689
- - [ ] 0653 KD familyurl.ts: error contract — typed result or error class with machine-readable code
690
- - [ ] 0654 KD familyurl.ts: size and shape — one domain per file, tables first, orchestrator last
691
- - [ ] 0655 KD db.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
692
- - [ ] 0656 KD db.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
693
- - [ ] 0657 KD db.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
694
- - [ ] 0658 KD db.ts: error contract — typed result or error class with machine-readable code
695
- - [ ] 0659 KD db.ts: size and shape — one domain per file, tables first, orchestrator last
696
- - [ ] 0660 KD loudness.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
697
- - [ ] 0661 KD loudness.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
698
- - [ ] 0662 KD loudness.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
699
- - [ ] 0663 KD loudness.ts: error contract — typed result or error class with machine-readable code
700
- - [ ] 0664 KD loudness.ts: size and shape — one domain per file, tables first, orchestrator last
701
- - [ ] 0665 KD takeevents.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
702
- - [ ] 0666 KD takeevents.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
703
- - [ ] 0667 KD takeevents.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
704
- - [ ] 0668 KD takeevents.ts: error contract — typed result or error class with machine-readable code
705
- - [ ] 0669 KD takeevents.ts: size and shape — one domain per file, tables first, orchestrator last
706
- - [ ] 0670 KD remixplan.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
707
- - [ ] 0671 KD remixplan.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
708
- - [ ] 0672 KD remixplan.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
709
- - [ ] 0673 KD remixplan.ts: error contract — typed result or error class with machine-readable code
710
- - [ ] 0674 KD remixplan.ts: size and shape — one domain per file, tables first, orchestrator last
711
- - [ ] 0675 KD motionpref.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
712
- - [ ] 0676 KD motionpref.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
713
- - [ ] 0677 KD motionpref.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
714
- - [ ] 0678 KD motionpref.ts: error contract — typed result or error class with machine-readable code
715
- - [ ] 0679 KD motionpref.ts: size and shape — one domain per file, tables first, orchestrator last
716
- - [ ] 0680 KD harmonyengine.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
717
- - [ ] 0681 KD harmonyengine.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
718
- - [ ] 0682 KD harmonyengine.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
719
- - [ ] 0683 KD harmonyengine.ts: error contract — typed result or error class with machine-readable code
720
- - [ ] 0684 KD harmonyengine.ts: size and shape — one domain per file, tables first, orchestrator last
721
- - [ ] 0685 KD family.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
722
- - [ ] 0686 KD family.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
723
- - [ ] 0687 KD family.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
724
- - [ ] 0688 KD family.ts: error contract — typed result or error class with machine-readable code
725
- - [ ] 0689 KD family.ts: size and shape — one domain per file, tables first, orchestrator last
726
- - [ ] 0690 KD stages.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
727
- - [ ] 0691 KD stages.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
728
- - [ ] 0692 KD stages.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
729
- - [ ] 0693 KD stages.ts: error contract — typed result or error class with machine-readable code
730
- - [ ] 0694 KD stages.ts: size and shape — one domain per file, tables first, orchestrator last
731
- - [ ] 0695 KD seed.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
732
- - [ ] 0696 KD seed.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
733
- - [ ] 0697 KD seed.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
734
- - [ ] 0698 KD seed.ts: error contract — typed result or error class with machine-readable code
735
- - [ ] 0699 KD seed.ts: size and shape — one domain per file, tables first, orchestrator last
736
- - [ ] 0700 KD reveal.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
737
- - [ ] 0701 KD reveal.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
738
- - [ ] 0702 KD reveal.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
739
- - [ ] 0703 KD reveal.ts: error contract — typed result or error class with machine-readable code
740
- - [ ] 0704 KD reveal.ts: size and shape — one domain per file, tables first, orchestrator last
741
- - [ ] 0705 KD genrematrix.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
742
- - [ ] 0706 KD genrematrix.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
743
- - [ ] 0707 KD genrematrix.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
744
- - [ ] 0708 KD genrematrix.ts: error contract — typed result or error class with machine-readable code
745
- - [ ] 0709 KD genrematrix.ts: size and shape — one domain per file, tables first, orchestrator last
746
- - [ ] 0710 KD theme.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
747
- - [ ] 0711 KD theme.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
748
- - [ ] 0712 KD theme.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
749
- - [ ] 0713 KD theme.ts: error contract — typed result or error class with machine-readable code
750
- - [ ] 0714 KD theme.ts: size and shape — one domain per file, tables first, orchestrator last
751
- - [ ] 0715 KD cleanurl.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
752
- - [ ] 0716 KD cleanurl.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
753
- - [ ] 0717 KD cleanurl.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
754
- - [ ] 0718 KD cleanurl.ts: error contract — typed result or error class with machine-readable code
755
- - [ ] 0719 KD cleanurl.ts: size and shape — one domain per file, tables first, orchestrator last
756
- - [ ] 0720 KD speechalign.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
757
- - [ ] 0721 KD speechalign.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
758
- - [ ] 0722 KD speechalign.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
759
- - [ ] 0723 KD speechalign.ts: error contract — typed result or error class with machine-readable code
760
- - [ ] 0724 KD speechalign.ts: size and shape — one domain per file, tables first, orchestrator last
761
- - [ ] 0725 KD beatgrid.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
762
- - [ ] 0726 KD beatgrid.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
763
- - [ ] 0727 KD beatgrid.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
764
- - [ ] 0728 KD beatgrid.ts: error contract — typed result or error class with machine-readable code
765
- - [ ] 0729 KD beatgrid.ts: size and shape — one domain per file, tables first, orchestrator last
766
- - [ ] 0730 KD catalog.ts: purity audit — zero DOM, zero AudioContext, zero storage imports
767
- - [ ] 0731 KD catalog.ts: JSDoc head — responsibilities, non-goals, pure and multi-mode note
768
- - [ ] 0732 KD catalog.ts: determinism audit — every random draw rides mulberry32(hashSeed(fnv-1a))
769
- - [ ] 0733 KD catalog.ts: error contract — typed result or error class with machine-readable code
770
- - [ ] 0734 KD catalog.ts: size and shape — one domain per file, tables first, orchestrator last
771
-
772
- ## wave KS — sol theme verification (design system pinned)
773
-
774
- - [ ] 0735 KS sol.css: surface ladder (#242424 to #494949) contrast against ink ladder
775
- - [ ] 0736 KS sol.css: amber #d9962e confined to brand/cta of content
776
- - [ ] 0737 KS sol.css: windows accent #4cc2ff confined to chrome focus
777
- - [ ] 0738 KS sol.css: hairlines via color-mix 5/10 percent, no pure black
778
- - [ ] 0739 KS sol.css: fluent shadows scale (contact, window, flyout)
779
- - [ ] 0740 KS sol.css: motion curves (250ms window, 150ms micro, press scale .7, never scale(0))
780
- - [ ] 0741 KS sol.css: mica/acrylic backdrop pairs with -webkit- prefix
781
- - [ ] 0742 KS sol.css: tabular-nums on all technical readouts
782
- - [ ] 0743 KS sol.css: scrollbar invisible until hover
783
- - [ ] 0744 KS sol.css: reduced-motion guards on loops and decorative transforms
784
- - [ ] 0745 KS sol.css: no pills as buttons (radius ladder respected)
785
- - [ ] 0746 KS sol.css: no emoji as icons (lucide only)
786
- - [ ] 0747 KS sol.css: focus visible ring on every interactive element
787
- - [ ] 0748 KS sol.css: touch targets at least 44px
788
- - [ ] 0749 KS sol.css: sticky footer/taskbar behavior at short and tall viewports
789
- - [ ] 0750 KS Sol/Sol.tsx: anchor naming (folder = page = anchor file), aria labels present
790
- - [ ] 0751 KS Sol/Sol.tsx: reads data through catalog/takestore seams (no hardcoded rows)
791
- - [ ] 0752 KS Sol/generate/generate.tsx: anchor naming (folder = page = anchor file), aria labels present
792
- - [ ] 0753 KS Sol/generate/generate.tsx: reads data through catalog/takestore seams (no hardcoded rows)
793
- - [ ] 0754 KS Sol/settings/settings.tsx: anchor naming (folder = page = anchor file), aria labels present
794
- - [ ] 0755 KS Sol/settings/settings.tsx: reads data through catalog/takestore seams (no hardcoded rows)
795
- - [ ] 0756 KS Sol/studio/VuMeter.tsx: anchor naming (folder = page = anchor file), aria labels present
796
- - [ ] 0757 KS Sol/studio/VuMeter.tsx: reads data through catalog/takestore seams (no hardcoded rows)
797
- - [ ] 0758 KS Sol/studio/audioengine.ts: anchor naming (folder = page = anchor file), aria labels present
798
- - [ ] 0759 KS Sol/studio/audioengine.ts: reads data through catalog/takestore seams (no hardcoded rows)
799
- - [ ] 0760 KS Sol/studio/StageStepper.tsx: anchor naming (folder = page = anchor file), aria labels present
800
- - [ ] 0761 KS Sol/studio/StageStepper.tsx: reads data through catalog/takestore seams (no hardcoded rows)
801
- - [ ] 0762 KS Sol/studio/tuning.ts: anchor naming (folder = page = anchor file), aria labels present
802
- - [ ] 0763 KS Sol/studio/tuning.ts: reads data through catalog/takestore seams (no hardcoded rows)
803
- - [ ] 0764 KS Sol/studio/studio.tsx: anchor naming (folder = page = anchor file), aria labels present
804
- - [ ] 0765 KS Sol/studio/studio.tsx: reads data through catalog/takestore seams (no hardcoded rows)
805
- - [ ] 0766 KS Sol/studio/Fader.tsx: anchor naming (folder = page = anchor file), aria labels present
806
- - [ ] 0767 KS Sol/studio/Fader.tsx: reads data through catalog/takestore seams (no hardcoded rows)
807
- - [ ] 0768 KS Sol/toast/Toast.tsx: anchor naming (folder = page = anchor file), aria labels present
808
- - [ ] 0769 KS Sol/toast/Toast.tsx: reads data through catalog/takestore seams (no hardcoded rows)
809
- - [ ] 0770 KS Sol/onboarding/onboarding.tsx: anchor naming (folder = page = anchor file), aria labels present
810
- - [ ] 0771 KS Sol/onboarding/onboarding.tsx: reads data through catalog/takestore seams (no hardcoded rows)
811
- - [ ] 0772 KS Sol/shell/Playerbar.tsx: anchor naming (folder = page = anchor file), aria labels present
812
- - [ ] 0773 KS Sol/shell/Playerbar.tsx: reads data through catalog/takestore seams (no hardcoded rows)
813
- - [ ] 0774 KS Sol/shell/Shell.tsx: anchor naming (folder = page = anchor file), aria labels present
814
- - [ ] 0775 KS Sol/shell/Shell.tsx: reads data through catalog/takestore seams (no hardcoded rows)
815
- - [ ] 0776 KS Sol/intro/intro.tsx: anchor naming (folder = page = anchor file), aria labels present
816
- - [ ] 0777 KS Sol/intro/intro.tsx: reads data through catalog/takestore seams (no hardcoded rows)
817
- - [ ] 0778 KS Sol/home/songcard.tsx: anchor naming (folder = page = anchor file), aria labels present
818
- - [ ] 0779 KS Sol/home/songcard.tsx: reads data through catalog/takestore seams (no hardcoded rows)
819
- - [ ] 0780 KS Sol/home/home.tsx: anchor naming (folder = page = anchor file), aria labels present
820
- - [ ] 0781 KS Sol/home/home.tsx: reads data through catalog/takestore seams (no hardcoded rows)
821
- - [ ] 0782 KS Sol/home/entrygate.tsx: anchor naming (folder = page = anchor file), aria labels present
822
- - [ ] 0783 KS Sol/home/entrygate.tsx: reads data through catalog/takestore seams (no hardcoded rows)
823
- - [ ] 0784 KS Sol/home/coverart.tsx: anchor naming (folder = page = anchor file), aria labels present
824
- - [ ] 0785 KS Sol/home/coverart.tsx: reads data through catalog/takestore seams (no hardcoded rows)
825
- - [ ] 0786 KS Sol/library/library.tsx: anchor naming (folder = page = anchor file), aria labels present
826
- - [ ] 0787 KS Sol/library/library.tsx: reads data through catalog/takestore seams (no hardcoded rows)
827
- - [ ] 0788 KS Sol/notfound/notfound.tsx: anchor naming (folder = page = anchor file), aria labels present
828
- - [ ] 0789 KS Sol/notfound/notfound.tsx: reads data through catalog/takestore seams (no hardcoded rows)
829
-
830
- ## wave KT — test suite ladder (contract of every engine)
831
-
832
- - [ ] 0790 KT spectrum.test.ts: recovers a pure sine
833
- - [ ] 0791 KT spectrum.test.ts: answers zero imaginary energy for a real cosine symmetric input
834
- - [ ] 0792 KT spectrum.test.ts: folds a 440hz sine into the A pitch class
835
- - [ ] 0793 KT spectrum.test.ts: correlates a C-major chroma to the C major key
836
- - [ ] 0794 KT spectrum.test.ts: correlates an A-minor profile to the A minor key
837
- - [ ] 0795 KT motionpref.test.ts: applies and clears the document flag with the session note
838
- - [ ] 0796 KT motionpref.test.ts: toggles from the current document state
839
- - [ ] 0797 KT motionpref.test.ts: degrades when the session storage refuses the write
840
- - [ ] 0798 KT motionpref.test.ts: reads an untouched document and storage as motion allowed
841
- - [ ] 0799 KT genrematrix.test.ts: holds the fifteen documented genres
842
- - [ ] 0800 KT genrematrix.test.ts: carries unique lowercase ids
843
- - [ ] 0801 KT genrematrix.test.ts: references real rhythmgrammar families
844
- - [ ] 0802 KT genrematrix.test.ts: references real progression sets, known scales and a legal swing
845
- - [ ] 0803 KT genrematrix.test.ts: keeps every bpm window inside the 40-220 band with a default inside it
846
- - [ ] 0804 KT genrematrix.test.ts: masters inside the documented loudness band
847
- - [ ] 0805 KT genrematrix.test.ts: tags non-empty timbre hints on every genre
848
- - [ ] 0806 KT genrematrix.test.ts: answers genreById with the entry or nothing
849
- - [ ] 0807 KT genrematrix.test.ts: replays the same bpm for the same seed, always inside the window
850
- - [ ] 0808 KT genrematrix.test.ts: varies with the seed while staying inside the window
851
- - [ ] 0809 KT genrematrix.test.ts: matches by label, alias and timbre tags
852
- - [ ] 0810 KT genrematrix.test.ts: scores free text and answers nothing on a miss
853
- - [ ] 0811 KT genrematrix.test.ts: clears the matrix against the sibling tables
854
- - [ ] 0812 KT timelinemodel.test.ts: snaps a time to the nearest step
855
- - [ ] 0813 KT timelinemodel.test.ts: cleans the float noise of the division
856
- - [ ] 0814 KT timelinemodel.test.ts: snaps a clip start and rounds its duration to whole steps
857
- - [ ] 0815 KT timelinemodel.test.ts: refuses a bad time or a bad grid
858
- - [ ] 0816 KT timelinemodel.test.ts: flags same track sharing time and spares touching edges
859
- - [ ] 0817 KT timelinemodel.test.ts: never flags different tracks
860
- - [ ] 0818 KT timelinemodel.test.ts: validates the placement and reports the offending pair
861
- - [ ] 0819 KT timelinemodel.test.ts: skips the clip itself and honors the allowoverlap escape hatch
862
- - [ ] 0820 KT timelinemodel.test.ts: cuts one clip into two spans that cover the original
863
- - [ ] 0821 KT timelinemodel.test.ts: refuses a split on the edges or outside the span
864
- - [ ] 0822 KT timelinemodel.test.ts: slides the start right and keeps the end
865
- - [ ] 0823 KT timelinemodel.test.ts: slides the end left and keeps the start
866
- - [ ] 0824 KT timelinemodel.test.ts: refuses a trim that leaves the span or breaks the minimum duration
867
- - [ ] 0825 KT timelinemodel.test.ts: moves a clip into a free span
868
- - [ ] 0826 KT timelinemodel.test.ts: clamps the landing at zero
869
- - [ ] 0827 KT timelinemodel.test.ts: rejects the landing on an occupied spot
870
- - [ ] 0828 KT timelinemodel.test.ts: snaps the landing when a grid is passed and moves across tracks
871
- - [ ] 0829 KT timelinemodel.test.ts: answers the clips playing at one instant
872
- - [ ] 0830 KT timelinemodel.test.ts: refuses a negative instant
873
- - [ ] 0831 KT timelinemodel.test.ts: measures the arrangement length by the last clip end
874
- - [ ] 0832 KT rhythmgrammar.test.ts: documents eight lanes, eight families and sixteen steps
875
- - [ ] 0833 KT rhythmgrammar.test.ts: parses the documented velocity glyphs
876
- - [ ] 0834 KT rhythmgrammar.test.ts: defaults missing lanes to a silent sixteen-step row
877
- - [ ] 0835 KT rhythmgrammar.test.ts: refuses malformed rows outright
878
- - [ ] 0836 KT rhythmgrammar.test.ts: yields a valid eight-lane grid for every family
879
- - [ ] 0837 KT rhythmgrammar.test.ts: drives house and techno four on the floor
880
- - [ ] 0838 KT rhythmgrammar.test.ts: clones deeply so mutations never reach the tables
881
- - [ ] 0839 KT rhythmgrammar.test.ts: stays straight at 0.5 and clamps outside the band
882
- - [ ] 0840 KT rhythmgrammar.test.ts: shifts the offbeat 8ths by 4r - 2 on division 2
883
- - [ ] 0841 KT rhythmgrammar.test.ts: shifts every odd 16th by 2r - 1 on division 4
884
- - [ ] 0842 KT rhythmgrammar.test.ts: attaches the offsets without touching the velocities
885
- - [ ] 0843 KT rhythmgrammar.test.ts: peaks every accent map on the downbeats
886
- - [ ] 0844 KT rhythmgrammar.test.ts: writes the documented per-style curves
887
- - [ ] 0845 KT rhythmgrammar.test.ts: multiplies the grid by the curve and clamps to the unit band
888
- - [ ] 0846 KT rhythmgrammar.test.ts: passes the grid through untouched when the rng draws over the chance
889
- - [ ] 0847 KT rhythmgrammar.test.ts: replays the same fill for the same seed
890
- - [ ] 0848 KT rhythmgrammar.test.ts: cascades the snare over the last four steps and halves the hats
891
- - [ ] 0849 KT rhythmgrammar.test.ts: lands different fills for different seeds
892
- - [ ] 0850 KT rhythmgrammar.test.ts: folds half-time inside one bar: even steps carry the phrase, odd steps and the back half drop
893
- - [ ] 0851 KT rhythmgrammar.test.ts: loops the phrase twice per bar in double time
894
- - [ ] 0852 KT harmonyengine.test.ts: folds a seed string into one uint32, deterministically
895
- - [ ] 0853 KT harmonyengine.test.ts: runs the same mulberry32 sequence for the same seed
896
- - [ ] 0854 KT harmonyengine.test.ts: documents the nine style families
897
- - [ ] 0855 KT harmonyengine.test.ts: parses every numeral of every loop in the set
898
- - [ ] 0856 KT harmonyengine.test.ts: plays the same chords for the same seed, key and mood
899
- - [ ] 0857 KT harmonyengine.test.ts: varies with the seed and honours the bar count
900
- - [ ] 0858 KT harmonyengine.test.ts: routes moods to the documented sets
901
- - [ ] 0859 KT harmonyengine.test.ts: keeps every tension inside the unit band
902
- - [ ] 0860 KT harmonyengine.test.ts: weights the functional degrees and quality extensions
903
- - [ ] 0861 KT harmonyengine.test.ts: answers the documented table
904
- - [ ] 0862 KT harmonyengine.test.ts: answers none for short, chromatic or non-cadential pairs
905
- - [ ] 0863 KT harmonyengine.test.ts: substitutes along the documented third relations, seeded
906
- - [ ] 0864 KT harmonyengine.test.ts: swaps a major key to its relative minor, notes untouched
907
- - [ ] 0865 KT harmonyengine.test.ts: swaps a minor key back to its relative major
908
- - [ ] 0866 KT arranger.test.ts: is deterministic: same prompt and seed rebuild the exact take
909
- - [ ] 0867 KT arranger.test.ts: carries the prompt name, the id and the seed back on the plan
910
- - [ ] 0868 KT arranger.test.ts: resolves the genre from the matrix and keeps the bpm inside its band
911
- - [ ] 0869 KT arranger.test.ts: honours a pinned genre over the prompt match
912
- - [ ] 0870 KT arranger.test.ts: covers the sixteen bars with chords, one per bar
913
- - [ ] 0871 KT arranger.test.ts: splits the sections over the section plan and sums back to the bars
914
- - [ ] 0872 KT arranger.test.ts: places non-overlapping clips on the four roles
915
- - [ ] 0873 KT arranger.test.ts: opens the desk with the four role strips plus the master
916
- - [ ] 0874 KT arranger.test.ts: carries a sixteen-step grid with every rack lane and swing offsets
917
- - [ ] 0875 KT arranger.test.ts: validates clean: the sound plan answers no problems
918
- - [ ] 0876 KT arranger.test.ts: flags a broken plan (duration tampered)
919
- - [ ] 0877 KT arranger.test.ts: never fails for a short prompt (the fallback genre catches it)
920
- - [ ] 0878 KT arranger.test.ts: matches a prompt that names the genre
921
- - [ ] 0879 KT arranger.test.ts: pins the genre id when asked
922
- - [ ] 0880 KT arranger.test.ts: falls back into the matrix for a prompt with no hit
923
- - [ ] 0881 KT speechalign.test.ts: frames the recording into RMS windows
924
- - [ ] 0882 KT speechalign.test.ts: derives the silence threshold from the envelope
925
- - [ ] 0883 KT speechalign.test.ts: finds the two phrases at their hand-checkable boundaries
926
- - [ ] 0884 KT speechalign.test.ts: stitches voiced-frame runs into phrases
927
- - [ ] 0885 KT speechalign.test.ts: merges close phrases and trims blips
928
- - [ ] 0886 KT speechalign.test.ts: locates phrases and sums the speech time
929
- - [ ] 0887 KT speechalign.test.ts: builds the beat grid and the stretch limits
930
- - [ ] 0888 KT speechalign.test.ts: fits phrases into slots and clamps the stretch
931
- - [ ] 0889 KT speechalign.test.ts: plans the offsets and reports the worst stretch
932
- - [ ] 0890 KT speechalign.test.ts: aligns the synthesised voice onto a 120 BPM grid
933
- - [ ] 0891 KT speechalign.test.ts: refuses broken input with machine readable codes
934
- - [ ] 0892 KT dawview.test.ts: formats the classic m:ss.t readout
935
- - [ ] 0893 KT dawview.test.ts: answers the zero clock for junk input
936
- - [ ] 0894 KT dawview.test.ts: maps a clip onto its percent geometry
937
- - [ ] 0895 KT dawview.test.ts: clamps a clip that runs past the arrangement
938
- - [ ] 0896 KT dawview.test.ts: never answers negative or over-full geometry
939
- - [ ] 0897 KT dawview.test.ts: maps the −60..+6 dB travel onto 0..1
940
- - [ ] 0898 KT dawview.test.ts: round-trips a fader value through the unit space
941
- - [ ] 0899 KT dawview.test.ts: clamps out-of-travel values
942
- - [ ] 0900 KT dawview.test.ts: snaps the unit walk onto 0.5 dB steps
943
- - [ ] 0901 KT dawview.test.ts: maps a dBFS level onto the 0..100 meter with the −48 floor
944
- - [ ] 0902 KT dawview.test.ts: maps the playhead percent and clamps both ends
945
- - [ ] 0903 KT dawview.test.ts: formats gains with the silence glyph
946
- - [ ] 0904 KT mixergraph.test.ts: builds the desk from the real seed strips, master included
947
- - [ ] 0905 KT mixergraph.test.ts: refuses a desk without a master row
948
- - [ ] 0906 KT mixergraph.test.ts: validates duplicate ids, unknown sends and non finite gains
949
- - [ ] 0907 KT mixergraph.test.ts: rejects a send loop between two strips
950
- - [ ] 0908 KT mixergraph.test.ts: rejects a strip that sends to itself
951
- - [ ] 0909 KT mixergraph.test.ts: accepts every strip sending straight to the master
952
- - [ ] 0910 KT mixergraph.test.ts: converts dB to linear and back
953
- - [ ] 0911 KT mixergraph.test.ts: chains the fader and the master additively in dB
954
- - [ ] 0912 KT mixergraph.test.ts: mutes a strip to negative infinity and never mutates the input graph
955
- - [ ] 0913 KT mixergraph.test.ts: lets solo win: a soloed strip stays audible even muted, the rest falls silent
956
- - [ ] 0914 KT mixergraph.test.ts: answers the whole desk in one pass
957
- - [ ] 0915 KT mixergraph.test.ts: resolves the direct desk path when a strip sends nowhere
958
- - [ ] 0916 KT mixergraph.test.ts: resolves the send path with the send and master gains chained
959
- - [ ] 0917 KT mixergraph.test.ts: answers the master itself as a single hop
960
- - [ ] 0918 KT mixergraph.test.ts: refuses an unknown channel
961
- - [ ] 0919 KT beatgrid.test.ts: finds a 120 BPM pulse inside a narrowed band
962
- - [ ] 0920 KT beatgrid.test.ts: refuses silence with the no-pulse code and short envelopes outright
963
- - [ ] 0921 KT beatgrid.test.ts: tracks one beat per click and grids them in seconds
964
- - [ ] 0922 KT beatgrid.test.ts: answers downbeats, nearest beats and interpolated beat times
965
- - [ ] 0923 KT beatgrid.test.ts: quantizes partially by strength and refuses out-of-range strengths
966
- - [ ] 0924 KT beatgrid.test.ts: swings only offbeat positions and subdivides beats
967
- - [ ] 0925 KT beatgrid.test.ts: evaluates linear, exponential and hold curves with clamp ends
968
- - [ ] 0926 KT beatgrid.test.ts: integrates tempo into beats and inverts it back into time
969
- - [ ] 0927 KT beatgrid.test.ts: validates anchors and maps a grid to a constant tempo map
970
- - [ ] 0928 KT remixplan.test.ts: scores identical chroma high, orthogonal chroma mid, and differs by timbre
971
- - [ ] 0929 KT remixplan.test.ts: builds a symmetric self-similarity matrix with unit diagonal
972
- - [ ] 0930 KT remixplan.test.ts: scores jumps along the period diagonals best
973
- - [ ] 0931 KT remixplan.test.ts: plans a deterministic retime whose pieces cover the target exactly
974
- - [ ] 0932 KT remixplan.test.ts: keeps intro and outro and lands joints at similar contexts
975
- - [ ] 0933 KT remixplan.test.ts: refuses short music, short targets and mismatched features
976
- - [ ] 0934 KT remixplan.test.ts: answers the identity plan and reads pieces by output beat
977
- - [ ] 0935 KT remixplan.test.ts: gives the equal-power pair with constant loudness at the middle
978
- - [ ] 0936 KT remixplan.test.ts: rejects plans whose pieces leave the source or break the minimum
979
- - [ ] 0937 KT fingerprint.test.ts: picks at most one peak per band and keeps them in-band
980
- - [ ] 0938 KT fingerprint.test.ts: answers identical landmarks for identical audio
981
- - [ ] 0939 KT fingerprint.test.ts: folds pair lags into the hash without collisions on distinct pairs
982
- - [ ] 0940 KT fingerprint.test.ts: identifies the registered track by votes
983
- - [ ] 0941 KT fingerprint.test.ts: answers a null track on an empty db
984
- - [ ] 0942 KT solcss.test.ts: never ships the banned blues or the tailwind orange
985
- - [ ] 0943 KT solcss.test.ts: never ships the pill radius on buttons, badges, tabs or chips
986
- - [ ] 0944 KT solcss.test.ts: never ships transition: all
987
- - [ ] 0945 KT solcss.test.ts: never enters an element from scale(0) outside the windows pin law
988
- - [ ] 0946 KT solcss.test.ts: carries the reduced-motion hard stop as the last word
989
- - [ ] 0947 KT solcss.test.ts: carries the reduced-transparency floors
990
- - [ ] 0948 KT solcss.test.ts: mirrors the media kills into the in-session data-motion switch
991
- - [ ] 0949 KT solcss.test.ts: keeps the trylle canvas and the surface ladder
992
- - [ ] 0950 KT solcss.test.ts: keeps the trylle type stacks (Inter Variable · Geist Mono)
993
- - [ ] 0951 KT solcss.test.ts: keeps the two-accent contract (the brass identity beside the windows accent)
994
- - [ ] 0952 KT solcss.test.ts: keeps the trylle shadow ladder and the fluent window float
995
- - [ ] 0953 KT solcss.test.ts: keeps the numeric discipline: the readouts ride tabular-nums
996
- - [ ] 0954 KT solcss.test.ts: defines every custom property its own rules read (--dbn-line aliases)
997
- - [ ] 0955 KT solcss.test.ts: keeps the sticky footer contract (the stage is a column, the footer glues)
998
- - [ ] 0956 KT solcss.test.ts: keeps the windows hands on the chrome
999
- - [ ] 0957 KT analyze.test.ts: reads the tempo of a 120 bpm click track
1000
- - [ ] 0958 KT analyze.test.ts: keys a 220hz-dominant tone to the A pitch class
1001
- - [ ] 0959 KT analyze.test.ts: answers the schema v1 shape
1002
- - [ ] 0960 KT analyze.test.ts: keeps structure sections inside the duration
1003
- - [ ] 0961 KT analyze.test.ts: counts fingerprint hashes when the switch is on
1004
- - [ ] 0962 KT onboardingstate.test.ts: accepts public https bases
1005
- - [ ] 0963 KT onboardingstate.test.ts: refuses plaintext, localhost, loopback and every private or reserved range
1006
- - [ ] 0964 KT onboardingstate.test.ts: normalizes the mapped ipv6 spelling the url parser produces
1007
- - [ ] 0965 KT onboardingstate.test.ts: merges stages seen-wins — a stage never unsees
1008
- - [ ] 0966 KT onboardingstate.test.ts: never mutates the state it merges
1009
- - [ ] 0967 KT familyurl.test.ts: climbs one level and enters the sibling folder, slash-terminated
1010
- - [ ] 0968 KT familyurl.test.ts: strips decorative slashes from the slug
1011
- - [ ] 0969 KT familyurl.test.ts: answers for every deploy unit of the family
1012
- - [ ] 0970 KT familyurl.test.ts: keeps multi-segment slugs as the caller wrote them (minus the decoration)
1013
- - [ ] 0971 KT tuning.test.ts: anchors A4 at the concert pitch
1014
- - [ ] 0972 KT tuning.test.ts: doubles every octave and halves below
1015
- - [ ] 0973 KT tuning.test.ts: walks the chromatic steps of the equal temperament
1016
- - [ ] 0974 KT vocalsynth.test.ts: carries the documented a-vowel formants
1017
- - [ ] 0975 KT vocalsynth.test.ts: is deterministic for the same seed
1018
- - [ ] 0976 KT vocalsynth.test.ts: renders a finite, clamped, non-silent take
1019
- - [ ] 0977 KT vocalsynth.test.ts: changes the timbre with the vowel
1020
- - [ ] 0978 KT vocalsynth.test.ts: lands every syllable inside the span
1021
- - [ ] 0979 KT vocalsynth.test.ts: answers a fallback vowel for glyph-less text
1022
- - [ ] 0980 KT loudness.test.ts: converts energy and LUFS both ways
1023
- - [ ] 0981 KT loudness.test.ts: weights channels like BS.1770 (the LFE counts zero)
1024
- - [ ] 0982 KT loudness.test.ts: reads percentiles and the loudness range
1025
- - [ ] 0983 KT loudness.test.ts: gates the integrated loudness in two stages
1026
- - [ ] 0984 KT loudness.test.ts: filters with a biquad and carries its state
1027
- - [ ] 0985 KT loudness.test.ts: keeps the BS.1770 filter shapes honest
1028
- - [ ] 0986 KT loudness.test.ts: lays out 400 ms gating blocks with 100 ms hops
1029
- - [ ] 0987 KT loudness.test.ts: stays linear under scaling (6.02 LU for half the amplitude)
1030
- - [ ] 0988 KT loudness.test.ts: reads sample and true peaks
1031
- - [ ] 0989 KT loudness.test.ts: computes the normalisation gain and applies it
1032
- - [ ] 0990 KT loudness.test.ts: measures a full programme and refuses broken input
1033
- - [ ] 0991 KT musictheory.test.ts: carries the thirteen documented scales
1034
- - [ ] 0992 KT musictheory.test.ts: answers relative keys with the same pitch classes
1035
- - [ ] 0993 KT musictheory.test.ts: resolves degrees and accidentals
1036
- - [ ] 0994 KT musictheory.test.ts: spells all twelve classes both ways
1037
- - [ ] 0995 KT musictheory.test.ts: names the twelve intervals and reads them between classes
1038
- - [ ] 0996 KT musictheory.test.ts: keeps every shape ascending from the root
1039
- - [ ] 0997 KT musictheory.test.ts: spells, stacks and voices chords
1040
- - [ ] 0998 KT musictheory.test.ts: builds every quality over all twelve roots and round-trips the symbol
1041
- - [ ] 0999 KT musictheory.test.ts: parses the lead-sheet tokens and refuses the malformed ones
1042
- - [ ] 1000 KT musictheory.test.ts: parses the documented table in C major
1043
- - [ ] 1001 KT musictheory.test.ts: parses against the key
1044
- - [ ] 1002 KT musictheory.test.ts: reads the diatonic triads of the seven-note scales
1045
- - [ ] 1003 KT musictheory.test.ts: serialises numerals back from chords (romanOf round-trips)
1046
- - [ ] 1004 KT musictheory.test.ts: counts common tones and nearest movement
1047
- - [ ] 1005 KT musictheory.test.ts: picks the inversion whose bass sits nearest the reference
1048
- - [ ] 1006 KT takeevents.test.ts: is deterministic for the same plan
1049
- - [ ] 1007 KT takeevents.test.ts: answers events for every role and sorts them ascending
1050
- - [ ] 1008 KT takeevents.test.ts: keeps every event inside the take with a velocity in range
1051
- - [ ] 1009 KT takeevents.test.ts: carries the drop louder than the intro (the section energy rides)
1052
- - [ ] 1010 KT takeevents.test.ts: locks the bass to the kick steps of the same bar
1053
- - [ ] 1011 KT takeevents.test.ts: holds one pad voicing per bar on the keys lane
1054
- - [ ] 1012 KT takeevents.test.ts: keeps the lead on the key
1055
- - [ ] 1013 KT takeevents.test.ts: cuts a clean window slice
1056
- - [ ] 1014 KT takeevents.test.ts: maps the top of the take onto bar 1 step 1
1057
- - [ ] 1015 KT takeevents.test.ts: maps a mid-take instant onto its bar and step
1058
- - [ ] 1016 KT takeevents.test.ts: clamps past the end onto the last bar
1059
- - [ ] 1017 KT takeevents.test.ts: never answers a negative position
1060
- - [ ] 1018 KT family.test.ts: lists the eight siblings beside debonair, never debonair itself
1061
- - [ ] 1019 KT family.test.ts: answers an accent for every listed sibling
1062
- - [ ] 1020 KT family.test.ts: resolves every member through the familyurl contract
1063
- - [ ] 1021 KT family.test.ts: keeps the spec §12 accents stable
1064
- - [ ] 1022 KT family.test.ts: pairs every accent with its own spec ink
1065
- - [ ] 1023 KT family.test.ts: never ships a banned hue in the row
1066
- - [ ] 1024 KT family.test.ts: keeps every accent distinct — the row never repeats a hue
1067
- - [ ] 1025 KT family.test.ts: builds the rail row in slug order without gaps
1068
- - [ ] 1026 KT takestore.test.ts: stores a take and reads it back with its timestamp
1069
- - [ ] 1027 KT takestore.test.ts: replaces the record of the same plan id (the seed lock dedupes)
1070
- - [ ] 1028 KT takestore.test.ts: orders the shelf newest first
1071
- - [ ] 1029 KT takestore.test.ts: removes one take and keeps the rest
1072
- - [ ] 1030 KT takestore.test.ts: answers empty for a broken or missing document
1073
- - [ ] 1031 KT takestore.test.ts: drops records without a plan id or bpm
1074
- - [ ] 1032 KT takestore.test.ts: keeps the studio hand-off key beside the shelf key
1075
- - [ ] 1033 KT ducking.test.ts: reads loud bursts above -30 dBFS and silence at the floor
1076
- - [ ] 1034 KT ducking.test.ts: finds the two bursts, drops blips and bridges narrow gaps
1077
- - [ ] 1035 KT ducking.test.ts: merges regions and answers the region under a time
1078
- - [ ] 1036 KT ducking.test.ts: applies the static curve: nothing below, slope above, knee continuous
1079
- - [ ] 1037 KT ducking.test.ts: ducks while the trigger speaks and recovers after it, with errors
1080
- - [ ] 1038 KT ducking.test.ts: smooths with a one-pole coefficient that reaches instant at zero time
1081
- - [ ] 1039 KT ducking.test.ts: renders strictly increasing ramps that hold and recover
1082
- - [ ] 1040 KT ducking.test.ts: stays ducked across gaps too narrow for two ramps and cuts at clip edges
1083
- - [ ] 1041 KT ducking.test.ts: runs the offline pipeline end to end and reports empty signals
1084
- - [ ] 1042 KT katexis.test.ts: maps every library status to a badge tone
1085
- - [ ] 1043 KT katexis.test.ts: answers the class suffix per tone and empty for the default
1086
- - [ ] 1044 KT katexis.test.ts: pins the mastering targets the engine documents
1087
- - [ ] 1045 KT katexis.test.ts: formats fader readouts with one decimal and the unit
1088
- - [ ] 1046 KT katexis.test.ts: draws the seed inside the six-digit band
1089
- - [ ] 1047 KT katexis.test.ts: keeps the estimate inside the 2:00-3:59 band
1090
- - [ ] 1048 KT katexis.test.ts: builds the track name from the first four words, punctuation trimmed
1091
- - [ ] 1049 KT katexis.test.ts: finds a genre by its exact label
1092
- - [ ] 1050 KT katexis.test.ts: filters rows over name, genre and status, empty query copies all
1093
-
1094
- ## wave KO — operations, platform and release ladder
1095
-
1096
- - [ ] 1051 KO gateway launcher: iframe fullscreen, allow autoplay, no duplicated logic
1097
- - [ ] 1052 KO gateway api: prisma sqlite migration applied (db:push) before serve
1098
- - [ ] 1053 KO disk hygiene: caches purged, single node_modules per project
1099
- - [ ] 1054 KO pwa manifest: shortcuts (studio, generate, library) still valid
1100
- - [ ] 1055 KO capacitor/tauri envelopes untouched (same web bundle feeds them)
1101
- - [ ] 1056 KO zoomlock: 100 percent zoom enforced on the served app
1102
- - [ ] 1057 KO cleanurl: trackers stripped, canonical synced
1103
- - [ ] 1058 KO version ladder v2.31 (speechalign recording) backlog kept in DEBONAI-VERSIONS.md
1104
- - [ ] 1059 KO version ladder v3.0 (render queue + generative hybrid) backlog kept
1105
- - [ ] 1060 KO worklog final section appended with all task ids
1106
-
1107
- > totals: 37 engine files, 405 exported logics, 20 theme files, 261 test cases, 15 design groups. steps: 1060.