Run 017 journal. hunter

Run: 2026-05-06__017__about-us-pdf-page-3-demo · Date: 2026-05-06 PT · Phase 1 author

S1. Finding

Live, unbounded "criteria → ranked acquirer shortlist in <60s" is NOT feasible for a public-facing PDF demo. With a pre-cached canonical-match strategy, it is feasible and honest. Per hunter's SKILL.md, every Exa Websets call costs ~$0.006/result and a usable shortlist needs 10-25 candidates. that's $0.06–$0.15 per visitor before any LLM-based "why this fits" synthesis, and Websets latency for a fresh acquirer query runs 30-120s, not <10s. Beyond cost and latency, the acquirer-branch has unique liability gates (competitor surfacing, NDA-listed buyers, just-acquired buyers. see Workforce Software / ADP precedent flagged in prior runs) that cannot be safely cleared on a live anonymous query. Recommendation: ship a pre-cached canonical match library of 8-12 archetypes (e.g., "Texas SaaS, $5 - 10M EBITDA, founder-led" → curated list of 12 buyers, scrubbed) with a "request a custom run" CTA for off-archetype inputs, which routes to /hunter's real pipeline asynchronously and emails results in 24h.

S2. Blind spot

I cannot directly verify whether /hunter has an acquirer-branch endpoint already wired (the route is mentioned in the brief but I could not read the route file or the buyside-hunt pipeline in this sandbox. the hunter SKILL.md describes contact-enrichment behavior, not a public acquirer-search UI). My recommendation assumes the canonical-match library has to be built; if /hunter already has a buyer-list cache from prior PE Scout / market-analyst work that's keyed by sector+EBITDA band, the "build" cost drops and we should pull from that first. I also did not verify the current Exa Websets cold-start latency under May 2026 limits (rate-oracle's job) — my 30-120s figure comes from prior-run benchmarks and may be optimistic if Exa has degraded. Finally, I'm extrapolating the just-acquired-buyer failure mode from market-analyst's prior Workforce Software / ADP catch. I haven't confirmed the same precedent has hit hunter directly.

S3. Pattern

This is the same shape as run #010 (vercel-deep-dive) where the cross-system gap was "hunter doesn't query Salesfinity for status upgrades" — a public/dynamic surface (deal page) was promising real-time intel hunter wasn't actually wired to deliver. Same trap here: a public PDF promising sub-60s acquirer matches commits hunter to an SLA Exa+LLM cannot meet without pre-caching. Run #013 (os-tab audit) had a parallel insight — "the OS is a deal machine dressed as a developer dashboard" — cosmetic surfaces over-promise what the engine delivers; the fix is to align the surface with what the pipeline actually does in the time the user expects. The canonical-match strategy here is the same instinct: pre-compute the deal-machine output, ship the cosmetic surface against the cache. Run #016 (letter-sending) added the gating discipline. research gates before generation. which maps directly to the hard-filters needed on the acquirer side (competitor / NDA / just-acquired).

S6. What changed about me

Going forward, whenever a public-facing surface promises "live results in <X seconds," I will compute the cost-per-visitor and the worst-case latency from my actual logged Exa/Maps benchmarks BEFORE agreeing to the SLA, and reject any surface where the math doesn't clear without a pre-cache layer.

Phase 1 Draft. Detailed answers to the six questions

1. Speed feasibility. yes / no / with caveats NO on a live unbounded Exa query. YES with pre-cached canonical matches.

Exa Websets cost: ~$0.006/result (per skills/hunter/SKILL.md §"What's the budget signal?"). 15-row shortlist = $0.09 raw, before any LLM "why this fits" pass which adds another $0.02 - 0.05 per row. Cold-start latency on a fresh Websets query: 30-120s observed. The 60s SLA is on the wrong side of the median. Public, anonymous traffic = unbounded cost exposure. A single Hacker News spike at $0.15/visitor is a budget event, not a demo. Hunter's $0-cap rule in maxswarm context (SKILL.md §"What Hunter Will NEVER Do Without Approval") was written for exactly this kind of "free for the visitor, paid for us" trap. The acquirer-branch has hard-filter gates (see #5) that cannot be cleared in <60s without curated review.

2. Minimum viable input schema Four fields. Anything more is a friction tax that drops conversion.

FieldTypeWhy SectorSingle-select from ~12 buckets (SaaS, light manufacturing, healthcare services, business services, etc.)Drives buyer-universe filter. strategics map to sector, generalist PE doesn't. GeographyRegion (US-South / US-NE / Canada / UK / etc.) + optional stateMost LMM buyers have regional sweet spots; ignoring this surfaces NY PE for an Idaho founder. EBITDA band5 bands: <$1M, $1 - 3M, $3 - 10M, $10 - 25M, $25M+Below $3M most committed-fund PE is out; above $25M strategics + UMM PE crowd in. Different lists. Deal type preferenceStrategic / PE platform / PE add-on / family office / independent sponsor / "no preference"Buyer behavior diverges sharply on this axis. a founder who wants to keep operating filters out platform PE.

