# Source-required research card

- Source: https://simeoncreatives.com/resources/source-required-research-card
- Hub: AI & Business Automation

A one-page gate for any large language model research job. Every claim needs a URL, a verbatim quote, a retrieval date, and a source type. No citation, no ship.

Tick this before a research workflow feeds anything a client, a deck, or a campaign will use. If a box is unticked, the output stays internal.
The model proposes claims. A script checks quotes. A person approves. Do not skip the person because the script passed.

```mermaid
flowchart LR
    F["Fetch"] --> E["Extract claims"]
    E --> V{"Schema + quote check"}
    V -->|Fail| D["Drop and log"]
    V -->|Pass| R["Human review"]
    R --> S["Ship with URLs"]
```
*The script drops what it can prove wrong. The reviewer judges the rest.*

## Name the job

- [ ] Research question (one sentence)
- [ ] Where the output will be used (deck, brief, message, internal only)
- [ ] Reviewer (one named person)
- [ ] Context pack version loaded, if any

## Every claim is a record

| Field | Rule | Fail closed if |
| --- | --- | --- |
| claim | One statement, plain words, capped length | It bundles two claims or contains a dollar figure with no quote |
| url | https only, a specific page | It is a homepage, a search result page, or empty |
| quote | Verbatim text from the fetched page | It does not appear in the text the workflow downloaded |
| retrieved_on | Date the workflow fetched the page | Missing or in the future |
| source_type | primary, vendor, press, forum, unknown | Outside the list |

- [ ] Records are validated against a JSON Schema before anything else runs
- [ ] Page text comes from our fetch step, never from text the model supplied

## Checks, in order

- [ ] Schema check passes or the record is rejected and logged
- [ ] Quote check passes or the claim is dropped and logged
- [ ] Reviewer confirms the quote supports the claim, not something narrower or older
- [ ] Reviewer confirms the source type fits the claim

## Source-type weights

| Type | Can carry | Needs a better source for |
| --- | --- | --- |
| Primary | Rules, definitions, limits, legal wording | Opinions on real-world performance |
| Vendor | What the company says it offers today | Independent comparisons or results |
| Press | Launches and announcements with outlet and date | Product detail the article may have simplified |
| Forum or social | Leads to investigate | Anything printed or sent |
| Unknown | Nothing | Everything. Route to a human to classify. |

## Drop rules

Do not repair a claim by asking the model to find support for a sentence it already wrote. Drop it, log it, move on.

- [ ] Quote not found: dropped and logged with the run id
- [ ] No URL: dropped
- [ ] Weak source type for the claim: parked with a flag for the reviewer
- [ ] Dropped claims stay in an unsupported list. They never enter the output.

## Fetch and safety

- [ ] Public pages only. No logins, no accounts that are not ours.
- [ ] robots.txt respected. Site terms read.
- [ ] Fetched text is treated as data, never as instructions
- [ ] No send, post, or write tool in the same step as the model
- [ ] Fetched text stored with the run so the page can be checked later

## Before it ships

- [ ] Each shipped sentence keeps its URL and retrieval date next to it
- [ ] Drop rate logged. A sudden rise means the prompt or model changed.
- [ ] A golden set of known questions reruns after any prompt or model change
- [ ] One flag pauses the workflow

## Related guides

- [Source-required LLM research: no citation, no ship](https://simeoncreatives.com/blog/source-required-llm-research-outputs)
- [Evaluate an AI workflow before production](https://simeoncreatives.com/blog/evaluate-ai-workflow-before-production)
- [Human-in-the-loop for n8n and LLM jobs](https://simeoncreatives.com/blog/human-in-the-loop-n8n-llm-jobs)
- [Marketing context pack](https://simeoncreatives.com/resources/marketing-context-pack)
