Skip to content

List sources: newly funded companies, new leaders and conference pages from the news - #137

Merged
ralyodio merged 2 commits into
mainfrom
feat/list-sources
Oct 7, 2026
Merged

ralyodio merged 2 commits into
mainfrom
feat/list-sources

Conversation

@ralyodio

@ralyodio ralyodio commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

The last open planner item: Hunter's signal lists (newly funded companies, new leadership, conference contacts), with no new data vendor — ValueSERP (already configured in prod) plus the existing crawl pipeline.

Weekly per product (planner on), hourly check, ≤40 paid searches/workspace/day (enrichment_usage), stops on HTTP 402:

  • Funding: Google News (new ValueSerpClient.searchNews, last week) for the product's market terms; headlines parsed by fixed patterns ("Acme raises $12M Series A…").
  • New leaders: Google News (last month): "Acme appoints Jane Doe as VP Sales", "Acme names … ", "Jane Doe joins Acme as CRO".
  • Events: web search for " conference speakers"; only speaker/sponsor/exhibitor/agenda pages are taken.

Each funding/leadership hit: company domain via the job-posts domain finder → company-level funding / role_change signal (headline + snippet as evidence, article as source) → crawl_site into the product's signals campaign (created on first use, same approval mode/voice/limits as the product's busiest campaign). Event pages are crawled as-is. Max 8 companies per scan; every URL used once per product (list_source_items).

Drafts use the news: cold recommendations now also consider company-level funding, role_change and technology_adoption signals, so a lead found because their company raised gets a message about that.

Surfaces: GET /list-sources, og lists [funding|leadership|event], MCP get_list_sources, llms.txt. Migration 0058.

Tests: domain parsers (12), engine with a fake searcher (headline → signal → signals campaign → crawl; weekly idempotency; daily cap), ValueSERP news request. Regression: pipeline/regenerate/crawl/job-posts/valueserp/mcp/cli/migrate/domain 474/474.

🤖 Generated with Claude Code

ralyodio and others added 2 commits October 7, 2026 05:13
…s from the news

The planner's signal lists (newly funded, new leadership, conference
contacts) built without a data vendor. Weekly per product with the planner
on, inside a 40-searches-a-day cap per workspace (enrichment_usage):

- Google News via ValueSERP (new searchNews) for funding and appointments in
  the product's market; headlines are parsed with fixed patterns ("Acme
  raises $12M Series A", "Acme appoints Jane Doe as VP Sales", "Jane Doe
  joins Acme as CRO"). The company's domain is found by search, the headline
  plus snippet becomes a company-level funding / role_change signal, and the
  site is crawled into the product's signals campaign (created on first use
  in the product's own approval mode).
- A web search for conference speaker/sponsor/exhibitor pages; each page is
  crawled into the same campaign.
- Cold recommendations now also consider timely company-level signals
  (funding, role_change, technology_adoption), so a lead found because the
  company raised is written to about that.
- GET /list-sources, og lists, MCP get_list_sources, llms.txt.

Migration 0058.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit 9ff0b5b into main Oct 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant