Why this matters for the paper
If the BOHDI wrapper produces hedging language regardless of question difficulty, the training signal is uninformative — the LoRA learns to hedge unconditionally, not calibrated to uncertainty. This is the most basic sanity check for the training data and it has never been run. If the hedge rate is near-uniform across score quartiles, the paper's calibration framing is wrong.
Scope
Done when
scripts/analyze_hedge_rate.py runs end-to-end and prints a table with overall rate, per-quartile rate, and per-tag rate. Results are saved to eval/hedge_rate.json. The paper's limitations section is updated if the 80% threshold is crossed.
Effort
Small — lexical analysis, no GPU.
Good for
sahilk873.
Why this matters for the paper
If the BOHDI wrapper produces hedging language regardless of question difficulty, the training signal is uninformative — the LoRA learns to hedge unconditionally, not calibrated to uncertainty. This is the most basic sanity check for the training data and it has never been run. If the hedge rate is near-uniform across score quartiles, the paper's calibration framing is wrong.
Scope
scripts/analyze_hedge_rate.pythat readsdata/sft/raw_traces.jsonl(before score filtering) and classifies each response as hedged or not using a lightweight lexical classifier (presence of phrases:"I'm not certain","consult a doctor","I cannot diagnose","you should seek","I don't know", etc. — list to be reviewed before finalizing).example_tagsDone when
scripts/analyze_hedge_rate.pyruns end-to-end and prints a table with overall rate, per-quartile rate, and per-tag rate. Results are saved toeval/hedge_rate.json. The paper's limitations section is updated if the 80% threshold is crossed.Effort
Small — lexical analysis, no GPU.
Good for
sahilk873.