// Auto-generated by scripts/build-setup-knowledge.ts // Do not edit manually export const SETUP_KNOWLEDGE: Record = { "ACCOUNT.md": "# Account & Privacy\n\nManage your profile, AI persona, and security settings within the **Account Settings** page (accessed via the profile icon in the top right corner).\n\n---\n\n## 👤 Profile & Experience\nPersonalize your interaction with the application:\n* **Identity**: Update your display name and upload a custom avatar.\n* **Sensory Feedback**: Toggle **Sound Effects** and **Haptic Feedback** for background activities (like new email analysis or sync completion).\n\n---\n\n## 🧬 Your AI Persona\nThe **Persona** is the most critical setting for high-quality **Smart Drafts**. It acts as the \"Identity\" the AI uses when ghostwriting replies.\n\n* **Role & Context**: Define your professional title and the industry you work in.\n* **Tone of Voice**: Specify how you want to sound (e.g., \"Professional but friendly,\" \"Concise and direct\").\n* **Response Style**: Set preferences for response length and signature usage.\n* **Trusted Entities**: List VIP senders and trusted domains to help the AI prioritize correctly.\n\n---\n\n## 🗄️ Supabase Connection (BYOK)\nAs part of the **\"Bring Your Own Key\"** model, you can monitor and manage your connection to your dedicated database:\n* **Status**: View your current Supabase Project URL and Schema version.\n* **Migration Center**: Check if your database schema is up to date.\n* **Disconnect**: If you need to switch projects, you can clear your configuration here (this will log you out and reset the local app state).\n\n---\n\n## 🔐 Security\n* **Password Management**: Update your local account password at any time.\n* **Encryption**: All email provider credentials (Gmail/Outlook tokens) are encrypted before being stored in your Supabase project.\n\n---\n\n## 🛡️ Privacy & Data Sovereignty\nEmail Automator is designed with a **privacy-first** architecture. Your data is distributed as follows:\n\n| Data Type | Location | Access |\n| :--- | :--- | :--- |\n| **Email Metadata & Logs** | Your Supabase Project | Private to You |\n| **Raw Email Files (.eml)** | Your Local Machine | Offline Access Only |\n| **Rule Attachments** | Your Supabase Storage | Private to You |\n| **AI Processing** | RealTimeX Desktop | Local/API direct |\n\n**Important**: Email Automator (the company) never has access to your emails, your credentials, or your AI logs. Everything stays within your own private infrastructure.\n\n---\n\n**Next Step:** [Troubleshooting & Support](./TROUBLESHOOTING.md)\n", "AUTOMATION.md": "# Automation & Auto-Pilot\n\nThe **Auto-Pilot** tab is the central hub for managing your AI agent's behavior. It consolidates \"System Rules\" (global toggles) and a library of **26 built-in intelligent rules** alongside your own \"Custom Rules.\"\n\n---\n\n## 🛡️ Built-in System Rules\n\nEmail Automator comes with 26 pre-configured rules designed by AI experts to handle common inbox challenges. These are organized into functional categories to help you stay organized.\n\n### 📧 Email Organization\n* **Newsletter Sweeper**: Auto-archives newsletters and marketing emails to keep your inbox clean.\n* **Receipt Organizer**: Automatically files receipts and order confirmations.\n* **CC Organizer**: Labels emails where you are CC'd for quick triage.\n* **Cold Outreach Filter**: Moves cold sales emails to a separate folder.\n* **Social Noise**: Minimizes LinkedIn and social network notifications.\n* **Stack Overflow Digests**: Auto-archives technical digests unless they require immediate attention.\n\n### 🚨 Priority & Alerts\n* **VIP Urgent Messages**: Stars urgent messages from key stakeholders (CEOs, Board members).\n* **Critical Alerts**: Surfaces production incidents and P0/P1 critical alerts.\n* **Urgent Support Tickets**: Highlights high-priority customer issues needing immediate action.\n\n### 💻 Development\n* **GitHub Mentions**: Tracks when you are specifically mentioned in Pull Requests or Issues.\n* **CI/CD Failures**: Highlights build and deployment failures from tools like CircleCI or GitHub Actions.\n* **Code Review Requests**: Organizes incoming requests for code reviews.\n* **Dependabot Noise**: Auto-archives low-priority dependency updates while keeping security alerts visible.\n* **Monitoring Alerts**: Organizes non-urgent monitoring and logging alerts.\n\n### 💼 Sales & Business\n* **Hot Leads**: Prioritizes high-intent prospect replies based on positive sentiment.\n* **Follow-up Reminders**: Tracks prospect responses that specifically request a follow-up.\n* **Referrals & Intros**: Ensures you never miss a warm introduction or referral.\n* **Contracts & Proposals**: Highlights important contract communications and legal documents.\n* **Objections & Concerns**: Flags emails expressing concerns or hesitation for careful handling.\n* **Nurture Campaigns**: Archives automated drip campaign emails to prioritize personal replies.\n* **Financial Updates**: Keeps revenue reports and quarterly budget updates easily accessible.\n\n### ⚙️ Operations\n* **Internal Requests**: Organizes cross-team requests and action items.\n* **Vendor Communications**: Tracks invoices, shipments, and vendor-related updates.\n* **System Alerts**: Organizes infrastructure and system notifications.\n* **Meeting Invites**: Separates calendar invites for easier scheduling management.\n* **Weekly Reports**: Auto-files regular status reports and progress updates.\n\n---\n\n## 🛠️ Building Custom Rules\n\nCustom rules allow you to create precise, AI-driven workflows. You can create, edit, and manage these directly within the **Auto-Pilot** tab.\n\n### 1. Conditions (The \"If\")\nYou can mix and match metadata and AI-powered conditions:\n* **AI Insights**: Category (e.g., Newsletter, Receipt, Personal), Sentiment (Positive, Negative, Neutral), or Priority (High, Medium, Low).\n* **Metadata**: Sender domain (e.g., `github.com`), specific keywords in the subject, or sender's name.\n* **Retention Filter**: \"Only act if the email is older than X days.\" This is perfect for cleaning up old newsletters or notifications.\n\n### 2. Actions (The \"Then\")\nChoose what happens when an email matches your conditions:\n* **Archive / Delete**: Keep your inbox clean automatically.\n* **Star / Flag**: Highlight important items for manual review.\n* **Draft**: The most powerful action. It tells the AI to prepare a reply.\n\n---\n\n## ✍️ Smart Context & Ghostwriting\n\nWhen you use the **Draft** action, you can provide the AI with specific instructions to ensure the reply matches your needs:\n\n* **Ghostwriting Instructions**: Tell the AI *how* to reply (e.g., \"Be polite but firm in declining the invitation,\" or \"Ask for their availability next Tuesday\").\n* **Rule Attachments**: You can upload standard documents (like a pricing sheet or a bio) that the AI will automatically include as attachments whenever this rule triggers a draft.\n\n---\n\n## 🚀 The Auto-Pilot Tab\n\nThe **Auto-Pilot** tab provides a bird's-eye view of your automation engine.\n* **Grouped View**: Rules are organized by their primary intent.\n* **Quick Toggles**: Enable or disable rules instantly without deleting them.\n* **Status Indicators**: See which rules are currently active and how many emails they've processed.\n\n---\n\n## 💡 Best Practices\n\n* **Start Passive**: Set your first rules to **Star** or **Archive** instead of **Delete** until you are confident in the AI's categorization.\n* **Use Retention for Noise**: Use a rule like: `If Category = Newsletter AND Age > 30 Days THEN Delete`. This keeps your \"read\" newsletters from cluttering your archive forever.\n* **Refine with Feedback**: If a rule isn't matching correctly, use the **Feedback** icon on the Dashboard to improve the AI's understanding of that specific email type.\n\n---\n\n**Next Step:** [Account & Security Management](./ACCOUNT.md)\n", "CONFIGURATION.md": "# Configuration\n\nThe **Configuration** tab is the command center of Email Automator. Here, you connect your email providers, define your AI's behavior, and set up the rules that drive automation.\n\n---\n\n## 📧 Email Accounts (BYOK)\n\nEmail Automator follows a **\"Bring Your Own Key\" (BYOK)** model. You provide your own OAuth credentials, ensuring that your data access remains entirely under your control.\n\n### 🔴 Gmail Setup (OAuth 2.0)\n1. **Google Cloud Console**: Create a project and enable the **Gmail API**.\n2. **Consent Screen**: Configure the OAuth consent screen and add your email as a **Test User**.\n3. **Credentials**: Create an **OAuth 2.0 Client ID** (Type: Web Application).\n * **Authorized Redirect URI**: `https://.supabase.co/functions/v1/auth-gmail/callback`\n4. **Connect**: In Email Automator, click **Connect Gmail**.\n5. **Authorize**: Paste your Client ID and Secret (or upload the JSON), then follow the link to authorize your account.\n\n### 🔵 Outlook Setup (Device Code)\n1. **Azure Portal**: Register a new application in **App Registrations**.\n2. **Account Type**: Select \"Accounts in any organizational directory and personal Microsoft accounts\".\n3. **Authentication**: Ensure \"Allow public client flows\" is set to **Yes**.\n4. **Connect**: In Email Automator, click **Connect Outlook** and enter your **Client ID**.\n5. **Authorize**: Follow the **Device Code** prompt in your browser to complete the sign-in.\n\n---\n\n## 📅 Sync Scope & Limits\n\nBefore starting your first sync, configure the boundaries to ensure performance and cost-efficiency:\n\n* **Sync From**: Choose the starting date (e.g., \"From Now\" or a specific historical date).\n* **Max Emails**: Set the maximum number of emails to process in a single batch (Default: 50).\n* **Sync Interval**: Define how often the background scheduler should check for new mail (e.g., every 15 minutes).\n\n> [!TIP]\n> **Start Small**: For your first run, we recommend setting \"Sync From\" to \"Now\" and \"Max Emails\" to 10-20 to verify your rules are working as expected.\n\n---\n\n## 🤖 Automation & Auto-Pilot\n\nManagement of your AI's behavior—including building custom rules, toggling system automations, and setting retention policies—has been consolidated into the **[Auto-Pilot](./AUTOMATION.md)** tab.\n\n---\n\n## 🧠 AI & System Settings\n\n### Provider Configuration\nEmail Automator detects available models via **RealTimeX Desktop**.\n* **LLM Provider**: Choose your preferred AI engine (e.g., OpenAI, Anthropic, or local models).\n* **Embedding Model**: Used for the RAG (Retrieval-Augmented Generation) system to help the AI understand your specific context.\n\n### Voice & Accessibility (TTS)\nEnable **Text-to-Speech** to have the AI read summaries or important alerts aloud.\n* **Auto-Speak**: Automatically read high-priority notifications.\n* **Voice Profile**: Choose from various high-quality voices available through RealTimeX.\n\n---\n\n**Next Step:** [Monitoring the Dashboard](./DASHBOARD.md)\n", "DASHBOARD.md": "# Dashboard & Live Activity\n\nThe **Dashboard** is your primary interface for monitoring your AI agent’s activity and managing your analyzed inbox. It is designed to provide complete transparency into how the AI thinks and acts.\n\n---\n\n## 📊 The Analysis Feed\n\nAs the AI processes your inbox, emails appear in the feed with real-time status updates and intelligent insights.\n\n* **Smart Search**: Quickly find emails by keyword or sender.\n* **AI Filters**: Filter your view by Category (e.g., Newsletter, Personal), Sentiment, or Priority.\n* **Dynamic Sorting**: Toggle between the time an email was *received* and the time it was *processed* by the AI.\n\n### 📌 Email Detail Sidebar\nClicking any email card opens a detailed side panel containing:\n* **AI Summary**: A concise overview of the email's content.\n* **Key Points**: Bulleted highlights extracted by the AI.\n* **Draft Preview**: If a draft reply was generated, you can review it here before it's sent.\n* **Quick Links**: Jump directly to the original email in your Gmail or Outlook web interface.\n\n---\n\n## 🛡️ Trust & Transparency\n\nEmail Automator is built on the principle of **\"Glass Box AI.\"** You should always know *why* an action was taken.\n\n### 📟 Live Activity Terminal\nClick the **Live Activity** button in the bottom-right corner to open the real-time processing feed.\n* **Thinking Logs**: Watch the AI analyze content, evaluate rules, and decide on actions.\n* **Technical Details**: See raw API calls, processing durations, and background sync statuses.\n* **Control**: You can manually stop an active sync directly from the terminal.\n\n### 🕵️ AI Trace\nClick the **Eye icon** on any email card to open the **AI Trace Modal**.\n* **Decision Logic**: View a step-by-step breakdown of why the AI assigned a specific category or priority.\n* **Raw Data**: See the exact prompt sent to the LLM and the raw JSON response it returned.\n* **Performance Stats**: Review token usage and processing time for that specific email.\n\n---\n\n## ⚡ Quick Actions\n\nTake control with one-click actions available on every email card:\n* 🗑️ **Delete / 📦 Archive**: Instant cleanup.\n* ⭐ **Star / Flag**: Mark important items for later.\n* 🔄 **Reprocess**: If you’ve updated your rules, you can ask the AI to analyze an email again.\n* 💬 **Feedback**: Help the AI learn by reporting incorrect categorizations or sentiment analysis.\n\n---\n\n## 🔔 Notifications & Feedback\n\nThe app uses multi-sensory feedback to keep you informed of background activity:\n* **Visual**: Live status badges and toast notifications.\n* **Audio**: Subtle, high-quality chimes for new emails, high-priority alerts, and sync completion.\n* **Haptic**: Physical feedback on supported devices.\n\n> **Note**: Sound and Haptic settings can be customized in [**Account Settings**](./ACCOUNT.md).\n\n---\n\n## 📈 Analytics & History\n\nStay informed about your agent's performance:\n* **Sync History**: View a log of recent sync runs, including the number of emails processed and any actions taken.\n* **Efficiency Stats**: See totals for automated deletions, archives, and drafts over time.\n\n---\n\n**Next Step:** [Creating Automation Rules](./AUTOMATION.md)\n", "GETTING-STARTED.md": "# Getting Started\n\nWelcome to **Email Automator**, your AI-powered personal email assistant. This guide will help you set up the application using the **\"Bring Your Own Key\" (BYOK)** model, which ensures your data remains under your control within your own Supabase infrastructure.\n\n## 🛠 Prerequisites\n\nBefore you begin, ensure you have the following:\n\n1. **RealTimeX Desktop**: Installed and running. This is required for AI processing (LLMs) and Text-to-Speech (TTS) capabilities.\n2. **Supabase Account**: A free or paid account at [supabase.com](https://supabase.com).\n\n---\n\n## 🚀 Quick Setup with the Wizard\n\nThe built-in **Setup Wizard** is the recommended way to get started. It automates the technical heavy lifting.\n\n### 1. Purchase & Launch\n* Open **RealTimeX Desktop**.\n* Go to the **Marketplace** tab → **Local Apps**.\n* Search for **\"Email Automator\"** and purchase it (or activate if already owned).\n* Once purchased, click **Launch** from your Local Apps list.\n\n### 2. Run the Setup Wizard\nUpon first launch, the app will guide you through the initial configuration:\n\n* **Choose a Setup Path**:\n * **Managed Provisioning (Recommended)**: Provide a **Supabase Access Token**. The wizard will automatically create a new project, run database migrations, deploy Edge Functions, and ingest the initial knowledge base.\n * **Connect Existing Project**: Use an existing Supabase project by providing your **Project URL** and **Anon Key**. You can optionally provide an Access Token here to have the wizard run migrations for you.\n\n### 3. Create Your Account\nOnce the database is ready, you will be prompted to create your local user account and sign in to access the **Dashboard**.\n\n---\n\n## 🔍 Finding Your Supabase Credentials\n\nIf you choose to connect an existing project manually, you can find your credentials in the [Supabase Dashboard](https://supabase.com/dashboard):\n\n1. Select your project.\n2. Navigate to **Settings** → **API**.\n3. **Project URL**: Copy the URL found under \"Project URL\".\n4. **API Key**: Copy the **anon (public)** key under \"Project API keys\".\n\n> [!WARNING]\n> **Security Note**: Never use the `service_role` key. It has full administrative bypass privileges and should never be exposed in client-side applications.\n\n---\n\n## 🪪 Generating an Access Token\n\nAn Access Token allows the Setup Wizard to manage your Supabase projects (creation, migrations, function deployment) on your behalf.\n\n1. In your Supabase Dashboard, go to **Account** → **Access Tokens**.\n2. Click **Generate new token**, give it a name (e.g., \"Email Automator\"), and copy the result.\n3. Paste this token into the Setup Wizard when prompted.\n\n---\n\n**Next Step:** [Configure your Email Accounts](./CONFIGURATION.md) \n**Glossary:** [Common Terms](./GLOSSARY.md)\n", "GLOSSARY.md": "# Glossary\n\nDefinitions of common terms used in Email Automator and the Setup Wizard.\n\n## Supabase\nA backend platform that provides a hosted Postgres database, authentication, storage, and APIs. Email Automator uses Supabase as its database and auth layer.\n\n## BYOK (Bring Your Own Key)\nA setup model where you connect your own Supabase project instead of using a shared backend. This keeps your data in your own infrastructure.\n\n## Supabase Project ID\nThe unique identifier for your Supabase project (often shown in the project URL or settings).\n\n## Supabase Project URL\nThe base URL for your Supabase project, used by the app to connect to the database and APIs.\n\n## Anon Key (Public API Key)\nThe public API key for your Supabase project. It is safe for client-side use but still subject to Row Level Security (RLS).\n\n## Access Token\nA token from your Supabase account that lets the Setup Wizard create or manage projects on your behalf (used in Quick Start).\n\n## Managed Provisioning (Quick Start)\nThe Setup Wizard uses your Access Token to automatically create a Supabase project, apply migrations, deploy Edge Functions, and ingest the knowledge base.\n\n## Manual Sync (Connect Existing Project)\nYou connect an existing Supabase project by providing the Project URL and Anon Key. Migrations can be run by the wizard if an Access Token is provided.\n\n## Managed Provisioning vs Manual Sync\n**Managed Provisioning** creates a new Supabase project for you using an Access Token. \n**Manual Sync** connects to an existing Supabase project using your Project URL and Anon Key.\n\n## Migration\nDatabase changes that create or update tables, views, functions, and policies. Migrations keep your database schema aligned with the app.\n\n## Schema\nThe structure of your database: tables, columns, types, indexes, functions, and policies.\n\n## SQL\nThe language used to define and query database structures and data.\n\n## Version Mismatch\nWhen the app’s expected schema version differs from the database’s actual version. The Setup Wizard or migration tool will prompt you to normalize.\n\n## Database Version (Account Settings)\nThe database major version shown in Account Settings. It’s used to guide migrations and should match your Supabase project’s Postgres version.\n\n## Rollback\nReverting a migration. In Supabase, rollbacks are manual and should be used carefully.\n\n## RLS (Row Level Security)\nA Postgres security feature that restricts which rows a user can read or write. Supabase uses RLS to protect data.\n\n## Edge Functions\nServerless functions hosted by Supabase. Email Automator uses them for OAuth flows and secure operations.\n\n## Service Role Key\nA powerful Supabase key that bypasses RLS. It must never be exposed to clients.\n\n## Anon Key vs Service Role Key\nThe **anon key** is safe for client use and respects RLS. The **service role key** bypasses RLS and must only be used on trusted servers.\n\n## RealTimeX Desktop\nThe local app that provides AI services (LLMs, embeddings, TTS) used by Email Automator.\n\n## Digital Persona\nA profile that defines your tone, style, and preferences for AI-generated drafts and responses.\n\n## Persona Tone\nThe emotional character of replies (e.g., friendly, formal, direct).\n\n## Persona Style\nThe writing style preferences (e.g., concise, detailed, bullet points).\n\n## Persona Voice\nThe overall “sound” of your writing, including phrasing and rhythm.\n\n## Persona Signature\nA standardized sign-off used in replies (name, title, company).\n\n## Persona Role\nYour job title or role, used to shape response framing.\n\n## Persona Company\nThe organization name used in replies when appropriate.\n\n## Persona Language\nThe primary language for generated drafts.\n\n## Edge Functions\nServerless functions hosted by Supabase. Email Automator uses them for OAuth flows and secure operations.\n\n## Express API\nThe local backend that handles email syncing, AI processing, and automation execution.\n\n## Realtime (Supabase)\nLive updates from the database to the app. Used to reflect new emails, sync status, or activity without refreshing.\n\n## LLM (Large Language Model)\nAn AI model used for analysis and generating responses (e.g., categorization, drafting replies).\n\n## Embedding Model\nA model that converts text into vectors for semantic search. Used by the knowledge base and RAG.\n\n## Embeddings\nVector representations of text used for semantic search in the knowledge base.\n\n## RAG (Retrieval-Augmented Generation)\nA method that retrieves relevant documentation and feeds it to the AI so responses stay grounded in your docs.\n\n## Knowledge Base Ingestion\nThe process of converting documentation into searchable embeddings and storing them in the database.\n\n## TTS (Text-to-Speech)\nConverts AI responses into spoken audio.\n\n## TTS Provider vs Voice\nThe provider is the service that generates speech; the voice is the specific speaker/persona within that provider.\n\n## OAuth\nAn authorization standard that lets the app access your email account without storing your password.\n\n## OAuth Consent Screen\nThe screen where you grant Email Automator permission to access your email account.\n\n## Access Token (OAuth)\nA short-lived token used to call email provider APIs. It expires and is refreshed automatically.\n\n## Refresh Token\nA long-lived token used to obtain new access tokens without re‑authenticating.\n\n## Gmail API\nGoogle’s official API for accessing Gmail data and sending emails.\n\n## Microsoft Graph\nMicrosoft’s API for Outlook and Microsoft 365 data (mail, calendar, contacts).\n\n## IMAP / SMTP\nEmail protocols. IMAP reads mail; SMTP sends mail. (Email Automator uses provider APIs rather than raw IMAP/SMTP.)\n\n## App Registration (Microsoft)\nAn app configuration in Azure that provides credentials for Microsoft Graph access.\n\n## Client ID\nThe public identifier for your OAuth app (Google/Microsoft).\n\n## Client Secret\nA private secret for your OAuth app. Treat it like a password.\n\n## Redirect URI\nThe callback URL where the email provider sends users after OAuth authorization.\n\n## Device Code Flow\nAn OAuth flow where you authenticate in a browser using a short code, often used for desktop apps.\n\n## Tenant ID\nThe Microsoft tenant identifier. Use “common” for multi‑tenant or a specific tenant for org‑only access.\n\n## Sync Scope\nDefines how much history to sync (e.g., last X days) and which accounts are included.\n\n## Labels (Gmail) / Folders (Outlook)\nOrganization constructs in email providers. Labels tag messages; folders organize them into containers.\n", "TROUBLESHOOTING.md": "# Troubleshooting & Support\n\nIf you encounter issues, this guide covers the most common pitfalls and their solutions.\n\n---\n\n## 📡 Synchronization Issues\n\n### Emails are not appearing in the Dashboard\n* **Check \"Sync From\" Date**: The AI only processes emails received *after* this date.\n* **Reset Checkpoint**: If you’ve changed your start date and want to re-scan old emails, click the **Reset Checkpoint** button in the Sync Scope panel.\n* **Batch Limits**: The **Max Emails** setting limits how many emails are processed per run. If you have a large backlog, it may take several sync cycles to catch up.\n* **Manual Trigger**: Click **Run Sync Now** on the Dashboard to force an immediate check.\n\n### \"Sync Failed\" or \"Backend Not Connected\"\n* **Local Server**: Ensure the Email Automator application is open and running.\n* **Live Activity Feed**: Open the **Live Activity** terminal. It often contains specific technical error messages (e.g., \"Network Error\" or \"401 Unauthorized\").\n\n---\n\n## 🔑 Authentication & Permissions\n\n### Google/Gmail: `redirect_uri_mismatch`\n* **The Fix**: Your Redirect URI in the Google Cloud Console must *exactly* match the one shown in Email Automator.\n* **Example**: `https://your-ref.supabase.co/functions/v1/auth-gmail/callback` (ensure no trailing slashes or spaces).\n\n### Microsoft/Outlook: Login fails or times out\n* **App Registration**: Ensure your Azure App Registration has \"Allow public client flows\" set to **Yes**.\n* **Account Type**: Ensure you selected \"Accounts in any organizational directory and personal Microsoft accounts\" during registration.\n\n### Supabase: \"Invalid API Key\"\n* **The Fix**: Always use the **anon (public)** key. The **service_role** key will be rejected by the app for security reasons.\n\n---\n\n## 🤖 AI & RealTimeX Integration\n\n### AI is slow or unresponsive\n* **Local Models**: If using Ollama or LM Studio, ensure your machine has sufficient RAM and your GPU is not under heavy load.\n* **Discovery**: If no models appear in the dropdown, ensure **RealTimeX Desktop** is running and you have configured at least one AI provider within it.\n\n### \"Smart Drafts\" are not being created\n* **System Toggle**: Ensure **Smart Drafts** is toggled **ON** in the Auto-Pilot tab.\n* **Rule Conflict**: Verify that the rule matching the email actually includes the **Draft** action.\n* **Safety Filter**: The AI automatically skips drafting for `no-reply` addresses and certain automated notifications to prevent \"bot loops.\"\n\n---\n\n## 🗄️ Database & Migrations\n\n### \"Database Migration Required\" Banner\n* **Why it happens**: Your local app has been updated, and your Supabase database schema needs to catch up to support new features.\n* **The Fix**: Click **Update Now** in the banner. You will need your **Supabase Access Token** to run the update automatically.\n\n### Live Terminal is empty or shows \"404\"\n* **Realtime Permissions**: Ensure you have run the latest migrations. The `processing_events` table must exist and have the correct RLS (Row Level Security) policies enabled.\n\n---\n\n## 🆘 Still Need Help?\n\nIf your issue isn't listed here:\n1. Check the **System Logs** in the Account Settings for technical stack traces.\n2. Review the [Developer Documentation](../docs-dev/README.md) for advanced setup details.\n3. Open a ticket or discussion in the project repository.\n" };