maintenance: bound SMS client failure details - #4282
Conversation
|
Author remediation update: All six SMS client failure paths now separate bounded diagnostic metadata from provider-controlled content. Non-2xx responses, provider errors, and transport exceptions no longer place response bodies, signed URLs, phone numbers, request payloads, access-key parameters, or raw exception messages into the propagated exception or application log. Sentinel-value failure tests passed, and the complete alerter reactor passed (439 tests). Backend, license, and label checks are green on the current head; the image E2E job is still queued at the time of this update. Maintainer review remains required. |
|
CI follow-up: backend build, Maven E2E, image E2E, license, and label checks have all completed successfully on the current head. |
Summary
SendMessageExceptionValidation
./mvnw -pl hertzbeat-alerter -Dtest=SmsClientLoggingTest,UniSmsClientImplTest test -DskipITs -Dsurefire.failIfNoSpecifiedTests=false -DfailIfNoTests=false./mvnw -pl hertzbeat-alerter -am test -DskipITshertzbeat-alerterran 439 tests with 0 failures, 0 errors, and 2 skipsgit diff --cached --checkAI assistance: used for draft implementation and test iteration.
Human validation: focused failure-path contracts and the complete alerter reactor passed locally, including all six supported SMS clients.
Risk notes: outward errors intentionally omit provider response text and transport details. Operators retain provider, HTTP status, and bounded provider code for correlation; deeper provider diagnostics must be obtained from the provider console or request tracing outside application logs.