Build provenance, typed rendering, safety-task leaks, answer-first MC fix, privacy-200k - #19
Merged
Merged
Conversation
…catalog API fixes - resume: a build fingerprint (commit, uncommitted src/scripts changes, shard-affecting settings) is stored per task; shards from another fingerprint stop the build unless --reuse-incompatible-shards; the manifest keeps previous runs and the summary lists the shard fingerprints - revisions: each task's Hub repos are resolved to a commit at the requested revision (refs/convert/parquet included) before loading, Hub-repo loads are pinned to it, the report records it, and sources.yaml reads it from there instead of today's default branch - render_typed_decision(_group) render choice, score and noul by kind (score: 2-10 levels) instead of always choice - IntentGrasp drops negative answer indices - list_tasks accepts a list for excluded and returns a copy of the cached catalog - task lookup filters directly: KeyError for an unknown task, ValueError when a selector matches several Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVp7VRXPWTGT6HsHHWJghc
…ajority, plus its vote share as a graded family - the WildGuardMix mirror has one train split with two responses per prompt, so the random validation/test split put 90% of evaluation prompts in train; all three tasks now split by a stable hash of the prompt (split_by_group), and prompt_harm keeps one row per prompt - BeaverTails annotates each (prompt, response) three times as separate rows (27.6% of pairs split): the task keeps one row per pair with the majority judgment, which also ends the 89% validation-in-train overlap; graded/beavertails gives the share of annotators who judged the response unsafe (0, 1/3, 2/3, 1) - ORIGINALS: the mirror's original is allenai/wildguardmix Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVp7VRXPWTGT6HsHHWJghc
Plain load_task put the gold answer in slot 0 for every row of multiple-choice tasks built from option lists (hellaswag, ARC, IntentGrasp: the gold went first to allow truncation) and of fixed-column tasks whose annotation lists the gold first (labels=constant(0): sciq, hh-rlhf, UltraFeedback, prm800k, the DPO pairs, ...). The kept options are now permuted, deterministically from the options' text; rows whose options refer to each other by position keep the source order. Choice columns are also read in numeric order (choice10 after choice2). The Jev and instruct recasts already shuffled and are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVp7VRXPWTGT6HsHHWJghc
…n ordinal task Mistral Large 3 ratings over ten domains (Loiseau et al., 2026, arXiv:2603.29497). The question and level names follow the annotation prompt's scale (identifiers, personal information, should not be made public); ordinal=True puts the levels in scale order. The source splits are domains: they are merged (a domain column is kept) and split 90/5/5 by text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVp7VRXPWTGT6HsHHWJghc
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVp7VRXPWTGT6HsHHWJghc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses the six points of the static review of
feb44ee, my audit of the new safety tasks, and adds privacy-200k. There is one commit per topic, so any of them can be dropped.1. Review fixes (
f8f5740)src/andscripts/(untracked files included), and every setting that shapes shards (row caps, augmentation and packing rates). It is stored in each task's report record.--reuse-incompatible-shardsis passed.build-manifest.jsonkeeps earlier runs' provenance, andbuild-summary.jsonlists the fingerprints the selected shards were built with.--max-rowsstops, an unchanged rerun skips finished tasks, and the flag overrides the stop.refs/convert/parquetand refs embedded inhf://URLs included), and Hub-repo loads are pinned to that commit.sources.yamlreads it from there instead of querying the default branch at publish time. Tasks built before this change are markedrevisions_unrecorded.dreamloadsdataset-org/dream@refs/convert/parquet(ca4c45f…), where the oldsources.yamlwould have namedmain(78b128b…).task_provenancenow reportsrevisionanddata_file_revisions; graded and procedural sources report theirs.render_typed_decision(_group)renderschoice,score(ordered levels, 2–10) andnoulby the row'skind, instead of alwayschoice. Unknown kinds raise.0 <= index < len(options)).list_tasksaccepts a list forexcludedand returns a copy of the cached catalog. Before,select_tasksadded columns to the cached frame.KeyError, and a selector matching several tasks raisesValueError. The unuseddict_to_queryis removed.2. Safety-task data (
bb9241b)bogdanminko/wildguardmix-cleanedmirror): it has only a train split, with two responses per prompt, so the random validation/test split put 90% of evaluation prompts in train. All three tasks now split by a stable hash of the prompt (newsplit_by_group), andprompt_harmkeeps one row per prompt: 0% overlap now.ORIGINALSnamesallenai/wildguardmix.graded/beavertailsgives the share of annotators who judged the response unsafe (0, ⅓, ⅔, 1): another real calibration source.Familygains apre_processhook for it.group_id, and its splits are group-aware as documented.3.
load_taskput the gold answer first (dc04ccb)In plain
load_task, the gold answer was option 0 in 100% of rows for:labels=constant(0): sciq, hh-rlhf, UltraFeedback, prm800k, the DPO pairs… 16 tasks).Kept options are now permuted deterministically from their text. Rows whose options refer to each other by position keep the source order. Choice columns are read in numeric order, which fixes a latent mislabel when truncating rows with 10+ options.
4. privacy-200k-Mistral-Large-3 (
02267a6)Privacy sensitivity rated 1–5 over ten domains (Loiseau et al., 2026).
ordinal=True: in Jev, about half the rows become 5-levelscorequestions.domaincolumn is kept) and split 90/5/5 by text.Tests
181 pass. New tests cover the fingerprint and staleness, revision reporting, each rendered kind, the IntentGrasp bounds,
list_taskscopies and lists, the lookup errors, the grouped split, and both BeaverTails aggregations. Catalogs are regenerated.🤖 Generated with Claude Code
https://claude.ai/code/session_01EVp7VRXPWTGT6HsHHWJghc
Generated by Claude Code