eval reference: stamp a digest of the questions file so headroom catches an edit at the same path

Open
#356 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
32/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
cli

Research direction

Start with where eval reference writes reference_scoring into the arms file, and where eval headroom's pooling guard compares the scorer kind and questions path. The issue names no source files, so locate them from those command names. Before coding, read the PR #279 thread (PRRT_kwDOVBg7g86yYDIs), since the issue calls the digest decision open. Done means questions_sha256 is written, a digest mismatch exits 2, and files without the digest still pass the path check.

Written by the indexing model from the issue text.

Description

Problem

eval reference writes reference_scoring into an arms file: the scorer kind and the questions file it
was graded against. eval headroom (#279) compares the recorded scorer and questions path across inputs,
so two reference-scored files that name the same path are pooled as one measurement even when the file was
edited in between. The file's grading content is not in the record, so the edit is not seen.

Example: two runs scored against questions.json before and after an edit that changes the exact target of
one question. Both carry the same reference_scoring, the pool averages 100 and 0 and can hide a ceiling.

Proposal

Have eval reference stamp a digest of the questions file (the grading content, canonicalized) into
reference_scoring in the arms file (an arms.v1 field), and have eval headroom compare that digest across
inputs and refuse on a mismatch (exit 2), as it does for the scorer kind now.

Changes: eval reference writes questions_sha256; eval headroom refuses a mismatch in the pooling guard;
old files without the digest keep the path check only.

Context: PR #279, thread PRRT_kwDOVBg7g86yYDIs (the open decision).

Dominant language
Python
Stars
9
Forks
9
Avg merge
1d 8h
Merged PRs (30d)
282

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from intel/dokimi

All issues in intel/dokimi

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.