proposal-system/lambdas
Adam Moussa 71a5b56ee9 fix: Lambda medium findings (LAM-M1, M5, M8)
LAM-M1: Add event/record validation at handler entry for all 4 SQS-triggered
Lambdas. Validates Records key exists and is a non-empty list, checks each
record has a body key, and catches malformed JSON separately to add to
batchItemFailures.

LAM-M5: Change logger.error() to logger.exception() inside all except blocks
across pdf-extract, pdf-generate, suggestions, and library-ingest handlers
so stack traces are included in CloudWatch logs for debugging.

LAM-M8: Add _validate_s3_key() to pdf-extract, pdf-generate, and
library-ingest that strips path traversal sequences (../, ..\), collapses
double slashes, and rejects keys with disallowed characters via regex.
2026-05-27 18:18:44 -04:00
..
library-ingest fix: Lambda medium findings (LAM-M1, M5, M8) 2026-05-27 18:18:44 -04:00
oss-index-creator Fix compliance violations: Lambda defaults, CI node-version, dead code 2026-05-18 18:28:31 -04:00
pdf-extract fix: Lambda medium findings (LAM-M1, M5, M8) 2026-05-27 18:18:44 -04:00
pdf-generate fix: Lambda medium findings (LAM-M1, M5, M8) 2026-05-27 18:18:44 -04:00
suggestions fix: Lambda medium findings (LAM-M1, M5, M8) 2026-05-27 18:18:44 -04:00
tests fix: wire test suites into CI, fix stale tests from Phase 1-2 fixes 2026-05-27 18:18:44 -04:00
pytest.ini test: bootstrap test infrastructure with critical coverage (QA-C1 through QA-C6) 2026-05-27 18:18:44 -04:00