Partner Review source-yield radar

Turn launch chatter into reviewable company evidence.

VC Signals turns Product Hunt launches, X chatter, HN posts, GitHub momentum, YC rows, and web evidence into one weekly partner packet: what is owner-ready, what a partner should inspect, what is only a market signal, and exactly what evidence is missing.

v1.0.6 canonical quality gate Strict Assign Owner gate Targeted Exa hard evidence 8-15 Partner Review companies 5-10 Market Signals 10-15 Evidence Gaps 0 unsafe promotions

What a partner sees first

The output is not a trend newsletter and it is not a blind score list. It is a tiered review packet that keeps owner-ready rows separate from good/decent companies, market signals, and manual evidence gaps.

June 2026 blessed baseline: 1 Assign Owner row, 13 Partner Review companies, 8 Review-Worthy companies, 5 Review-Worthy market signals, 12 Evidence Gap rows, and 0 unsafe promotions.

June 2 repeatability check: three safe validations kept unsafe promotions at 0 and repeatedly produced Partner Review / Market Signal / Evidence Gap rows, but only repeated 1 strict Review-Worthy Company. The system is conservative; source evidence yield is not repeatable enough yet.

Latest workflow update: Product Hunt, YC, and X are exercised by default with bounded limits; Product Hunt/X rows get targeted Exa-first hard-evidence resolution by default; broad last30days paid grounding remains opt-in. Every weekly run now writes a canonical quality gate that labels passing, partial, thin, and smoke runs, so Claude summarizes the generated packet instead of replacing it with ad hoc research.

TierExampleSourceWhat It MeansNext Action
Assign OwnerVokerHN launchStrong enough company evidence to route for ownership.Assign owner / partner follow-up.
Partner ReviewSocialEcho 2.0Product HuntReal product/company surface, but missing maturity metadata.Inspect founders, stage, headcount, and customer proof.
Market Signalaffaan-m/agentshieldGitHubOSS momentum reveals market direction even if no company is formed yet.Use theme to search for companies and track formation.
Evidence GapDatabox MCPProduct HuntPromising but blocked by a specific missing field.Find founder/operator identity before promotion.

How the weekly radar works

The important idea: launch chatter is a starting signal, not the answer. The system has to resolve the official domain, inspect the company surface, separate companies from market signals, and explain every gap.

1. Setup and source accessRun setup/update, install requests into the selected Python 3.12+ runtime, check Node.js for cookie-based X, read keys from last30days and vc-signals config files, and normalize X cookie aliases before any source run.
2. Source collectionPull bounded signal from Product Hunt, YC, X, Hacker News, GitHub, guarded web search, and manual-mode company metadata checks. Weekly defaults exercise Product Hunt/YC/X; first-pass uses smaller limits.
3A. Company candidatesLaunches, websites, pricing, docs, customers, careers, founder pages, YC/company rows, and official domains.
3B. Market signalsOSS velocity, repeated X/HN chatter, developer pain, and themes that show demand before company formation is clear.
4. Company dossier layerBuild a dossier with official-domain candidates, verified domain, founder/team evidence, product proof, commercial proof, contradictions, missing fields, and a source-specific evidence completion plan. Product Hunt and X rows get targeted Exa-first hard-evidence resolution unless explicitly disabled.
5. Harness LLM investigationThe Claude/Codex harness LLM plans searches, extracts facts, critiques evidence quality, blocks unsafe domain guesses, and writes a simple explanation. It does not invent facts.
6. Tiered gatesPromote into Assign Owner, Partner Review, Review-Worthy Company, Market Signal, Evidence Gap, Launch Watch, or reject. Generic category pages and unsafe domain guesses are rejected instead of becoming fake company rows.
7. Weekly partner packetDecision packet, quality gate, source-yield report, repeatability report, manual evidence queue, sanity check, source-health ledger, and audit JSON files.

Setup path that avoids the common failures

The setup flow is deliberately boring now: it checks the runtime and provider access before the radar command is trusted.

Runtime dependency check

The adapter reports the exact Python runtime it will use and whether `requests` imports there. Setup installs into that runtime, not a random system `python3`.

Provider key normalization

Product Hunt, Exa, GitHub, Attio, and X are checked explicitly. X accepts `AUTH_TOKEN`/`CT0` and `TWITTER_AUTH_TOKEN`/`TWITTER_CT0`; cookie-based X also checks Node.js for the bundled bird backend. Attio is checked from the vc-signals config path too.

Bounded default source exercise

A normal weekly run now uses bounded Product Hunt, YC, and X limits. A first-pass run keeps smaller limits for onboarding, but it no longer silently skips these lanes.

