docs(build): note optional setup-deepfilter.sh prereq for local DFNR#4282
Conversation
CMake gates DFNR off with "library not found" when the prebuilt libdeepfilter isn't present. CI fetches it automatically (cached) in every build workflow, so this trips up only local dev builds. Document the one-time setup step (and Windows .ps1 variant) in the Build section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Verified the factual claims directly rather than a full review pass, since there's no logic here to test -- this is docs-only:
Everything checks out, CI is green. Nothing to request changes on. One process note, not about this PR's content: this touches |
There was a problem hiding this comment.
Nice, well-targeted docs addition — thanks @ten9876. I verified every concrete claim against the tree and they all hold up:
- Both
scripts/setup/setup-deepfilter.shand the.ps1Windows variant exist. - The quoted configure message matches
CMakeLists.txt:450verbatim, including the(run ./scripts/setup/setup-deepfilter.sh before cmake to enable)hint and theENABLE_DFNR OFFgating right above it. - All four named workflows (
ci.yml,macos-dmg.yml,appimage.yml,windows-installer.yml) do invokesetup-deepfilter, so the "release binaries always ship DFNR" framing is correct. - The NR4/libspecbleach fallback is real (
CMakeLists.txt:358), so "NR still works without it via NR4" is accurate.
The note lands in the right place (Build section, right after the build block) and is appropriately scoped as an optional local-dev prereq. Clean, accurate, signed. No blockers.
Non-blocking note
- Minor: "every build workflow" is really "every release-producing build workflow" —
sanitizers.yml/build-macos-qt.ymlalso compile but don't run the step. Not worth a change; the four you name are the ones that matter for shipped binaries.
Happy to see this merge as-is.
🤖 aethersdr-agent · cost: $9.6422 · model: claude-opus-4-8
Red-Team Review — PR #4282Adversarial review, not a behavior-preservation pass. Read AGENTS.md/CONSTITUTION.md, verified every concrete claim in the PR body against the actual tree rather than trusting it, checked CI/reviews, and refreshed both before finalizing. Tiny, low-risk, docs-only PR. There's already a bot review ( Findings1. [Non-blocking, but real] The PR's own stated gap ("undocumented in AGENTS.md / README / CONTRIBUTING") is only half-closed. Not a reason to block this PR — it's still a correct, net-positive addition on its own — but worth a fast follow-up mirroring the same ~9 lines into 2. [Trivial, arguable] Minor placement nit — not worth acting on. The note reads "run … once before Everything else checks out. Independently re-verified: both No blocking findingsDocs-only, zero functional/behavioral risk. CI fully green (build, check-macos, check-windows, accessibility, CodeQL JS/Python — no CodeQL cpp job for a docs-only change, expected). Checks runDiffed against the live tree: script existence, exact CMake message text, all 4 workflow files' actual invocation, Review limitsNone of note — small enough diff that static verification against the actual scripts/CMake/CI files is fully conclusive. Summary: 0 blocking findings. Safe to merge as-is. One real, non-blocking gap worth a fast follow-up: the same note doesn't yet exist in 🤖 Generated with Claude Code |
There was a problem hiding this comment.
Nice, useful doc fix — this closes a real gap in the local dev path. I verified every claim against the tree and they all hold:
scripts/setup/setup-deepfilter.shand the.ps1variant both exist underscripts/setup/.- The quoted configure message matches
CMakeLists.txt:450-451verbatim, including therun ./scripts/setup/setup-deepfilter.sh before cmake to enablehint. - The setup step is invoked in all four named workflows (
ci.yml,macos-dmg.yml,appimage.yml,windows-installer.yml), so "CI runs it automatically, release binaries ship DFNR" is accurate. - "NR still works via NR4 (libspecbleach)" checks out —
AudioEngine.h:228documents NR4 as the libspecbleach spectral path, and it's a separate build option from DFNR.
The note is placed correctly right above the "full dependency list is in README.md" line, and framing it as an optional local prereq (not a duplicated dependency) respects that boundary. Accurate, well-scoped, and correctly signed.
No blocking issues, no polish notes. Thanks for documenting this, @ten9876.
🤖 aethersdr-agent · cost: $1.0409 · model: claude-opus-4-8
Address review nits on the DFNR setup note: - 'every build workflow' overstated (codeql/sanitizers/build-macos-qt build the app but don't run setup-deepfilter) -> 'the release-build workflows', which is what the 'shipped binaries include DFNR' claim actually rests on. - Name RN2 (RNNoise) as the no-setup NR fallback instead of NR4: RN2 is bundled (third_party/rnnoise, own kiss_fft) and always compiled, whereas NR4/libspecbleach needs FFTW + LLVM (clang-cl) on Windows and can be gated off. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What
Adds a short note to the Build section of
AGENTS.mddocumenting the optionalscripts/setup/setup-deepfilter.shstep that enables DFNR (DeepFilterNet3) noise reduction for local dev builds.Why
On a clean checkout, CMake configure reports:
CI already runs this setup step automatically (cached) in every build workflow —
ci.yml,macos-dmg.yml,appimage.yml,windows-installer.yml— so release binaries always ship DFNR. The only gap was the local dev path, where the step was undocumented inAGENTS.md/README/CONTRIBUTINGand surfaced only via the configure message. This documents it (including the Windows.ps1variant) and clarifies NR still works without it via NR4 (libspecbleach).Docs-only; no code or CI changes.
🤖 Generated with Claude Code