[2ff88f42] feat(GTM-Engine): Implement Dual Opener Strategy & Harden Analysis
Completed the GTM engine setup:\n\n- Implemented 'Dual Opener' generation (Primary/Secondary) in ClassificationService.\n- Migrated DB to support two opener fields.\n- Updated API and Frontend to handle and display both openers.\n- Fixed bug creating duplicate website_scrape entries.\n- Hardened metric extraction by improving the LLM prompt and adding content length checks.
This commit is contained in:
37
GEMINI.md
37
GEMINI.md
@@ -143,10 +143,33 @@ Since the "Golden Record" for Industry Verticals (Pains, Gains, Products) reside
|
||||
|
||||
3. **`list_notion_structure.py` (Schema Discovery):**
|
||||
- **Purpose:** Lists all property keys and page titles. Use this to debug schema changes (e.g. if a column was renamed).
|
||||
- **Usage:** `python3 list_notion_structure.py`
|
||||
|
||||
## Next Steps
|
||||
* **Marketing Automation:** Implement the actual sending logic (or export) based on the contact status.
|
||||
* **Job Role Mapping Engine:** Connect the configured patterns to the contact import/creation process to auto-assign roles.
|
||||
* **Industry Classification Engine:** Connect the configured industries to the AI Analysis prompt to enforce the "Strict Mode" mapping.
|
||||
* **Export:** Generate Excel/CSV enriched reports (already partially implemented via JSON export).
|
||||
- **Usage:** `python3 list_notion_structure.py`
|
||||
|
||||
## Next Steps
|
||||
* **Marketing Automation:** Implement the actual sending logic (or export) based on the contact status.
|
||||
* **Job Role Mapping Engine:** Connect the configured patterns to the contact import/creation process to auto-assign roles.
|
||||
* **Industry Classification Engine:** Connect the configured industries to the AI Analysis prompt to enforce the "Strict Mode" mapping.
|
||||
* **Export:** Generate Excel/CSV enriched reports (already partially implemented via JSON export).
|
||||
|
||||
## Company Explorer Access & Debugging
|
||||
|
||||
The **Company Explorer** is the central intelligence engine.
|
||||
|
||||
**Core Paths:**
|
||||
* **Database:** `/app/companies_v3_fixed_2.db` (SQLite)
|
||||
* **Backend Code:** `/app/company-explorer/backend/`
|
||||
* **Logs:** `/app/logs_debug/company_explorer_debug.log`
|
||||
|
||||
**Accessing Data:**
|
||||
To inspect live data without starting the full stack, use `sqlite3` directly or the helper scripts (if environment permits).
|
||||
|
||||
* **Direct SQL:** `sqlite3 /app/companies_v3_fixed_2.db "SELECT * FROM companies WHERE name LIKE '%Firma%';" `
|
||||
* **Python (requires env):** The app runs in a Docker container. When debugging from outside (CLI agent), Python dependencies like `sqlalchemy` might be missing in the global scope. Prefer `sqlite3` for quick checks.
|
||||
|
||||
**Key Endpoints (Internal API :8000):**
|
||||
* `POST /api/provision/superoffice-contact`: Triggers the text generation logic.
|
||||
* `GET /api/companies/{id}`: Full company profile including enrichment data.
|
||||
|
||||
**Troubleshooting:**
|
||||
* **"BaseModel" Error:** Usually a mix-up between Pydantic and SQLAlchemy `Base`. Check imports in `database.py`.
|
||||
* **Missing Dependencies:** The CLI agent runs in `/app` but not necessarily inside the container's venv. Use standard tools (`grep`, `sqlite3`) where possible.
|
||||
|
||||
Reference in New Issue
Block a user