Paid-search discipline

Targeted Exa hard evidence is default for Product Hunt/X rows. Broad last30days paid grounding remains off unless the user explicitly enables it and previews cost.

What each section means

Assign Owner

The strictest tier. These rows have enough evidence to route to a human owner without over-promoting weak launch chatter.

Partner Review Companies

Good/decent companies a partner should inspect. These may still need founder, stage, funding, headcount, customer, or LinkedIn-style checks.

Review-Worthy Market Signals

OSS and theme movement that tells us where the market is going. These are valuable even when no company exists yet.

Evidence Gap Queue

Promising rows blocked by exact missing evidence: official domain, founder/team, stage, funding, headcount, pricing, docs, customers, or careers.

Manual Evidence Queue

A focused 30-45 minute analyst workflow: exact checks, evidence hints, unresolved gaps, what would promote the row, and what would discard it.

Source Health and Caveats

Shows which providers worked, degraded, timed out, returned thin evidence, or consumed paid-search budget. Broad last30days grounding is opt-in and previewed before intentional deep runs.

Market Sector is not Source Lane

This distinction makes the radar easier to read. A row can be about Cybersecurity even if the evidence came from GitHub.

FieldMeaningExample
Market SectorThe investment category Marathon cares about.Cybersecurity, AI Infra, Devtools, Data Infra, Vertical AI
Source LaneWhere the evidence came from.Grounded web, OSS, Hacker News, Reddit, YouTube, TikTok, Attio-aware
ThemeThe emerging problem or market motion.AI agent security, agent runtime infrastructure, AI data quality

How sources are used

Company evidence

YC rows, HN launches, Product Hunt launches, official websites, pricing, docs, customers, careers, founder pages, and company metadata can become review rows.

Launch and social radar

Product Hunt is treated as a launch source, not identity truth. X is treated as launch radar. Both can point us to official domains and operators, but verified company identity must come from official sites, founders, company pages, or manual/structured evidence.

Market radar

GitHub is not only company discovery. Fast-growing repos can reveal themes, wedges, and user demand before a company has formed.

Honest caveat

Evidence yield is still the hard part

The current baseline proves the packet shape and strict gates work. The June 2 repeatability run shows the source-yield ceiling: the broader safe run produced 14 Partner Review companies, 1 strict Review-Worthy Company, 5 market signals, 12 evidence gaps, and 0 unsafe promotions. Product Hunt resolved 8 official domains from 15 hard-evidence investigations; X returned 2 launch rows but 0 resolved official domains. The latest update makes those source lanes run by default and resolves Product Hunt/X rows with targeted hard evidence, but founder/stage/headcount evidence can still need manual review or structured metadata access.

Scoring model

The radar keeps interest and confidence separate. That lets Marathon see promising weak signals without confusing them for fully verified opportunities.

Investment Interest

How interesting the opportunity is if the evidence holds: timing, market pain, technical specificity, wedge, freshness, and fit for Seed to Series B.

Evidence Confidence

How much the system trusts the evidence: source quality, company identity, recency, corroboration, founder/company links, and CRM context.

Assign Owner Partner Review Review-Worthy Company Market Signal Evidence Gap

Current blessed files

FilePurpose
source-yield-validation-report.mdThe human-readable current packet: tiers, rows, gaps, source health, and caveats.
partner-decision-packet.jsonStrict owner/action packet for high-confidence routing.
quality-gate.jsonCanonical verdict that says whether the run is passing, partial, thin, or smoke, with source lane and row-count checks.
ledger-action-report.jsonPromotion audit; unsafe owner promotions must remain zero.
targeted-manual-enrichment.jsonFocused checks for the top evidence gaps.
structured-provider-trial.jsonManual-mode Coresignal/Crunchbase/LinkedIn-style metadata hints when direct keys are absent.
evidence-completion-repeatability-report.mdJune 2 diagnostic comparison of safe weekly runs against the final source-yield target.
runtime-ledger.jsonRun budget, source health, source access, and paid-search spend summary.
review-worthy-sanity-check.mdHuman click-check of the 8 Review-Worthy companies before partner review.
run-manifest.jsonThe pointer to the one blessed source run.

What it does not do yet

It does not replace judgment

It accelerates judgment by surfacing evidence, gaps, and next actions. Partners still decide what deserves a meeting or deeper diligence.

It does not write to Attio

CRM integration is read-only for now. Future Slack or Attio writeback can be added later, but the current product is deliberately conservative.

It does not treat LLM guesses as evidence

The agent-native research workbench can suggest possible companies to verify, but those leads stay out of the canonical radar until a real source supports them.