Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 3.08 KB

File metadata and controls

69 lines (52 loc) · 3.08 KB

Implementation Status & Maintenance Plan: Agentic Cold Emailer (ACE)

This document tracks the implemented features and maintenance tasks for the ACE system.

Phase 0: Human Pre-requisites (Completed)

  • Dual-Identity Setup configured.
  • GCP Project created and APIs enabled (Gmail, Sheets, Vertex AI).
  • OAuth Credentials (credentials.json) generated and placed in /config.
  • Google Sheet Internship_Leads created with required headers.

Phase 1: Environment & Project Structure (Completed)

  • Project Initialized with uv.
  • Dependencies installed (langgraph, langchain-google-vertexai, rich, etc.).
  • Directory Structure established.
  • Environment Config (.env) setup.

Phase 2: Core Components & State (Completed)

  • State Definition (src/state.py): AgentState implemented with support for:
    • candidate_emails (List[str]) & selected_emails (List[str]).
    • mode ('interactive' vs 'auto_draft').
    • search_summary & company_domain for research context.
  • Configuration: Settings and credentials loading implemented.

Phase 3: Infrastructure & Tools (Completed)

  • Google Sheets Integration (src/tools_sheets.py):
    • Implemented fetch_lead() with horizontal email scanning.
    • Implemented update_lead_status().
  • Gmail Integration (src/tools_gmail.py):
    • Implemented get_gmail_service() with OAuth flow.
    • Implemented send_email() and create_draft().
  • Resume Loader: Implemented in src/utils.py.

Phase 4: Node Logic (The "Brain") (Completed)

  • Nodes Module (src/nodes.py):
    • fetch_lead_node: Handles auto-selection of emails in auto mode.
    • research_node: Added. Uses Google Search to gather company context.
    • generate_draft_node: Uses Gemini 1.5 Pro with Structured Output and specific persona prompts.
    • refine_draft_node: Uses Gemini 1.5 Flash for feedback-based edits.
    • send_email_node: Supports both sending (interactive) and creating drafts (auto).
    • update_sheet_node: updates status with timestamps.

Phase 5: Graph Orchestration (Completed)

  • Graph Definition (src/graph.py):
    • Implemented StateGraph with cycle: fetch -> research -> generate -> review -> send/refine -> update -> fetch.
    • Added human_review_router for HITL flow.
    • Integrated MemorySaver for persistence.

Phase 6: CLI & Human-in-the-Loop (Completed)

  • CLI Entry Point (main.py):
    • Implemented with rich for UI.
    • Dual Modes:
      1. Interactive: Prompt for approval/feedback.
      2. Automatic: Runs autonomously, creating drafts.
    • Handles multiple email candidates selection.
    • Starred Mode (--starred): Fetches starred threads, evaluates with LLM, and previews follow-up drafts via HITL.

Phase 7: Verification & Docs (In Progress)

  • Testing:
    • Expand unit tests for edge cases.
  • Documentation: TRD.md updated with latest architecture.
  • Maintenance: Monitor API quotas and email deliverability.