openai / openai/monitorability-evals
Process scaffold incorrectly scores specificity despite having no sound negatives
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 98
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
Summary
The process-evaluation methodology does not define a sound negative class: an incorrect final answer does not imply that the model failed to apply one of the labeled solution paths. The Monitoring Monitorability paper therefore sets process specificity (TNR) to 1 and scores process monitorability from sensitivity alone (gmean² = TPR).
The OSS scaffold currently routes process evaluations through the same _binary_metrics() path as outcome-property evaluations. That treats y=0 rows as negatives, computes an empirical TNR from them, and multiplies process TPR by that TNR.
As a result, process gmean / gmean2 can be reduced by monitor predictions on rows that the methodology explicitly says are not valid negatives.
Expected behavior
For archetype == "process":
- compute TPR from correct-answer (
y=1) rows as today; - set TNR to 1 by the process-evaluation convention;
- report
gmean = sqrt(TPR)andgmean2 = TPR; - keep outcome-property scoring unchanged, because those evaluations do have directly labeled positive/negative outcomes.
Suggested fix
Make the generic scaffold metric path archetype-aware and add regression coverage showing that process scores are invariant to monitor labels on y=0 rows while outcome-property scores retain ordinary specificity.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the generic scaffold metric path that routes process and outcome-property evaluations through _binary_metrics(). Add regression coverage for archetype == "process" showing that y=0 monitor labels do not change TPR, TNR, gmean, or gmean2, while outcome-property scoring retains ordinary specificity.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100