mirror of
https://github.com/Sea-Haven-Industries/apm-wo-analysis.git
synced 2026-09-30 07:43:15 +00:00
Two issues only a real deploy/run surfaced (synth + offline tests passed): 1. Classifier exceeded Lambda's 250 MB unzipped limit (bundled awswrangler + pandas + pyarrow + numpy). Move them to the AWS-managed SDK-for-pandas layer (AWSSDKPandas-Python312-Arm64:27, awswrangler 3.16.1, pre-stripped to fit); bundle only openpyxl. Drop the unused anthropic SDK — _call_haiku uses stdlib urllib. Function package now ~890 KB. 2. Slack rejected the daily post with invalid_blocks: every category drill button shared action_id "drill_category". Qualify it as "drill_category:<cat>" for uniqueness; the interactions handler now matches on the prefix. Add a regression test asserting all daily-summary action_ids are unique. Verified in prod: classifier writes Parquet + summary.json + details.json; slack-post posts the daily summary + 3rd-escalation alert; the interactions endpoint (apm-wo.seahaven.com) returns 401 on a bad signature. 58/58 tests pass. NOTE: these fixes sit on the phase-5 branch but logically belong to earlier phases — the layer fix to #8 (classifier), the Slack fix to #10 — and must be moved/cherry-picked there before those PRs merge independently. See cleanup.
5 lines
320 B
Text
5 lines
320 B
Text
# awswrangler + pandas/pyarrow/numpy come from the AWS-managed SDK-for-pandas
|
|
# Lambda layer (see pipeline_stack.py) — bundling them here blows the 250 MB
|
|
# unzipped limit. The Haiku fallback uses stdlib urllib, so no anthropic SDK.
|
|
# Only openpyxl (xlsx parsing) is bundled into the function package.
|
|
openpyxl>=3.1.0
|