fix: redact malformed delivery report URCs - #249
Conversation
|
Release review: needs-fix (privacy blocker); not ready to land.
Please run a fresh TDD cycle covering a no-colon malformed |
|
Release review: needs-fix (privacy blocker). The change redacts only colon-form |
|
Release review: needs-fix (privacy blocker), so this is not ready to land.
Please make recognition, fallback handling, and redaction consistent for the whole accepted family (or safely narrow recognition), and add idle + in-flight caplog regressions for malformed no-colon |
|
Release review: needs-fix (privacy blocker).
Please start a fresh TDD cycle: add caplog regressions for that no-colon malformed form in both paths, verify RED on the current head, then make redaction cover the full recognized Existing tests only cover colon-bearing malformed lines and miss this recognition/redaction mismatch; this PR is not mergeable yet. |
|
Release-lane classification: needs fix/revalidation before merge. This draft was not independently reviewed or integration-tested in this pass and its GitHub mergeability is stale/unknown after current-main advances. Please rebase or otherwise validate it against current |
|
Release classification: needs-fix for this release pass. The draft has not received a current exact-head review and prescribed local integration gate over the advancing |
|
Release review: needs-fix. This covers malformed |
Summary
+CDSIdelivery-report URCs from dispatcher warning/debug logs+CDSIURCsWhy
Addresses one narrow privacy-hardening slice of #61: malformed delivery-report notifications must not expose raw modem payloads in diagnostic logs.
Verification
git diff --checkPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/test_executor.py::test_malformed_cdsi_urc_during_command_debug_log_redacts_payload tests/test_delivery_reports.py::TestCDSIDispatch -q→ 4 passedPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/ -q→ 993 passedRisk
Low. This changes only log representations for malformed delivery-report URCs; parsing and typed event routing are unchanged.