procurement-ingest/lambdas/wo/email_processor
amoussa1229 0b35bd7e3e fix(ses_auth): harden comment stripping and alarm evaluation window
SES-AR-01: treat ")" at depth 0 as an unmatched close, rejecting the
value as not well-formed so a ")(...)" pair cannot manufacture a depth-0
gap where a smuggled dkim=pass clause gets parsed.

SES-AR-02: emit a space when a comment is removed so comments act as
CFWS folding whitespace (RFC 5322). Without this, "dk(z)im=pass" would
become "dkim=pass" and an attacker comment could glue unrelated tokens.

Alarm: widen evaluation_periods from 3→6 (30-min window) with
datapoints_to_alarm still at 2, closing the sparse-outage residual where
rejections >10-15 min apart fail to place breaching datapoints in 2 of 3
consecutive periods.

Both ses_auth.py copies stay byte-identical. All 86 tests pass.
2026-07-16 18:16:40 +00:00
..
tests feat: template-first WO parser + Bedrock fallback, PO Bedrock switch (#99) 2026-07-16 12:45:11 -04:00
__init__.py Merge workorder-ingest into unified procurement repo (#22) 2026-05-12 15:21:06 -04:00
handler.py feat: template-first WO parser + Bedrock fallback, PO Bedrock switch (#99) 2026-07-16 12:45:11 -04:00
requirements.txt feat: template-first WO parser + Bedrock fallback, PO Bedrock switch (#99) 2026-07-16 12:45:11 -04:00
ses_auth.py fix(ses_auth): harden comment stripping and alarm evaluation window 2026-07-16 18:16:40 +00:00
template_parser.py feat: template-first WO parser + Bedrock fallback, PO Bedrock switch (#99) 2026-07-16 12:45:11 -04:00