# Researching one prospect, end to end

Research takes one candidate — a name, usually with a location — and turns it into a record of claims, each stored with the source it came from. Anything that cannot be sourced is dropped rather than softened. The pass ends with a score, a written fit reason, and a contactability state that may well be 'researched, no address'.

- **Status:** Available
- **Audience:** both
- **In the app:** #/prospects
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/workflows/prospect-research/

## One candidate, end to end

1. Trigger — a candidate from a discovery run, an imported row, or a person asking for one organisation to be researched.
2. User event — for a manual request, the person's instruction is itself the reason and is recorded as one.
3. Authentication and workspace resolution — the candidate already belongs to a workspace; research inherits it and cannot read outside it.
4. Ingest — the candidate's name and location are resolved into the sources worth reading.
5. Canonical record — the prospect row exists before the reading starts, so a partial pass leaves a partial record rather than nothing.
6. Research and reasoning — sources are read and claims extracted; `prospect_evidence` stores each claim with its source, and refuses the claim if there is none.
7. Knowledge, memory and rules — the workspace's knowledge decides what a good fit means here; standing instructions and blocks are honoured at this point, not after.
8. Autonomy and approval — `prospect_cost_router` decides whether a deeper pass could change a decision; the AI budget can refuse further paid work outright.
9. Action through a provider — public-source fetches and model calls. Nothing is sent to the organisation being researched.
10. Result — claims with evidence, a score from `prospect_scoring`, a written fit reason, and a contactability state.
11. Relationship and memory — if an address resolves to a Person you already have, the prospect becomes that relationship instead.
12. Audit and usage — the spend is booked, and a refusal (budget, identity, no sources) is recorded as the decision it is.

## How a claim earns its place

| Step | What is stored | What is discarded |
|---|---|---|
| A source is read | Nothing yet | Pages that say nothing about this organisation |
| A statement is extracted | The statement, and the source it came from | A statement nobody can point at a source for |
| The claim is scored | Its contribution to the fit reason | A claim that no reasonable brief would care about |
| An address appears in a source | The address with its provenance | An address nobody published |
| No address appears anywhere | The prospect, with a next action that is not email | The temptation to derive one from a name and a domain |

The rule at the bottom of that table is the one that shapes the whole flow. Because a pattern-generated address is never produced, the research pass has no fallback and no reason to pretend. Either a source showed the address or the record honestly says there is none.

## Depth is decided, not assumed

1. The first pass reads the obvious sources and extracts what they say.
   - Result: Most prospects are decided here — clearly in, clearly out, or clearly unreachable.
2. The router asks whether more reading could move this particular prospect across a line that matters.
   - Result: Where it could not, the pass stops and the prospect keeps the evidence it has.
3. Where it could, a deeper pass runs and its claims join the record with their own sources.
   - Result: The score and the fit reason are recalculated, and the change is visible rather than silent.

> **Careful** A deeper pass can lower a score. Reading more about an organisation is as likely to disqualify it as to qualify it, and a research step that could only ever improve a prospect would not be research.

## What failure looks like

**Very few claims** — The organisation has a small public footprint. The record is thin and honest; the score reflects the evidence rather than the intuition.
**Claims that contradict each other** — Both are kept with their sources, and the contradiction is visible. Resolving it is a person's judgement, not a coin toss.
**Research stopped early** — The budget refused, or the router judged further work pointless. The two look different in the decision trail.
**The prospect vanished** — It resolved to an existing relationship. Look for it under people or companies rather than under prospects.

## Questions

### Does research visit the company's website?

It reads public sources, and a company's own site is usually among the strongest of them, which is also why an address found on a published contact page carries better provenance than one supplied in a spreadsheet.

### Can I add my own knowledge about a prospect?

Yes, and it is kept as your claim, attributed to you. It is not converted into an evidence-backed claim, because the distinction between what you believe and what has been proved is the thing this record exists to preserve.

### How long does a pass take?

It depends on how many sources are worth reading and whether a deeper pass is warranted, so this page does not quote a figure that would be wrong for half of all cases. The prospect is usable as soon as its first claims land.

## Related

- [Researching a candidate](https://connectbyjbrh.com/docs/prospects/public-source-research/)
- [Evidence on a prospect](https://connectbyjbrh.com/docs/prospects/evidence/)
- [Deep research on a prospect](https://connectbyjbrh.com/docs/prospects/deep-research/)
- [Capturing evidence for a prospect, end to end](https://connectbyjbrh.com/docs/workflows/prospect-evidence-capture/)
- [Connect does not guess email addresses](https://connectbyjbrh.com/docs/prospects/no-guessed-email/)
- [Discovering prospects, end to end](https://connectbyjbrh.com/docs/workflows/prospect-discovery/)

## What this page is based on

- `docs-source/sources/CHANNELS.md` §4 — evidence, cost routing and scoring
- `backend/app/prospect_evidence.py`, `backend/app/prospect_cost_router.py`
- `backend/app/prospect_scoring.py`, `backend/app/prospect_contacts.py`
- Connect capability registry (`docs-source/facts.py`)
