procurement-ingest/lambdas/wo/email_processor/tests/fixtures/expected/update-plaintext-29.json
Adam Moussa 0aef18029b
Fix WO parser advisories A1-A3 (PR #99 follow-ups)
A1 — AI-fallback comment_id nondeterminism: parsed comment_time is model
output and not stable across Lambda async retries, so on the ai_fallback
path the comment_id range-key time segment now derives from the email Date
header (deterministic per S3 object) instead of the model's comment_time.
The template path is unchanged (its comment_time is a pure function of the
raw email). Bedrock invoke pins temperature 0 so retries reproduce the same
extraction. Closes the #23 reopening on the AI path.

A2 — EMF record now carries the spec-required _aws.Timestamp (epoch ms) so
CloudWatch reliably extracts the ParseOutcome datapoint that the
fallback-rate alarm depends on.

A3 — T1 New Comment capture no longer truncates at the first blank line;
multi-paragraph comments are captured through internal blanks and terminate
at the next label/separator. 17 golden files regenerated from the real
fixtures accordingly.

Hardening from the sh-security-review pass on this diff:
- _header_date_iso is total: OverflowError/OSError from an extreme Date
  header fall back to 'nocomment' instead of failing the invocation.
- _capture_block trims blanks in O(n) (no pop(0)) — removes a quadratic
  path on a crafted large blank run.
- work_order_id is enforced digits-only on BOTH parse paths before it is
  used as a DynamoDB key, so prompt-injected AI output cannot forge '#'
  range-key segments or land on an arbitrary WO.
2026-07-16 12:35:37 -04:00

18 lines
892 B
JSON

{
"address": "sit eiusmod veniam magn\nquis elit minim\nut labore nostrud sed dol",
"assigned_to": null,
"building": "HDC3",
"comment_text": "amet tempor quis magna et consectetur tempor ut amet tempor quis elit minim dolore nostrud m\n\nOnce the ETA is confirmed AMOC will update accordingly.\n\nPurchase Order: #2D-20867218 NTE for this Purchase Order is 6,334.30\n\nPoint(s) Of Contact:\nBase Building Management S.B.E Eric Webber 717-450-0941 and S.B.E. Robert Russell 484-513-7282\n\nWork may be done anytime Monday - Friday 7:30am - 4:00pm.",
"comment_time": "2026-04-29T15:54:58",
"commenter": "dolor l",
"date_reported": null,
"description": "nisi enim dolore nostrud labori",
"due_date": null,
"email_type": "comment",
"priority": null,
"scheduled_start": null,
"severity": null,
"site_code": "HDC3",
"status": null,
"work_order_id": "16912944806"
}