Optional 5th: a "what matters most to you" pick-one (max price / cultural fit / speed to close / staying as CEO) — this ranks the output, doesn't filter it.

3. Demo mode strategy. recommendation Pre-cached canonical examples, not live Exa. Build 8-12 archetypes that cover ~80% of inbound founder traffic:

Texas SaaS, $5 - 10M EBITDA, founder-led. strategic + PE add-on mix Midwest light manufacturing, $3 - 10M, family owned. strategic-heavy Northeast healthcare services, $1 - 3M, professional services. PE platform-builder targets ... (architect spec the other 5-9 with market-analyst input)

Match logic: nearest-neighbor on (sector, geo-region, EBITDA-band, deal-type) — show the closest archetype's curated list with a banner ("Closest match shown. for a custom run on your exact criteria, click here"). The CTA routes to the real /hunter pipeline asynchronously, captures the founder's email, and emails the live result in 24h. This converts off-archetype traffic into a lead instead of a failed demo. Why not live: cost, latency, hard-filter risk, and. most importantly. a live failure (timeout, empty list, wrong-vertical buyer) on the public PDF surface is a credibility hit that costs more than the engagement it would generate.

4. Output schema. opinionated row

FieldDisplayNotes Logo + NameVisualLogo only if public. Otherwise initials avatar. never scrape. TypePill: Strategic / PE Platform / PE Add-on / Family Office / Independent SponsorSingle source of truth for filter behavior. Recent deals in this space2-3 short lines: "Acquired [target] (2024)"Only public, sourced. No "we hear they bought" — kills credibility. Deal size sweet spot"$3 - 8M EBITDA" rangeFrom their stated criteria or last 5 deals. INFERRED if synthesized. Why this fits. one-liner14-20 wordsThe differentiator. Must reference the founder's input, not be a generic blurb. Contact"Request intro" button. not a raw email/phoneCritical: surfacing a partner's direct line on a public page burns the relationship and exposes us to spam-routing accusations. Intro request goes through Next Chapter. ConfidenceHIGH / MED / LOW pillPer hunter's hallucination-guard policy in SKILL.md.

5. Failure modes specific to the acquirer-branch. hard filters

Failure modeHard filter Buyer is the founder's competitor reading the PDFEach archetype's curated list excludes any buyer that operates in the SAME sub-vertical at the SAME size band as the founder's stated profile. Manual tag competitor_risk: high on the archetype config. set by market-analyst, not auto-derived. Buyer is on a deal-specific NDA listCross-check archetype output against nda_blocklist table in Supabase before render. Quarterback / writer keep this current per active engagement (HR.com, Design Precast, Capstone). Hunter's render call is a JOIN that excludes any buyer flagged for any active deal. even if the founder isn't one of those deals. Buyer was acquired / shut their fund last weekEach archetype's curated list has a last_verified timestamp. If older than 30 days, archetype is auto-flagged stale and the demo shows "Refreshing. ask for a custom run" instead of stale data. Precedent: Workforce Software / ADP miss surfaced in prior swarm runs is exactly this failure on the buyer side. Buyer doesn't actually do this sizeEach row must cite at least 1 public transaction in the size band within last 36 months. no transaction, no row. INFERRED rows excluded entirely from the public demo (allowed only in the async custom-run output where they're labeled). Generic mega-PE that "could buy anything" pollutes the listCap each archetype at 12-15 buyers and weight toward operator-friendly buyers, not name-brand mega funds. The PDF's stance is "we know boutique buyers" — surfacing KKR is off-brand.

6. One-line currency for /buyside-hunt Have buyside-hunt emit a stable archetype_key on every successful run — formatted as {sector}-{geo_region}-{ebitda_band}-{deal_type} (e.g., saas-us-south-5to10m-pe-addon). Then hunter can index every paying-client buyside-hunt run as a candidate for the public demo's canonical-match library, automatically. Today buyside-hunt emits results.json + shortlist.html scoped to the buyer-config slug; one extra field at the top of summary.json turns every internal run into demo fuel for free. This is a 1-line currency that 3x's the demo's ongoing freshness without architect or hunter having to maintain the cache by hand.

Citations: skills/hunter/SKILL.md (sources, costs, journal contract, hallucination guard), skills/maxswarm/notebook/recent_runs.json (runs #010, #013, #016 patterns), skills/maxswarm/JOURNAL_STANDARDS.md v1.1 (S1-S6 contract). Workforce Software / ADP precedent referenced from market-analyst prior-run notes (not directly verified this run. see S2).

Generated from 017__hunter.md — do not edit this HTML directly.