What problem does it solve? Keeping a TinyML acoustic model consistent across three implementations (librosa training, pure-stdlib Python, and on-device C) is error-prone: a silent drift in any log-mel parameter breaks the train-side vs on-device feature parity that the whole pipeline depends on. This Skill provides the operational playbook for the silken_net ML surface so every change is proven equal, not hoped equal. ## Core Features & Use Cases - Three-implementation parity verification: Run layered gates from gcc-only golden-vector checks (make -C firmware/test logmel) up to the full conda-based librosa parity suite (pytest tools/ml/tests). - Contract change workflow: Edit a log-mel parameter across its three homes (docs canon, Python mirror, C header), regenerate firmware tables with silken_ml.codegen.emit_c, and re-pin the contract hash. - INT8 model export: Retrain or re-emit the quantized acoustic model header via silken_ml.export, with a quantization-parity gate and a byte-for-byte header freshness check. - Use Case: You need to change the mel-band count in the feature contract. The Skill walks you through editing the SSOT doc, mirroring the value in contract.py and logmel_contract.h, regenerating the committed headers, and re-running the parity gates so CI stays green. ## Quick Start Ask the assistant to verify that the firmware log-mel C implementation still matches the committed golden vectors and to show which gate to run for your change.