outreach: follow-up radar — deterministic "needs attention" + one-click draft (v0.1.0:69)

The Outreach page now opens with a "Needs attention" list. A deterministic scan
(outreach_agent.follow_up_radar) surfaces investors per the email history: tier 0 "you
owe a reply" (their email is the most recent, unanswered, >=3d), tier 1 flagged + quiet,
tier 2 warm lead gone quiet (no contact in >=45d). Most urgent first; every reason is
verifiable from the data (no LLM in the surfacing — the deliberate fix for the trust
problem that sank objection-grounding). Excludes graveyard; needs email history. One
click sets the investor + suggested type (follow-up/nurture) and runs the existing
outreach drafter. Route GET /api/outreach/radar. Test mcp/test_outreach.py extended
(owe-reply/warm-quiet/recent/graveyard/order). Verified live in preview.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Keysat
2026-06-08 21:31:52 -05:00
parent b5619d61e1
commit 787d580550
7 changed files with 181 additions and 7 deletions
+3 -2
View File
@@ -33,8 +33,9 @@ export const PACKAGE_TITLE = 'Ten31 Database'
// * 0.1.0:65 (Email Capture: per-mailbox captured/matched counts)
// * 0.1.0:66 (LP Objections page: UI trigger for the Architect grounding pass)
// * 0.1.0:67 (remove LP Objections page — generic/unverifiable; pivot to proactive outreach)
// * Current: 0.1.0:68 (Outreach Draft Assistant — tailored LP drafts via thesis + redaction boundary)
export const PACKAGE_VERSION = '0.1.0:68'
// * 0.1.0:68 (Outreach Draft Assistant — tailored LP drafts via thesis + redaction boundary)
// * Current: 0.1.0:69 (follow-up radar — deterministic "needs attention" list + one-click draft)
export const PACKAGE_VERSION = '0.1.0:69'
export const DATA_MOUNT_PATH = '/data'
export const WEB_PORT = 8080