audio-numerics-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited audio-numerics-review (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Floating-point is not real math. IEEE 754 edge cases — denormals, NaN propagation, catastrophic cancellation, precision loss — silently produce wrong audio output without crashing. You won't find them with a debugger; you find them by knowing where to look.
Locate every function doing floating-point or integer DSP: filter state loops, feedback delay lines, envelope followers, RMS/energy accumulators, pitch detectors, fixed-point paths (CMSIS-DSP, SIMD int16/int32), any division whose denominator may be zero.
| Violation | Where to look | Symptom |
|---|---|---|
| Denormal floats | IIR state vars, reverb tanks, delay feedback | Sudden 100× CPU spike when signal decays |
| NaN / Inf | Divisions, sqrt, acos/asin, peak normalizers | Silence or noise that can't be traced |
| Catastrophic cancellation | DC-blocking filters, near-Nyquist biquads, first-order diff | Noise floor jumps, loss of precision |
| Fixed-point overflow | Q15/Q31 multiply, CMSIS paths, SIMD int16 | Audible distortion / wrapping |
| Precision loss | RMS/energy sums, mixing buses, long loops | Accumulated DC offset, incorrect levels |
| FTZ/DAZ absent | prepareToPlay/stream-open — no mode setup | Denormals hit on some hosts but not others |
For code examples and platform-specific notes see references/numerics-pitfalls.md.
## Audio Numerics Review: `[file / function]`
### Verdict
[Safe | Has critical violations | Warnings only] — one sentence summary
### Critical Violations
**[Category]: [description]**
`file:line` — `offending code`
Why: one sentence on the numeric risk
Fix: concrete suggestion
### Warnings
[same format]
### What's Done Well
[guarded divisions, double accumulators, FTZ setup, etc.]
### Recommended Fixes (priority order)
1. ...| Violation | Safe alternative |
|---|---|
| Denormal in feedback | ScopedNoDenormals; FTZ+DAZ in prepareToPlay; DC-offset clamp |
| Division by zero | (denom > 1e-6f) ? num/denom : fallback |
sqrt/acos/asin unclamped | std::sqrt(std::max(0.f, x)), std::clamp inputs |
| NaN propagating silently | assert(!std::isnan(y)) in debug; validate at entry points |
| Cancellation in coefficients | Compute coefficients in double; use numerically stable forms |
| Fixed-point overflow | Promote to wider type before multiply; __SSAT, CMSIS saturating ops |
| Precision loss in long sum | double accumulator or Kahan compensated summation |
| FTZ/DAZ absent | Set explicitly in prepareToPlay; use ScopedNoDenormals per-block |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.