Gap audit against the goal
Enumerate the universe (isotopes in clinical or trial use, FDA/EMA approvals, indications, guideline tables), diff it against the corpus, and write the gaps down with size and owner. The gauges above are the automated half; an editorial pass at the start of each wave is the other.
- How often
- Gauges: every build. Editorial audit: at the start of each wave.
- Where
- src/lib/health.ts/gaps/
- Better if
- Open one GitHub issue per open gap automatically, so the audit becomes a work queue rather than a document.
Per-kind agents in parallel with disjoint file ownership
A wave is split into agents, each owning a set of data files nobody else touches (cancer deep dives, gap-fill, idea waves, people, key papers). They run in separate git worktrees, so merges are mechanical: no two agents edit the same file.
- How often
- Per wave; seven agents in the last one.
- Where
- src/data/spikes/src/data/gap-fill.tssrc/data/ideas-waves/
- Better if
- An ownership manifest checked in CI, so a change to a file outside an agent's allotment fails the build instead of a merge.
Validate, typecheck, lint, test, build gates
Every push and pull request runs the schema validator (ids, dangling references, duplicates), the TypeScript compiler in strict mode, ESLint, the corpus tests (every TL;DR readable, every reference resolving), and a full static build.
- How often
- Every push to main and every pull request.
- Where
- .github/workflows/ci.ymlscripts/validate.tssrc/lib/graph.test.ts
- Better if
- Turn each gauge target into a ratchet: a pull request may not lower a metric that is already above its target.
Suggest-an-edit issues
Every object page has a form that opens a prefilled GitHub issue (entity, field, proposed value, source, who you are, conflicts) or a direct link to the record's line for a pull request. Organisations may edit their own records under their name.
- How often
- Continuous; triage within a week.
- Where
- SuggestEdit.tsxissue templates/suggest/
- Better if
- A bot that converts an accepted issue into a pull request against the exact line, with the source appended to `links`.
Review tracks
Clinical, scientific, regulatory, patient-advocate, and organisation self-edit tracks, each with named reviewers and a conflict-of-interest field shown next to the badge. The badge component is built; the reviewer list is not yet populated.
- How often
- On merge of any factual change; badges dated.
- Where
- .github/REVIEWERS.mdsrc/data/reviews.tsReviewBadge.tsx
- Better if
- Recruit one named reviewer per cancer and per front; the “Records with a review badge” gauge above is at zero until then.