Skip to content

scripts/musebench/leak_map.py can annotate against a lineage of training manifests (a references JSON listing manifest f - #12

Merged
unohee merged 3 commits into
mainfrom
goal/12-scripts-musebench-leak-map-py
Nov 4, 2026
Merged

unohee merged 3 commits into
mainfrom
goal/12-scripts-musebench-leak-map-py

Conversation

@unohee

@unohee unohee commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Milestone of an auto-claude run.

Check: systemd-run --user --scope -q -p MemoryMax=6G ~/RTX_ENV/bin/python -m pytest -m "not slow" -q -p no:cacheprovider && ~/RTX_ENV/bin/python scripts/check_docs.py && ~/RTX_ENV/bin/python -I scripts/musebench/verify.py production && ~/RTX_ENV/bin/python -I scripts/musebench/verify.py all

Plan: .claude/auto-plan.md (local to the run).

… report --seen-field; production verifier

leak_map.py
- references JSON may list `lineage_manifests` (the training manifests of every generation in a
  model's weight lineage) instead of a candidate-pool directory; rows are read by path, track id
  and origin_* fields, yielding SONICS stems, FMA ids and MTG-Jamendo ids.
- `--model-key KEY` writes seen_in_training_KEY / seen_evidence_KEY / ... and
  leak/leak_report_KEY.json, leaving the unkeyed annotation of an earlier model untouched.

report.py
- `--seen-field` splits seen/unseen by any annotation field. The field is joined from the runtime
  manifest by track id when the eval manifest lacks it, so the eval manifest a run consumed is never
  rewritten (its sha256 is recorded in that run's run_manifest.json).

verify.py
- new `production` stage (part of `all`): raw score lines cover the eval cohort once each and are
  unchanged since import (scores_sha256), scored + failed == cohort, every score carries a boolean
  decision_ai, the keyed leak annotation is present/coherent and its report current, and the saved
  report equals a rebuild split by the keyed field.

Assumption: which run directory and model key the production stage checks is read from
<data root>/results/production_run.json, so no internal model name is committed to this public repo.
… as size_unknown, not size_differs

A lineage manifest can name a SONICS file that is on an unmounted drive (here the v10_training
symlinks into an offloaded disk). The match is still a name match and still marks the row seen;
only the size confirmation is unavailable, which the report now says instead of 'size differs'.
@unohee
unohee merged commit 82abab3 into main Nov 4, 2026
1 check passed
@unohee
unohee deleted the goal/12-scripts-musebench-leak-map-py branch November 4, 2026 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant