This document tracks the implemented features and maintenance tasks for the ACE system.
- 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_Leadscreated with required headers.
- Project Initialized with
uv. - Dependencies installed (
langgraph,langchain-google-vertexai,rich, etc.). - Directory Structure established.
- Environment Config (
.env) setup.
- State Definition (
src/state.py):AgentStateimplemented with support for:candidate_emails(List[str]) &selected_emails(List[str]).mode('interactive' vs 'auto_draft').search_summary&company_domainfor research context.
- Configuration: Settings and credentials loading implemented.
- Google Sheets Integration (
src/tools_sheets.py):- Implemented
fetch_lead()with horizontal email scanning. - Implemented
update_lead_status().
- Implemented
- Gmail Integration (
src/tools_gmail.py):- Implemented
get_gmail_service()with OAuth flow. - Implemented
send_email()andcreate_draft().
- Implemented
- Resume Loader: Implemented in
src/utils.py.
- 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.
- Graph Definition (
src/graph.py):- Implemented
StateGraphwith cycle:fetch -> research -> generate -> review -> send/refine -> update -> fetch. - Added
human_review_routerfor HITL flow. - Integrated
MemorySaverfor persistence.
- Implemented
- CLI Entry Point (
main.py):- Implemented with
richfor UI. - Dual Modes:
- Interactive: Prompt for approval/feedback.
- 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.
- Implemented with
- Testing:
- Expand unit tests for edge cases.
- Documentation:
TRD.mdupdated with latest architecture. - Maintenance: Monitor API quotas and email deliverability.