Initial commit: prospecting agent loop MVP

Closed-loop account-intelligence system: harvest -> relevance filter vs.
Capability Library -> synthesize -> score -> deliver -> feedback.

- 40-capability Broadcom + VMware library
- Live Exa.ai news connector with hard free-plan request ceilings
- Provider-agnostic LLM layer (Gemini/Anthropic) with offline mock fallback
- LLM confidence wired into composite scoring + low-confidence floor
- 7-account pilot list

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 11:39:59 -04:00
commit 39a338990f
35 changed files with 4020 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
"""Source connectors. v1 reads placeholder fixtures; swap for real APIs later.
Production mapping (from the design):
linkedin -> Proxycurl + Apify
news -> Exa.ai + NewsAPI
jobs -> JSearch (RapidAPI) / Adzuna
crm -> Salesforce / HubSpot REST
sec -> SEC EDGAR
"""
import json
from functools import lru_cache
from .. import config
@lru_cache(maxsize=1)
def _fixtures() -> dict:
return json.loads((config.DATA_DIR / "fixtures.json").read_text())
def account_fixture(account_id: str) -> dict:
return _fixtures().get(account_id, {})