Commit graph

4 commits

Author SHA1 Message Date
Adam Moussa
21ad13943c Pin SocketMode image asset to LINUX_ARM64
The task runs ARM64, but the image asset had no explicit platform, so
the amd64 CD runner built an amd64 image (QEMU alone does not change
the default target). Revision :8 crash-looped with "exec format
error" (50 failed task starts); CloudFormation hung on service
stabilization until cancelled. Local arm64 builds masked this -
deploys from this Mac always produced the right image.

Same fix pattern as the org-wide QEMU+platform rule for arm64 Lambda
bundling.
2026-06-03 16:02:39 -04:00
Adam Moussa
aebf6c43c6 Add conversational assistant via Bedrock Sonnet tool-use
Listener posts "Thinking..." placeholder and async-invokes a new
exec-aide-conversation Lambda that runs a Bedrock Sonnet tool-use loop
over 7 email tools, then updates the Slack message with the response.
2026-05-01 11:31:29 -04:00
Adam Moussa
df56bd6e9a Add AI-driven marketing filter, activate Fargate listener, update docs
Bedrock Haiku now classifies marketing/promotional emails as MARKETING
and they are filtered out before saving or alerting. This replaces
Gmail label-based filtering for more accurate classification.

Also: enable Fargate listener (desiredCount=1), update README for CDK,
update Notion AWS Architecture Map and Slack Apps Inventory.
2026-04-30 19:30:16 -04:00
Adam Moussa
460cf200c7 Migrate from SAM to CDK per Sea Haven conventions
SAM is for simple serverless stacks; this project has ECS, VPC, and
multi-service composition which requires CDK. Migration brings
ContainerImage.fromAsset() for automatic Docker builds on deploy,
matching the seahaven-slack-bot pattern.

Also fixes: Bedrock model ID (add version suffix), Gmail history API
parameter (labelId not labelIds), classify JSON extraction (handle
markdown fences), and digest block limit (cap sections at 5 items
to stay under Slack's 50-block limit).
2026-04-30 19:23:52 -04:00