How quality is gated
Evidentia is a protocol for medical writing before it is published. Quality is guaranteed by a gated loop, not by a scoring rubric. Existence is a registry lookup. Honesty is a skill. A fabricated identifier presented as real is a KILL.
CLI + MCP engine · skills/medical-fact-check · MIT · not CDS
flow
-
content
-
Claim ledger
- check
- Extract every testable claim and its identifier before any lookup. Headlines count.
- stop
- Do not call the engine until the ledger exists.
-
Engine
- check
- Existence: DOI / PMID / arXiv / NCT against CrossRef, PubMed, OpenAlex, arXiv, ClinicalTrials.gov.
- fail
- Retry once; still down → unresolved (never guess Hallucination). T4 is ground truth — the LLM must not override. ISBN / guideline / title-only → T2, never T4.
-
Semantic
- check
- Honesty: one abstract fetch per T1 cite; primary outcome, population, direction of effect.
- fail
- Does not upgrade T3 or T4.
-
15-criteria
- check
- Appraisal of the content (not a treatment recommendation).
- stop
- This pass does not diagnose, treat, or replace professional judgment.
-
Adversarial
- check
- Five lenses plus a 10-line checklist → KILL / MAJOR / MINOR / PASS.
- fail
- KILL (T4 presented as real, or harm) → score ≤ D (F if fabrication). MAJOR cannot be A.
loop 5 → 2 Engine · cap 3
-
Correction
- check
- The author revises the text.
- stop
- Re-enter at 2 Engine. Cap 3. Then stop and report what is still open.
engine
| Tier | Name | Meaning |
|---|---|---|
| T1 | Verified | Paper exists, metadata matches. |
| T2 | Content review needed | Unindexed (ISBN / guideline / title-only) or semantic misuse of a real paper. Never Hallucination. |
| T3 | Bibliographic mismatch | Paper exists, identifier or metadata disagrees. |
| T4 | Hallucination | Identifier resolves to nothing, or to a different paper. Ground truth; LLM must not override. |
adversarial
- Citation integrity
- T4 presented as real is KILL.
- Claim support
- Real paper, wrong claim (primary / population / direction).
- Statistics and language
- RRR without ARR, “causes” from observational, “miracle”.
- Harm
- If following the text could cause harm, KILL even when every cite is T1.
- Steelman, then attack
- If the steelman cannot survive, cannot be PASS.
| Verdict | Meaning | Score |
|---|---|---|
| KILL | T4 as real, or harm. Must not publish as-is. | ≤ D; F if fabrication |
| MAJOR | Real sources, dishonest use. | cannot be A |
| MINOR | Hedging / currency / formatting. | grade as earned |
| PASS | Ship with caveats; human owns publish. | grade as earned |
criteria
Appraisal of the content, not a treatment recommendation. The letter is gated by adversarial review, not averaged from 15 boxes.
- Evidence level
- Citation accuracy
- Statistics
- Causation
- Bias / COI
- Overclaiming
- Population fit
- Temporal validity
- Readability
- Ethics
- Logic
- Images
- Alternatives
- Clinical relevance
- Completeness
run
| # | claim | id | engine | note |
|---|---|---|---|---|
| 1 | pediatric ARTI frame | none | n/a | adult/mixed IPD sold as pediatric |
| 2 | Martineau IPD ARTI, strongest in deficient | doi:10.1136/bmj.i6583 | T1 | supports ARTI; cherry-pick on population |
| 3 | 1,200 schoolchildren, 47% influenza A | doi:10.1056/nejmoa2105512 | T4 | presented as real → KILL |
| 4 | cathelicidin in airway | pmid:18768876 | T4 | different paper → KILL |
| 5 | 2019 Cochrane, replete children | doi:10.1002/14651858.cd012734 | T3 | cirrhosis Cochrane, keep T3 |
Adversarial KILL, score F. Worked ledger.
$ npx evidentia check examples/inputs/ai-generated-answer.md Evidentia: 4 citations — 1 verified, 1 mismatch, 2 hallucinated (75.0% fabrication rate) [OK ] doi:10.1136/bmj.i6583 — Paper exists and the cited metadata matches the registry record. [HAL] doi:10.1056/nejmoa2105512 — DOI does not resolve in CrossRef or OpenAlex, and no matching paper was found. [HAL] pmid:18768876 — Identifier resolves to a different paper ("Trafficking of antigen-specific CD8+ T lymphocytes…") than the one cited. [MIS] doi:10.1002/14651858.cd012734 — Paper exists, but cited metadata disagrees with the record (year).
install
npx evidentia check your-article.md
npx skills add kgraph57/evidentia
claude mcp add evidentia -- npx -y evidentia-mcp