Validate your Markdown.
<!-- mdv: section required minWords=20 noPlaceholder -->## DescriptionAdds a token-refresh hook to the auth client so a background request keeps working after the access token expires, instead of silently failing.<!-- mdv: endsection --> <!-- mdv: taskList required allChecked exactLabels -->## Testing- [x] Tests pass- [x] Docs updated- [x] No unrelated changes in the diff<!-- mdv: endtaskList -->Three of the Big Four withdrew a report.
Deloitte Australia, KPMG and EY Canada, within twelve months · PwC is not among them
The few that surface do so expensively.
Deloitte repaid A$440,000; KPMG and EY withdrew reports after forensic review of their citations
Documented incidents, by date
Mark size is the sum paid, on a log scale and without converting currencies · hover any mark for the case · recent cases are easier to find, so part of the steepening is our own search · Deloitte, KPMG and EY — AP / CNA and GPTZero forensic reviews, 2025–2026
28 million references could not be checked.
125.6M references extracted from 2.5M papers; 97.1M carried a resolvable identifier — the rest could not be resolved either way
The part we can check doubles every year.
Even the study's critic calls it an undercount — “the tip of the iceberg”, Mohammad Hosseini, Northwestern, quoted in Retraction Watch
Papers carrying at least one fabricated citation
Dots are values the letter states, dashed between them · hover a reading for its figure · x10.2 across the window, an annual multiplier of 2.5 · Fabricated citations: an audit across 2.5 million biomedical papers — The Lancet, 2026
Not a spellchecker. Not a style guide. Not an LLM judge.
A markdown validator.
1. You already have a template.
## Summary
## This week
- [ ] What actually shipped2. Add invisible ink.
The comments render as nothing. Humans still see a template — mediva sees a contract.
<!-- mdv: section required minWords=20 noPlaceholder -->
## Summary
<!-- mdv: endsection -->
<!-- mdv: taskList required allChecked -->
## This week
- [ ] What actually shipped
<!-- mdv: endtaskList -->3. Someone "finishes" it.
Looks done at a glance. It isn't.
## Summary
TODO: write this later
## This week
- [ ] What actually shipped4. The ink talks back.
One specific diagnostic per gap — a human or an agent fixes it and retries. Deterministic: no LLM, no network.
The contract checks the rule. The judgment stays yours.
Catches what review skims past.
TODO: fill this inAdds retry-with-backoff.Your code has tests. Your documents need them too.
Code ships with tests because nobody rereads every line before every release. Documents now arrive at machine scale, but the time available to check them has not kept pace. mediva makes their requirements repeatable: the same contract, the same verdict, in CI, the CLI, a git hook, or an agent loop.
Only a passing check closes the loop.
Give your agent the skill:
the agent reports: "task complete ✓". the check disagrees:$ mdv check PR.md✕ PR.md:1 [too-few-words] The "Description" section is too short (4 words). the agent fixes exactly that line, and re-checks:$ mdv check PR.md✓ 0 errors, 0 warnings — contract satisfiedRun it anywhere.
# .github/workflows/mediva.yml- uses: actions/checkout@v4- uses: jamespacileo/mediva@v0.2.0Do you work with a coding agent?
Sixty seconds either way. The first run comes up red on purpose.
$ npx skills add jamespacileo/mediva --skill mdv --agent claude-codethen paste: "Set up mediva for my README. Don't run the finalcheck — print the command, I'll run it."the agent asks a few plain questions, writes the contract, and stops. $ npx mediva check first-check.md✕ first-check.md:5 [unchecked-items] The "Before you trust it" section still has unchecked boxes. the box says “I ran mediva myself.” — you just did. tick it, re-run:$ npx mediva check first-check.md✓ 0 errors, 0 warningsThe model can draft it. You decide what passes.
The check runs here. No document is sent to a model.
Even Anthropic's docs tell you to validate critical information.COOPER “TARS, how did crews validate Markdown before this?”
TARS “They read it. By eye. In production.”
COOPER “…and they survived?”