From 927ee881318f2f338b51e1a05c4dc8c9af5bb1b5 Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Fri, 1 May 2026 13:32:29 -0400 Subject: [PATCH] Update README for Lauren rename, @mentions, and new tools --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 022d422..c8da106 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Exec Aide +# Exec Aide (Lauren) -Personal AI executive assistant for Adam Moussa. Monitors Gmail inbox, classifies emails by urgency using Claude Haiku (Bedrock), delivers Slack alerts and daily digests, and supports two-way conversation via Slack DM. +Personal AI executive assistant for Adam Moussa. Monitors Gmail inbox, classifies emails by urgency using Claude Haiku (Bedrock), delivers Slack alerts and daily digests, and supports two-way conversation via Slack DM and @mentions in channels. ## Architecture @@ -16,9 +16,9 @@ Fargate (Socket Mode) → Slack listener → conversation Lambda → Bedrock Son - **exec-aide-fetch-classify** (Lambda): Polls Gmail via History API every 15 minutes, classifies each new message via Bedrock Haiku, filters out marketing, sends immediate Slack DM for HIGH priority, tracks thread state for unanswered detection. - **exec-aide-daily-digest** (Lambda): Runs weekdays at 5 PM ET (DST-aware). Summarizes high-priority items, bypassed work orders, and unanswered threads older than 24h. -- **exec-aide-conversation** (Lambda): Bedrock Sonnet-powered conversational assistant. Handles multi-turn conversations with tool use for inbox queries, email search, thread details, and on-demand digest triggers. Invoked asynchronously by the listener. -- **exec-aide-listener** (Fargate): Socket Mode Slack bot for two-way conversation. Receives DMs, posts "Thinking..." placeholder, invokes conversation Lambda async, which updates the placeholder with the response. Runs in a dedicated VPC (10.30.0.0/16) on ARM64. -- **DynamoDB `exec-aide`**: Single-table design (MSG#, THD#, META#, CONV# prefixes). GSI `by-date` for daily digest queries. 90-day TTL. +- **exec-aide-conversation** (Lambda): Bedrock Sonnet-powered conversational assistant. Handles multi-turn conversations with tool use for inbox queries, Gmail search, coordination threads, and on-demand digest triggers. Channel-aware: declines private info in public channels. Invoked asynchronously by the listener. +- **exec-aide-listener** (Fargate): Socket Mode Slack bot. Handles DMs (with "Thinking..." placeholder UX), @mentions in channels (flat or threaded replies), and coordination thread routing. Runs in a dedicated VPC (10.30.0.0/16) on ARM64. +- **DynamoDB `exec-aide`**: Single-table design (MSG#, THD#, META#, CONV#, COORD# prefixes). GSI `by-date` for daily digest queries. 90-day TTL (7-day for COORD). ### Conversation Tools @@ -33,6 +33,8 @@ The conversation Lambda has access to these tools: | `search_emails_by_sender` | Find emails from a specific sender | | `get_email_thread_detail` | Full thread context from Gmail | | `trigger_daily_digest` | Send a digest on demand | +| `search_inbox` | Full Gmail search with query syntax | +| `coordinate_with_user` | Start a coordination thread with someone in a channel | ### CDK Constructs