You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
experiments/mimic_cxr_image/ has no committed script that actually calls the Gemini API to generate the cascade/solo/system_flag/blind_metric results. The only committed .py files there are build_subset.py (deterministic manifest/subset selection, no API calls) and plant_direction_check.py (an offline re-analysis that reads already-generated jsonl files, also no API calls).
The committed result files under experiments/mimic_cxr_image/results/ (e.g. cascade_150/imaging_cascade_summary.json, imaging_blind_metric_summary.json, imaging_system_flag_summary.json, imaging_strength_cascade_summary.json) were therefore produced by a script that either never got committed, or was run and then removed. Nobody looking at this repo can regenerate these numbers from what is here, and the code that was actually used to produce them cannot be audited for correctness (see below).
This is the exact same gap flagged on the CheXpert redesign in #331/PR #337 (also missing a committed runner), except CheXpert's gap is being actively worked on and MIMIC's is not yet tracked anywhere.
Why this matters for the paper
Reproducibility. The project's standing rule is that every real-data claim reproduces from a committed cache with no API key required. That is impossible here since the generating script itself is absent, not just its cache.
Commit the script(s) that actually drive GeminiBackend/cache.ask calls for each MIMIC-CXR imaging arm (solo, cascade, system_flag, strength_cascade, blind_metric), under experiments/mimic_cxr_image/, mirroring the shape of the already-fixed experiments/imaging/*.py scripts.
A README or docstring documents the exact command to regenerate every arm from a fresh manifest, so plant_direction_check.py's inputs are themselves reproducible, not just its outputs.
Re-verify (or re-derive) that the currently-committed result summaries match what the committed runner actually produces, since they may currently be stale relative to any local-only version of the script.
Real-data rule
Any fix here needs a real Gemini API run to confirm the committed runner reproduces the existing (or corrected) summary numbers, not just a code read. Mock/offline verification alone does not satisfy this project's standing rule.
Problem
experiments/mimic_cxr_image/has no committed script that actually calls the Gemini API to generate the cascade/solo/system_flag/blind_metric results. The only committed.pyfiles there arebuild_subset.py(deterministic manifest/subset selection, no API calls) andplant_direction_check.py(an offline re-analysis that reads already-generated jsonl files, also no API calls).The committed result files under
experiments/mimic_cxr_image/results/(e.g.cascade_150/imaging_cascade_summary.json,imaging_blind_metric_summary.json,imaging_system_flag_summary.json,imaging_strength_cascade_summary.json) were therefore produced by a script that either never got committed, or was run and then removed. Nobody looking at this repo can regenerate these numbers from what is here, and the code that was actually used to produce them cannot be audited for correctness (see below).This is the exact same gap flagged on the CheXpert redesign in #331/PR #337 (also missing a committed runner), except CheXpert's gap is being actively worked on and MIMIC's is not yet tracked anywhere.
Why this matters for the paper
experiments/imaging/imaging_cascade.py(and 6 sibling scripts): the old design plantedwrong = flip(clean_read), which on finding-present cases coincides with ground truth whenever the model's own clean read was already wrong, understating what a genuine correction looks like versus real sycophancy. Aldo'splant_direction_check.py(MIMIC-CXR: deterministic subset tooling + imaging battery (closes #324) #329) is a valid, honest retrospective correction of the existing committed data (splits already-collected transcripts into genuinely-false vs coincides-with-truth subgroups), but it cannot confirm the next run (e.g. any rerun toward n=600, or any new cue/arm) would use the fixed design, because there is no committed generator to inspect or fix going forward.What "done" looks like
GeminiBackend/cache.askcalls for each MIMIC-CXR imaging arm (solo, cascade, system_flag, strength_cascade, blind_metric), underexperiments/mimic_cxr_image/, mirroring the shape of the already-fixedexperiments/imaging/*.pyscripts.wrong = "no" if clean == "yes" else "yes"pattern.plant_direction_check.py's inputs are themselves reproducible, not just its outputs.Real-data rule
Any fix here needs a real Gemini API run to confirm the committed runner reproduces the existing (or corrected) summary numbers, not just a code read. Mock/offline verification alone does not satisfy this project's standing rule.
Related: #331, #332, #333, #338, #339, PR #329, PR #337.