procurement-ingest/lambdas/po/email_processor
Adam Moussa 59e57ac5a1
Pin line-item currency to USD in the PO gate
The non_usd rule only checked the Total-block top-level currency, so a
new_po whose line item read 'for 55,206.00 CAD' under a USD Total block
still template-parsed as ok -- a fail-open hole in the fail-closed
gate. Every line item's captured currency and its re-derived body token
must now byte-equal the proven-USD top-level currency; covered by a
line-level CAD adversarial fixture (the existing adv-non-usd only
exercised the Total-block variant) and a candidate-mutation unit test.
2026-07-16 16:02:46 -04:00
..
tests Pin line-item currency to USD in the PO gate 2026-07-16 16:02:46 -04:00
handler.py Wire template-first parse into PO handler with EMF metric 2026-07-16 15:14:58 -04:00
requirements.txt Migrate PO processor to Bedrock 2026-07-15 20:10:14 -04:00
ses_auth.py Add fail-closed SES sender authentication (INFRA-107) (#98) 2026-07-15 20:58:47 -04:00
template_parser.py Pin line-item currency to USD in the PO gate 2026-07-16 16:02:46 -04:00