Repository navigation
fix(analysis): remove blanket warning suppression #1231
Description
Problem
services/analysis-engine/pyproject.toml on protected develop@314ddeae7b775a4957594b599358c8255617eb2e configured pytest with repository-wide ignore::DeprecationWarning. Production audio loaders also installed runtime warning suppressions around Temporal Analysis, Transcription, and Separation. These policies can hide owned deprecated APIs and dependency compatibility regressions from the normal test gate.
Python distinguishes DeprecationWarning and FutureWarning by intended audience. Both can signal compatibility work that must be root-caused. A warning-policy repair therefore cannot stop at removing the global deprecation ignore while leaving FutureWarning as log-only output or loader-side warnings.filterwarnings("ignore", ...) calls in place.
Required repair
- Remove the blanket pytest
ignore::DeprecationWarningon the dedicated analysis-engine owner PR; do not mix this into Signal-MIR research(mir): preregister structure feature noninferiority evidence #1228. - Fail tests on unowned
DeprecationWarningandFutureWarning. - Remove loader-side runtime warning ignores before collecting the exact-head warning inventory; otherwise CI cannot observe the warning that would justify or retire an exception.
- Run the full Python suite and capture each distinct warning with category, message, originating package/module, and call path.
- For BandScope-owned deprecated APIs, migrate the code and add regression coverage.
- For an upstream-only warning, first upgrade or change the call path. Reintroduce a temporary suppression only after the exact warning identity, upstream cause, regression coverage, and concrete removal condition are documented.
- Re-run the normal coverage/docstring/lint/type checks plus hosted CI, security, SAST, SBOM, and cross-platform build gates.
Acceptance
pyproject.tomlfails closed on unownedDeprecationWarningandFutureWarning.- The three scoped production audio loaders do not discard runtime warnings before the test/CI gate observes them.
- Full tests expose zero unowned compatibility warnings.
- Any later temporary suppression is evidence-backed, exact, tested, and tied to a concrete removal condition.
- No required CI/security/build gate is weakened.
- Exact-head independent non-author review is complete before merge.
Evidence
Protected develop@314ddeae7b775a4957594b599358c8255617eb2e contains the original global deprecation ignore and loader-side warning filters. Draft #1232 (repair/analysis-deprecation-warnings-1231) is the canonical repair path at exact head 39ecb0eef845b2cadea2fd349ce29a37c59b4a73. This issue remains intentionally separate from #1228 so the scientific evidence-admission PR remains a single-writer Signal-MIR vertical.
The current #1232 head reached hosted build-baseline: macOS arm64 built successfully, while macOS Intel failed before Python dependency sync/product build because Corepack's acquisition of pinned npm 10.9.9 ended in a registry ETIMEDOUT. That is a valid runtime-provenance finding but not owned by this warning-policy lane. Canonical Node/npm owner #896 now carries a bounded exact-runtime acquisition RED→repair and remains Draft pending exact-head verification. #1232 must not duplicate that workflow/dependency change or count a sibling-owner fix as current-head GREEN.
Activity
seonghobae commentedon Sep 17, 2026
Owner-path repair remains in Draft #1232 on
repair/analysis-deprecation-warnings-1231.Current exact head:
39ecb0eef845b2cadea2fd349ce29a37c59b4a73from protecteddevelop@314ddeae7b775a4957594b599358c8255617eb2e(ahead 19 / behind 0; six changed files).Implemented so far:
ignore::DeprecationWarning→ fail-closederror::DeprecationWarning;error::FutureWarning, so future compatibility warnings cannot pass as log-only output;docs/traceability/analysis-deprecation-warning-policy.mdwith Python warning semantics, rejected alternatives, exact RED/GREEN lineage, risks, and the rule that a temporary upstream suppression requires observed exact-head evidence first.Latest lineage:
10b5d28ced09c64f148e3b98b7d924357bc20cd4→ GREEN21bbeedcf913d2bbf46ba6ac9a4d5797469ce565: fail closed onFutureWarning;fa7adf40294f25325b60cb5abb7cd8f073cb070b→ GREEN505d3e14b4559949b6c9cef97bb5b472ea298ae0/3d94c2f5c5d57d91ded1bba211429e2af71b1537: stop the production audio loaders from discarding runtime warnings before CI can inventory them;39ecb0eef845b2cadea2fd349ce29a37c59b4a73.No warning-clean claim yet. Fresh exact-head CI/build/security/SBOM/SAST runs and the full warning inventory remain required; any newly exposed warning is a repair finding, not permission to restore a blanket filter. Keep #1231 open until terminal exact-head evidence and independent current-head review are complete.
[-]fix(analysis): remove blanket deprecation-warning suppression[/-][+]fix(analysis): remove blanket warning suppression[/+]