Skip to content

One-command reproduction and the funnel figure (#25) - #41

Merged
NingyuSUN merged 1 commit into
mainfrom
reproduce-and-funnel
Oct 6, 2026
Merged

NingyuSUN merged 1 commit into
mainfrom
reproduce-and-funnel

Conversation

@NingyuSUN

Copy link
Copy Markdown
Owner

Two of the four items of #25. 0.8.0 is already released; the validation dossier remains.

One command — uv run --frozen --with matplotlib==3.11.2 python tools/reproduce.py

  • It regenerates every committed benchmark table, summary and figure offline, in 18 steps:
    • the three real-data cases;
    • ten LLM-benchmark result sets;
    • task files, semantic units and the error taxonomy;
    • four figures.
  • Each output is compared with the repository: text with line endings normalised, everything else byte for byte. Locally all 18 steps reproduce, in about 2.5 minutes.
  • Model calls, agent runs and downloads are not repeated: their outputs are committed and pinned.
  • --write updates the committed files, --only runs selected steps, and --list lists them.
  • A new CI job, reproduce, runs it on every change. tests/test_reproduce.py fails if any results directory or figure is not covered by a step.
  • It caught a real drift: the ClinVar and VBO figures were still captioned v0.7.0 after the 0.8.0 release. They are regenerated here.

Funnel figure — docs/assets/ai_validation_funnel.svg, shown in the README and the docs homepage

  • It follows the single-cell held-out answers (6 models × 46 clusters) stage by stage:
  • celltype_loop.score now records these stages in each summary. The three single-cell summaries are regenerated; only the new funnel field and line are added.

Checks: ruff, mypy, pytest (98.71%), mkdocs build --strict, and the full reproduction.

tools/reproduce.py regenerates every committed benchmark table, summary
and figure offline (18 steps) and compares each with the repository;
CI runs it, and a test fails if a results directory or figure is left
out. It found the ClinVar and VBO figures still captioned v0.7.0 after
the release; they are regenerated.

The funnel figure follows the single-cell held-out answers stage by
stage: first check, feedback, admission, and comparison with the
authors' terms, with the expert audit marked as not yet run. Cell-type
summaries now record these stages.
@NingyuSUN
NingyuSUN merged commit 3c5bd8a into main Oct 6, 2026
11 checks passed
@NingyuSUN
NingyuSUN deleted the reproduce-and-funnel branch October 6, 2026 04:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant