- section-energy: track activity matrix + volume/velocity multipliers per section - smart-chords: ChordEngine with voice leading, inversions, 4 emotion modes - hook-melody: melody engine with hook/stabs/smooth styles, call-and-response - mix-calibration: Calibrator module (LUFS volumes, HPF/LPF, stereo, sends, master) - transitions-fx: FX track with risers/impacts/sweeps at section boundaries - sidechain: MIDI CC11 bass ducking on kick hits via DrumLoopAnalyzer - presets-pack: role-aware plugin presets (Serum/Decapitator/Omnisphere per role) Full SDD pipeline (propose→spec→design→tasks→apply→verify) for all 7 changes. 302/302 tests passing.
23 lines
745 B
Markdown
23 lines
745 B
Markdown
# Code Review Rules
|
|
|
|
## Python
|
|
- Type hints on all function signatures
|
|
- Dataclasses over dicts for structured data
|
|
- Deterministic output: seed-based RNG, no global random state
|
|
- No bare except clauses
|
|
|
|
## Architecture
|
|
- Separate modules by concern (calibrator, composer, builder, selector, validator)
|
|
- Post-processing over inline modification (Calibrator.apply() pattern)
|
|
- Schema changes must be backward-compatible (new fields get defaults)
|
|
|
|
## Testing
|
|
- pytest only
|
|
- Unit tests for all new functions
|
|
- Integration tests for end-to-end flows
|
|
- Regression: existing tests must not break
|
|
|
|
## SDD
|
|
- All changes follow SDD pipeline: propose → spec → design → tasks → apply → verify
|
|
- Artifacts stored in .sdd/changes/<change-name>/
|