Every document, script and table behind the plan, plus private team links to the recordings and the study export.
audio_durations.py — ffprobe every recording, join to the child index + coach reviews, write audio/_audio_index.csv and print baseline stats. baseline_timings.py — Baseline: how long enumerators took per subtask and per child, from the SurveyCTO export. build_site.py — Build the self-contained GitHub Pages site for the EGRA-in-five-minutes plan into ./site. download_drive_audio.py — Download every file in the shared EGRA/EGMA enumerator-recordings Drive folder into ./audio. download_tips_folder.py — Download the TIPS assessment Drive folder into ./tips (Google-native files exported). harness/01_soniox_batch.py — Harness step 1: Soniox stt-async-v3 (diarised, hints ur+en) over every recording → harness/soniox/<file>.json harness/02_ground_truth.py — Harness step 2: extract per-child ground truth from the SurveyCTO export for the 206 matched recordings. harness/03_segmenter.py — Harness step 3: rule-based segmenter over Soniox diarised tokens. harness/03b_segmenter_llm.py — Harness step 3b: LLM-labelled segmentation on STT timestamps ("STT cuts, LLM labels"). harness/04_reference_reconstruct.py — Harness step 4: reconstruct the instrument's reference texts by consensus across children. harness/04b_reference_llm.py — Harness step 4b: reconstruct the reference stimuli with an LLM instead of positional voting. harness/05_human_floor.py — Harness step 5: the human floor. For every subtask, how often did the QA reviewer (second human, re-listening harness/06_reading_score.py — Harness step 6: Urdu + English reading scores from STT alone (the "cheap stack"). harness/07_maths_grade.py — Harness step 7: maths from speech. For each child, give a TEXT LLM the diarised transcript of the maths block harness/08_soniox_english_pass.py — Harness step 8: second Soniox pass on the ENGLISH block only, language hint 'en' only. harness/08b_whisper_english_pass.py — Harness step 8b: English block via OpenAI whisper-1 with language forced to 'en' + word timestamps. harness/09_english_azure_speechace.py — Harness step 9: English passage + word list — Azure Pronunciation Assessment vs SpeechAce vs Soniox-diff, harness/09b_speechace_eval.py — Re-score the cached SpeechAce responses properly: per-word verdict (quality_score < 60 = wrong) vs the enumerator's harness/10_window_scorers.py — Harness round 2, step 10: score the 60-second reading windows with the models we recommended but had not tested. harness/11_comprehension_grade.py — Harness round 2, step 11: grade the Urdu reading-comprehension answers with text LLMs. harness/12_round2_summary.py — Harness round 2, step 12: one table per experiment with the human floor and the Levenshtein baseline beside every harness/13_round2_charts.py — Harness round 2, step 13: house-style charts of the round-2 results for the board post and the site. harness/14_worked_examples.py — Harness step 14: worked examples — one page per scored window showing every artefact behind the score. harness/15_evaluation_doc.py — Harness step 15: write the ONE canonical evaluation record (harness/HARNESS_RESULTS.md) from every cached result, harness/_chain_after_segmenter.sh — harness/_notion_flow_section.py — One-off: swap the 'The checking screen' section on PROJ-068 for the accurate WhatsApp Flow design. harness/_patch_plan_eval.py — One-off: rewrite PLAN.html's evaluation and stack sections into the single combined record. harness/_patch_plan_flow.py — One-off: replace the invented checking-screen mockup with the accurate WhatsApp Flow design. harness/_patch_speechace.py — One-off: fold the corrected SpeechAce numbers and the Azure-vs-SpeechAce recommendation into the record. harness/_r2_audio.sh — harness/_r2_scale.sh — harness/_r2_seg_maths.sh — harness/_r2_text.sh — probes/probe1_segment.py — Probe 1: can an audio LLM segment an enumerator EGRA session into subtasks and extract the child's responses? probes/probe2_soniox.py — Probe 2: our production STT (Soniox stt-async-v3, Urdu hint, diarization) on the Urdu letter-ID slice. Run: uv run --with requests python probe2_soniox.py <wav> <lang> baseline_subtask_timings.csv — Per-subtask enumerator timings (seconds) harness/human_floor.csv — Human floor: reviewer agreement with the enumerator per subtask harness/reading_summary.csv — Reading counts: machine vs enumerator per subtask, with window-failure split harness/round2_windows.csv — Sixty-second windows: every audio and text model vs the enumerator, with baseline and human floor harness/round2_comprehension.csv — Comprehension graders vs the enumerator harness/round2_segmenter.csv — Segmenter labellers vs the tablet timestamps harness/round2_maths.csv — Maths graders vs the enumerator, by subtask harness/window_scores.csv — Per-window rows behind the sixty-second-window table (file ids only) harness/comprehension_scores.csv — Per-child rows behind the comprehension table harness/reading_scores.csv — Reading counts per recording window (file ids only) harness/reading_items.csv — Per-word machine vs enumerator flags (subtask, machine_wrong, enum_wrong) harness/segmenter_llm_google_gemini-2.5-pro.csv — Segmenter agreement with tablet timestamps per recording harness/maths_scores_google_gemini-2.5-pro.csv — Maths from speech: machine vs enumerator counts per recording harness/english_results.csv — English windows: SpeechAce and STT-diff vs enumerator per recording harness/segmenter_results.csv — Rule-based segmenter (v1) results egra-review-flow.json: the coach's checking screens as a WhatsApp Flow JSON draft (version 7.0, endpoint data model), built on the same pattern as the Islamabad observation form. The three screen pictures in the plan are rendered from this file's example data.
Twelve real windows, each showing the printed text, the clip (Drive, team accounts), the transcript, the enumerator's marks and every model's per-word verdicts side by side.
AA_<uuid>_enumerator.m4a), the SurveyCTO export EGRA_EGMA client N=2233.xlsx (one row per child, 1,364 columns), and the reviewer workbook Data.xlsx (1,462 QA re-listens). These hold child data and are not copied into this repository.06_Logs & Misc/Reports/Active/EGRA Student Assessment - Sep 2026/ in the Rumi workspace.