Cross-Reference Claim
Source hierarchy (enforced)
- Primary: original arXiv paper, official docs (PyTorch, CUDA, Linux), RFC, ACM/IEEE proceedings, canonical textbook (Deep Learning Goodfellow et al., DDIA Kleppmann, Jurafsky & Martin).
- Secondary: author's own blog/slides when they are the primary authority; well-maintained official implementation source.
- Tertiary: Wikipedia (orientation only, never as the cite).
- Not a source: random blog posts, Medium, X threads, unreviewed tutorials, other LLM outputs.
Workflow
Per claim:
- [ ] Step 1: WebSearch with claim + likely source terms
- [ ] Step 2: WebFetch top candidate; extract specific result/passage
- [ ] Step 3: If paywalled, fall back one tier; note fallback explicitly
- [ ] Step 4: If nothing authoritative within 10 min on one claim, mark could-not-verify
- [ ] Step 5: Return {url, title, passage_or_result, tier}
Guardrails
- Never cite a blog post as primary.
- Never cite model's own recall as source.
- Never invent a URL.
could-not-verifywith attempted-queries is better than fabrication. - 48h wall-clock cap is enforced at the agent level; per-claim cap is 10 minutes of research.
could-not-verifydoesn't block GO. It lands in the Could-Not-Verify section of the review; the writer decides whether to ship anyway.- Primary source must contain the specific result/passage — not a reference to a result. Fetch the paper, not a blog that cites the paper.