Failure-Selected Counterfactual Restart Curriculum
The one idea you need
Instead of making a model continue from its own long wrong reasoning, use the mistake only to choose the task, then teach a short correct solution from the original question.
The question
Can fresh tasks the model actually fails become broadly useful lessons if training restarts before the mistake and matches replay's supervised exposure exactly?
What we found
The data-selection stage passed: from 624 fresh attempts, the frozen rule selected 52 clean restarts, exactly four for each of 13 skills. Forty correct accuracy or cap failures and twelve correct-but-too-long cases are now frozen; training still waits for an exact exposure match to replay.
Why it matters
The previous real-failure curriculum lost while carrying long wrong prefixes and supervising fewer target tokens. This design removes both confounds before spending another training run.
On this page
Results at a glance 1
How to read
Bars mark whether intake, CPU design, parent rollout, failure selection, exposure matching, paired training, local testing, and broad testing are complete.
Takeaway → Intake, design, rollout, and balanced failure selection are complete; exposure matching and every model-training stage remain gated.
Data table
| preregistered experiment stage | completed checkpoint |
|---|---|
| intake | 1 |
| CPU design | 1 |
| parent rollout | 1 |
| failure selection | 1 |
| exposure freeze | 0 |
| paired training | 0 |
| local gate | 0 |
| broad gate | 0 |
Numbers from experiments/qwen35_4b_universal_failure_selected_restart_target_match/data/selection_summary.json
Technical framing
Balanced clean restarts are selected and training remains gated — The frozen selector cleared all 13 quotas and emitted 52 full clean restarts: 40 hard failures and 12 correct-but-over-budget rows, with zero parent prefixes. Exposure matching, training, evaluation, and benchmark access remain gated.
In the author’s words from the Overview · “Results”
The one preregistered parent event completed from pushed-green commit 1744e753: 624/624 completions, 304,013 sampled tokens, 879.9 tok/s, and 394.96 seconds of wrapper wall time. Rollout/metadata/log/receipt SHA-256 values are 4bf15134...1099f, b43b3a0...1206d, 668e9b70...369ff, and 1d35c63a...2b381. The receipt records a clean main preflight, the authenticated merged replay parent, no recovery or generation rerun, benchmark_data_read=false, and a sealed aggregate seed. This is collection evidence, not a capability result. Failure composition and quota availability are now frozen by the separately checkpointed mining stage: 602/624 rows were eligible and 228 were hard correctness/cap failures. … Read the full result →
Overview
Fresh local negative on 2026-07-14; aggregate sealed.
This experiment tests whether selecting the stronger parent's fresh procedural failures and teaching clean verified restarts can beat exactly exposure-matched replay without conditioning on the parent's failed trajectory.
Research Program
- Program:
agentic_breadth_installation. - Program question: can one Qwen3.5-4B checkpoint acquire execution, induction, verification, repair, state, and commitment behavior without trading away any held-out benchmark family?
- Prior anchors: C50's emission-seam installation result, C58's partial success from context-removal recomputation, and the terminal negative
qwen35_4b_universal_on_policy_prefix_repair_token_match.
Question
Does selecting tasks the deployed parent fails, then supervising a concise verified solution from the original prompt, install broader competence than either continued replay or conditioning the correction on the parent's long wrong prefix?
Hypothesis
The predecessor solved on-policy data availability but put 47,123 wrong parent tokens in the candidate's conditioning context and gave it 33,421 fewer supervised target tokens than replay. A counterfactual restart moves the intervention before the error: selection remains on-policy at the task level, while every trainable row begins at the original prompt and contains a full truth-audited solution and answer. Exact matching of forward tokens, loss-bearing target tokens, and absolute loss mass will isolate that mechanism from extra compute or extra supervision.
Setup
- Model: only
Qwen/Qwen3.5-4B, revision851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a. - Parent: the published explicit
replay_after_closecomposite, weight SHA-2567ab4c419...36e2e; runtime LoRA is forbidden. - Collection substrate: 624 fresh procedural tasks, 48 per each of the 13 universal skills, construction seed 77,114. Truth source SHA-256 is
81edc9ea...de304; oracle-free runner input SHA-256 is25382689...0f5b. - Collection: one vLLM event, natural thinking, greedy
n=1, seed 66,114, 1,024-token cap, 4,096 context, and identical pinned runner geometry. - Failure rule: cap contact, missing answer, wrong answer, or more than 128 thinking tokens. Hard correctness/cap failures rank before budget-only failures.
- Selection: exactly four failures per skill, 52 total, deterministic seed 55,114. An undersupplied skill ends the experiment before training.
- Frozen control: same-parent replay continuation. Both arms have 320 rows, 200 byte-identical aligned replay rows, 40 effective-batch-eight updates, 297,731 forward tokens, 126,796 loss-bearing targets, and absolute loss mass 27,632.8.
- Training warm start: the published replay adapter, weights/config SHA-256
bb59d3bd...5154d/0dfd9bda...120f. Each arm continues independently from that same adapter. - Train seed: 48. Fresh local seed: 88,010. Conditional aggregate seed: 78,140.
- Hidden-label boundary: no benchmark item, transcript, source, or detailed result is read. Aggregate access remains sealed until strict local promotion.
Run
The CPU smoke path reauthenticates task construction, collection, selection, source tokenization, materialized streams, independent token validation, and the second adversarial review:
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python -B \
experiments/qwen35_4b_universal_failure_selected_restart_target_match/scripts/run.py --smoke
The full staged sequence is complete. The smoke path reauthenticates every tracked receipt/log, external adapter, full composite tree, and frozen local design. Result artifacts are immutable and the harness refuses overwrite; no further model or aggregate event is authorized in this directory.
Results
The one preregistered parent event completed from pushed-green commit 1744e753: 624/624 completions, 304,013 sampled tokens, 879.9 tok/s, and 394.96 seconds of wrapper wall time. Rollout/metadata/log/receipt SHA-256 values are 4bf15134...1099f, b43b3a0...1206d, 668e9b70...369ff, and 1d35c63a...2b381. The receipt records a clean main preflight, the authenticated merged replay parent, no recovery or generation rerun, benchmark_data_read=false, and a sealed aggregate seed.
This is collection evidence, not a capability result. Failure composition and quota availability are now frozen by the separately checkpointed mining stage:
- 602/624 rows were eligible and 228 were hard correctness/cap failures.
- Every skill cleared the four-row quota; availability ranged from 40 to 48.
- The selected 52 rows are exactly four per skill: 40 hard failures and 12 correct but over-budget cases. Hard-failure availability was below four for abstain, count, route, and select, so their remaining slots prospectively used budget-only rows.
- Selected reasons total 29 cap contacts, 26 missing answers, 13 wrong answers, and 51 over-budget flags; reasons overlap by row.
- Inventory/restart/selection/summary hashes are
c19d3de7...66240,022b1ea4...d951f,567d6b02...b662, and2e8a2192...e28ddf. - All 52 rows restart from the original prompt and zero contain a parent prefix. At this selection checkpoint training was unauthorized; benchmark/aggregate gates remain sealed.
This is still construction evidence, not a capability result.
Exact exposure is feasible without modifying any target, duplicating any row, or truncating any sequence. A deterministic integral solver froze disjoint 68-row candidate-filler and 120-row control blocks around the inherited 200-row shared core. Independent encoding of the final files confirmed:
- 320/320 encoded rows and zero skips in each arm;
- exact equality at 297,731 forward tokens, 126,796 nonzero target tokens, and absolute loss mass 27,632.8;
- exactly 200 byte-identical rows at the same stream positions;
- zero parent-prefix tokens and four clean restarts per each of 13 skills;
- source-token/manifest/control/candidate/final-receipt hashes
ac9b9c8a...0bd6,7ba55045...91de1,7a8d4566...b5078,28deb20e...3190, and52a761ef...170.
The candidate has 16,414 more total thinking-span tokens and 16,414 fewer masked context tokens because of differing zero-weight forced-close composition, but equal answer tokens, close tokens, actual loss-bearing tokens, and weighted loss mass. The second review records this residual sequence-composition difference and authorizes only replay-control training after publication. This remains construction evidence, not a capability result.
From pushed-green exact-exposure commit 821d50d4, the replay control independently continued the authenticated parent for exactly 40/40 steps. It encoded 320/320 rows with zero skips, completed in 297.3 trainer seconds (318.70 wrapper seconds), and reported final train loss 0.3873. Receipt/log/adapter-config/adapter-weight hashes are 3a9cc1ea...6d49, 3bedc341...f25, dce1095c...f8f6, and 5840757d...b1c; the adapter is 169,903,320 bytes. The preflight binds clean pushed main at 821d50d4, the frozen stream, and the original parent adapter. This is an authenticated training event, not capability evidence.
From the separately pushed-green control checkpoint 2c78e655, the candidate then continued the same original parent for exactly 40/40 steps. It encoded 320/320 rows with zero skips, completed in 298.5 trainer seconds (315.33 wrapper seconds), and reported final train loss 0.5838. Receipt/log/adapter-config/adapter-weight hashes are 6aa5c3f1...9871, c8572c88...202a, 6915787d...7f50, and 2072c5c8...39bc; the adapter is 169,903,320 bytes. Its receipt embeds and reauthenticates the published control prerequisite while proving the candidate warm start remained the original parent. Training loss is not a capability comparison. From pushed-green local-design commit 3b8b46aa, the replay-control adapter was explicitly merged into the pinned full composite. All 128 expected LoRA modules had nonzero deltas at scale 2; TF32 was disabled, and delta-norm sum/max were 160.3068/2.8268. Run-receipt/log/external-receipt/weight/tree hashes are 751a0152...f72f, 8a438197...281b, bcb0060e...53e2, e48ed4a0...ae17, and d1a8336d...6027. The complete seven-file tree passed exact config/tokenizer and file-set authentication. This is a deployment artifact, not a capability result; no local evaluation has run.
From the separately pushed-green control-merge commit 6c551000, the restart candidate was merged with the identical method. It applied 128/128 nonzero modules at scale 2 with TF32 disabled; delta-norm sum/max were 160.3715/2.8331. Run-receipt/log/external-receipt/weight/tree hashes are 2956fa41...8ea7, e138a06c...b483, 97edeb08...6df6, d704af19...49a9, and 9f64dc55...4a1b. This is also authenticated deployment construction, not capability evidence. No local output has been observed.
The separately reviewed fresh-local design now freezes 26 new procedural items at seed 88,010, exactly two per universal skill, and compares the unchanged replay parent, matched-exposure replay continuation, and counterfactual-restart candidate. Source/input/design-receipt SHA-256 values are 7b69473b...975f, 6efefc92...15e2, and 124bbf99...2db5. Every arm uses the same explicit-composite vLLM runner and geometry. Promotion requires the candidate's absolute 17/26 floor plus strict wins over both controls on total correct and the six execute/induct/probe items. Complete seven-file composite tree manifests, pre/post-arm model and Git authentication, strict 78-row receipt shape, and durable failure receipts close deployment and transaction ambiguity. Aggregate seed 78,140 remains sealed. This is frozen design evidence, not a capability result.
The one authorized local event then completed from pushed-green candidate-merge commit 64e01a6d. All 78 requests ran through the same vLLM backend and frozen geometry. Parent/replay/candidate scored 17/16/15 correct, parsed 21/22/25, contacted the cap 5/4/1 times, and solved 2/2/0 of the six execute+induct+probe items. The candidate passed the parse, cap, and route-abstention checks but missed the 17/26 accuracy floor and was 0/2 separately on execute, induction, and probe. It lost all four strict comparisons with both controls. Local/promotion receipt hashes are 39fe68b9...de9e and 4c381fbd...6759; promotion is empty, benchmark_data_read=false, and aggregate seed 78,140 remains sealed.
This is a terminal local negative. The clean restart package materially improved bounded emission—four fewer caps and four more parses than the parent—but did not install the selected execution/induction policy and erased both probe successes.
Interpretation
Task-level on-policy failure selection plus clean recomputation fixes the predecessor's long-prefix and target-exposure confounds, but it still does not install broad competence at this dose. The intervention changes termination behavior more reliably than semantic execution: candidate parse/cap metrics improved sharply while correctness fell below both controls and target skills collapsed to zero. This rejects the balanced 52-restart package under exact exposure, not all on-policy learning. A successor should distill short verified trajectories that are already in the model's policy support—successful sampled siblings of greedy failures—rather than another hand-authored oracle trace surface.
Knowledgebase Update
- Program backlog/evidence and shared synthesis: record the terminal local negative and the policy-supported successful-sibling successor constraint.
- Claim ledger: unchanged; no held-out benchmark was opened and no broad capability claim is warranted.
Artifacts
idea_intake.md— closest duplicate and mechanism decision.reports/preregistration.md— frozen identities, gates, and checkpoint order.reports/design_review.md— adversarial pre-rollout review.data/rollout_tasks_seed77114.jsonl— executable truth and oracle restarts.data/parent_rollout_input_seed66114.jsonl— oracle-free vLLM input.data/rollout_task_manifest.jsonanddata/design_receipt.json— freshness and design receipts.data/failure_inventory_seed66114.json— complete frozen failure inventory.data/counterfactual_restart_source.jsonl— 52 clean selected restarts.data/restart_selection_receipt.jsonanddata/selection_summary.json— quota and composition receipts.data/sft_blend.jsonlanddata/predecessor_stream_manifest.json— self-contained authenticated replay lineage.data/source_token_lengths.json— exact trainer-encoder source measurements.data/stream_manifest.json,data/replay_control.jsonl, anddata/counterfactual_restart_candidate.jsonl— exact integral partition and frozen streams.data/stream_token_receipt.json— independent final-stream exposure validation.reports/compute_review.md— second adversarial review and control-only authorization.reports/local_design_review.md— explicit-composite and fresh-local adversarial review.data/local_tasks_seed88010.jsonl,data/local_input_seed88010.jsonl, anddata/local_design_receipt.json— executable truth, hidden-free input, and frozen local protocol.runs/local/seed88010.jsonandseed88010_promotion.json— complete grading and empty-promotion receipts; sibling raw output/metadata/log files preserve all three arms.src/vllm_runner.py— pinned same-backend runner with explicit-composite gate.
Report
Rendered from reports/report.md
Current status
The model-free design, one authenticated parent rollout, frozen failure selection, exact-exposure stream freeze, both paired training events, and the separately reviewed fresh-local protocol, and both current-arm explicit merges are complete. No benchmark event ran. The fresh local event is a terminal negative and the aggregate gateway remains sealed.
The active hypothesis is that task-level on-policy failure selection can help when the supervised example restarts cleanly before the error and target exposure is matched exactly to replay. See preregistration.md and design_review.md for the frozen contract.
Evidence
- 624 fresh truth-audited tasks, balanced 48 per universal skill.
- Zero prompt overlap with predecessor collection/local sources and prior reserved local seeds.
- Explicit merged replay-parent authentication.
- Unit-tested removal of the parent's failed prefix from trainable rows.
- Design receipt SHA-256:
e861cd647c5a39df893366b948a39fc2bf67ac08e1b1fe704a69032597ffae24. - Parent event: 624/624 completions, 304,013 sampled tokens, 879.9 tok/s, 394.96 seconds. Rollout receipt SHA-256:
1d35c63a70d53d8803666cb8c30f4d0efffd884c7f6ab04adceaf8b05442b381. - Selection: 602 eligible, 228 hard failures, 52 selected (four per skill), with 40 hard and 12 budget-only rows. All 52 are full oracle restarts from the original prompt and zero contain a parent prefix.
- Exact final-arm equality: 320 rows, 297,731 forward tokens, 126,796 loss-bearing target tokens, absolute loss mass 27,632.8, zero skips, and 200 byte-identical aligned replay rows per arm.
- Stream hashes: control
7a8d4566...b5078, candidate28deb20e...3190, manifest7ba55045...91de1, and independent token receipt52a761ef...170. - Candidate minus control is zero on the three preregistered axes, answer targets, close targets, and parent prefixes. Its 16,414-token target-span difference is zero-weight forced-close composition and is disclosed in
compute_review.md. - Replay control: 320/320 rows, zero skips, 40/40 steps, train loss 0.3873, complete 169,903,320-byte adapter. Receipt/log/adapter hashes are
3a9cc1ea...6d49,3bedc341...f25, and5840757d...b1c. - Restart candidate: 320/320 rows, zero skips, 40/40 steps, train loss 0.5838, complete 169,903,320-byte adapter. Receipt/log/adapter hashes are
6aa5c3f1...9871,c8572c88...202a, and2072c5c8...39bc. Its receipt binds the published control prerequisite and independent original-parent warm start. - Fresh local protocol: seed 88,010; 26 new tasks, two per all 13 skills; hidden-free runner input; identical explicit-composite vLLM geometry across unchanged parent, replay control, and candidate; complete model-tree authentication; strict absolute and two-control-relative promotion rules. Source/input/design hashes are
7b69473b...975f,6efefc92...15e2, and124bbf99...2db5. This is design evidence only. - Replay-control composite: 128/128 nonzero merged modules at scale 2; exact seven-file tree hash
d1a8336d...6027; merged weighte48ed4a0...ae17; run/external receipts751a0152...f72f/bcb0060e...53e2. This authenticates deployment and is not a capability result. - Restart-candidate composite: 128/128 nonzero merged modules at scale 2; exact seven-file tree hash
9f64dc55...4a1b; merged weightd704af19...49a9; run/external receipts2956fa41...8ea7/97edeb08...6df6. This likewise authenticates deployment only. - Fresh local result: parent/replay/candidate scored 17/16/15 correct, parsed 21/22/25, and contacted the cap 5/4/1 times. Execute+induct+probe subtotals were 2/2/0 of six. Candidate passed parse/cap/route-abstention mechanics but missed the accuracy floor, was 0/2 on each target kind, and lost every strict comparison with both controls. Local/promotion hashes are
39fe68b9...de9e/4c381fbd...6759; promotion is empty and aggregate seed 78,140 remains sealed.
Interpretation
Removing the parent's failed trajectory and exactly matching forward tokens, loss-bearing targets, loss mass, update count, and shared replay rows did not rescue on-policy failure selection. The candidate learned a shorter, more parseable termination policy—mean sampled tokens fell to 414 from 448 for parent and 436 for replay—but correctness fell, and the two probe wins present in both controls were erased. Clean oracle restarts were therefore in-distribution enough to shape emission but not to transfer the required execute/induct decisions.
This rejects the complete balanced 52-restart curriculum at this dose, not every on-policy objective. The next result-separated mechanism should use verified successful sibling trajectories sampled from the same model on greedy-failure tasks, so supervision stays within policy support while retaining fresh procedural truth, exact-exposure replay, and the unchanged local gate.
Terminal disposition
No further event is authorized in this experiment. Preserve the negative and move any successor to a fresh directory with fresh collection, training, local, and conditional aggregate seeds.
Experiment log 10
Show the running log (10 entries, 2026-07-14)
2026-07-14 — Model-free design checkpoint
- Created a result-separated successor to the terminal long-prefix repair negative.
- Chose the published stronger
replay_after_closemerged composite as parent. - Frozen seeds: construction 77,114; parent rollout 66,114; selection 55,114; training 48; local 88,010; conditional aggregate 78,140.
- Materialized 624 fresh truth-audited tasks, 48 per all 13 universal skills.
- Source/input/manifest hashes:
81edc9ea...de304,25382689...0f5b,3a6c4e61...ef937. - Verified zero canonical-message overlap against predecessor sources and prior local seeds 88,000–88,009. Local seed 88,010 remains unmaterialized.
- Froze task-level failure selection plus clean restart from the original prompt; parent prefixes are excluded from training context.
- Froze four rows per skill and a 128-thinking-token deployment budget. Hard correctness/cap failures rank before budget-only cases.
- Froze exact future equality on forward tokens, loss-bearing target tokens, and absolute loss mass. Training remains unauthorized pending observed quotas and a second compute review.
- Adversarial review verdict:
PASS_PARENT_ROLLOUTonly. - No model call or benchmark read occurred.
2026-07-14 — Authenticated parent rollout
- Launched only after design commit
1744e753was pushed tomainand GitHub runs29359316770/29359317072both succeeded. - The explicit merged
replay_after_closeparent produced 624/624 greedy natural- thinking completions in one vLLM event at seed 66,114. - Sampled 304,013 tokens at 879.9 tok/s; wrapper wall time was 394.96 seconds.
- Rollout/metadata/log/receipt hashes:
4bf15134...1099f,b43b3a0...1206d,668e9b70...369ff,1d35c63a...2b381. - Preflight was clean pushed
main; runtime dirty state is explained solely by the collector opening its durable log before runner metadata sampling. - Recovery was unused and generation was not rerun. No benchmark data was read and aggregate seed 78,140 remains sealed.
- Failure mining was not run or inspected in this checkpoint.
2026-07-14 — Frozen model-free failure selection
- Ran only after collection commit
fd08c7fewas pushed tomainand GitHub runs29360147608/29360147678both succeeded. - The preregistered selector found 602 eligible rows and 228 hard failures. All 13 four-row quotas passed; total eligibility ranged from 40 to 48 per skill.
- Selected exactly 52 rows, four per skill. Forty are hard failures; 12 are correct but over the 128-thinking-token budget. Count had zero hard failures, route/select one each, and abstain two, so those four skills supplied all 12 budget-only rows.
- Selected overlapping reasons: 29 cap contacts, 26 missing answers, 13 wrong answers, and 51 over-budget flags.
- Inventory/restart/selection/summary hashes:
c19d3de7...66240,022b1ea4...d951f,567d6b02...b662,2e8a2192...e28ddf. - All 52 trainable candidates begin at the original prompt; zero parent-prefix rows exist. Training remains unauthorized pending exact three-axis exposure matching and a second adversarial compute review.
- No model call or benchmark read occurred during selection; aggregate seed remains sealed.
2026-07-14 — Exact-exposure feasibility and second review
- Ran only after selection commit
f0d08544was pushed tomainand GitHub runs29360679439/29360679657both succeeded. - Copied the predecessor's 2,240-row replay source and inherited partition manifest into the experiment. Their hashes are
25a9595f...f0c2andabf8b505...0966f; the training encoder remains byte-identical at0cfb126f...2cc4. - Measured every replay and restart row with the exact Qwen tokenizer and actual trainer encoder. Source-token receipt hash:
ac9b9c8a...0bd6. - SciPy 1.18 HiGHS found an exact integral partition in 4.43 seconds and 801 nodes: 200 shared replay rows, 52 clean restarts plus 68 replay fillers, and 120 disjoint replay-control rows. Solver gap was zero.
- Final stream/manifest hashes are replay
7a8d4566...b5078, candidate28deb20e...3190, and manifest7ba55045...91de1. - Independent final-file encoding confirmed 320 rows, 297,731 forward tokens, 126,796 nonzero target tokens, absolute loss mass 27,632.8, and zero skips in each arm. Exactly 200 rows are byte-identical at aligned positions. Final receipt hash:
52a761ef...170. - Candidate minus control is zero on every registered axis, answer targets, close targets, and parent prefixes. It has 16,414 more total zero/nonzero thinking-span tokens and 16,414 fewer masked context tokens because the variable replay blocks contain different forced-close composition; this is disclosed in the review.
- Second adversarial verdict:
PASS_CONTROL_TRAINING. It authorizes only the replay control after this checkpoint is committed, rebased, pushed, and green in both workflows. Candidate training must wait for a separately published control. - No model call or benchmark read occurred; local seed 88,010 is unmaterialized and aggregate seed 78,140 remains sealed.
2026-07-14 — Authenticated replay-control training
- Launched only after exact-exposure commit
821d50d4was pushed directly tomainand GitHub runs29362464655/29362464584both succeeded. - The wrapper authenticated a clean pushed
main, the frozen 320-row replay stream, exact token receipt, and original replay-parent adapter before opening outputs. - Trained exactly 320/320 rows with zero skips and 40/40 optimizer steps at the frozen seed and hyperparameters. Trainer runtime was 297.3 seconds, wrapper runtime 318.70 seconds, and final train loss was 0.3873.
- Receipt/log/config/weight hashes are
3a9cc1ea...6d49,3bedc341...f25,dce1095c...f8f6, and5840757d...b1c. The complete external adapter is 169,903,320 bytes. - The receipt records
benchmark_data_read=falseand a sealed aggregate seed. No merge, capability evaluation, or benchmark event occurred. - Candidate training remains blocked until these tracked results are committed, rebased, pushed to
main, and both workflows are green.
2026-07-14 — Authenticated counterfactual-restart training
- Launched only after control commit
2c78e655was pushed directly tomainand GitHub runs29363304029/29363304074both succeeded. - The wrapper reauthenticated the committed control receipt/log/external adapter, then independently loaded the original replay-parent adapter rather than continuing from control.
- Trained exactly 320/320 rows with zero skips and 40/40 optimizer steps at the same seed and hyperparameters. Trainer runtime was 298.5 seconds, wrapper runtime 315.33 seconds, and final train loss was 0.5838.
- Receipt/log/config/weight hashes are
6aa5c3f1...9871,c8572c88...202a,6915787d...7f50, and2072c5c8...39bc. The complete external adapter is 169,903,320 bytes. - The receipt records
benchmark_data_read=false, a sealed aggregate seed, and the exact published control prerequisite. No merge or capability event occurred. - Paired training is complete. Explicit-composite merge and fresh-local evaluation require a new checked, committed, rebased, pushed, two-workflow-green design checkpoint.
2026-07-14 — Frozen explicit-composite local design
- Materialized fresh local seed 88,010 only after both training receipts were published. It contains 26 executable-truth tasks, exactly two per all 13 skills, with an answer-free 26-row runner input.
- Source/input/design-receipt hashes are
7b69473b...975f,6efefc92...15e2, and124bbf99...2db5. - Verified zero canonical-message overlap with both final training streams, the parent collection source, and all 260 prior local items from seeds 88,000–88,009.
- Froze one same-vLLM comparison of the unchanged replay parent, matched-exposure replay control, and counterfactual-restart candidate: natural thinking, greedy
n=1, 1,024-token cap, 4,096 context, and identical scheduler/CUDA-graph geometry. - Froze candidate absolute gates and strict wins over both controls on total correct and execute/induct/probe correct. Receipt shape requires exactly the same 26 tasks, two per kind, in all three arms.
- Hardened explicit merges to hash the complete seven-file config/tokenizer/weight tree, validate the exact Qwen3.5-4B fingerprint and 128 nonzero LoRA applications, and preserve post-merge validation failures.
- Hardened the local transaction with full model/design/Git reauthentication before and after every arm plus durable process/validation failure receipts.
- Adversarial verdict:
PASS_CONTROL_MERGEonly. Candidate merge requires a separately published control merge; local generation requires both. No model call or capability result occurred, and aggregate seed 78,140 remains sealed.
2026-07-14 — Authenticated replay-control composite
- Launched only after local-design commit
3b8b46aawas pushed directly tomainand GitHub runs29368418251/29368418260both succeeded. - The wrapper authenticated clean pushed
main, design receipt124bbf99...2db5, training receipt3a9cc1ea...6d49, and replay-control adapter before opening any output. - The pinned explicit merger applied 128/128 nonzero LoRA modules at scale 2 on CUDA, with TF32 disabled. Delta Frobenius-norm sum/max were 160.3068/2.8268.
- Run-receipt/log/external-receipt/weight hashes are
751a0152...f72f,8a438197...281b,bcb0060e...53e2, ande48ed4a0...ae17. - The exact seven-file composite manifest includes config, generation config, chat template, tokenizer/config, external receipt, and the 9,078,620,536-byte weight. Its canonical tree hash is
d1a8336d...6027; no symlink, nested, missing, or unexpected entry exists. - This is authenticated deployment construction, not capability evidence. Candidate merge remains blocked until this result is committed, rebased, pushed, and green in both workflows. No local or benchmark event ran; aggregate seed remains sealed.
2026-07-14 — Authenticated counterfactual-restart composite
- Launched only after replay-control merge commit
6c551000was pushed directly tomainand GitHub runs29368901329/29368901293both succeeded. - The wrapper reauthenticated clean pushed
main, the immutable local design, candidate training receipt/adapter, and the separately committed control-merge prerequisite before opening output. - The identical explicit merger applied 128/128 nonzero candidate modules at scale 2 on CUDA with TF32 disabled. Delta Frobenius-norm sum/max were 160.3715/2.8331.
- Run-receipt/log/external-receipt/weight hashes are
2956fa41...8ea7,e138a06c...b483,97edeb08...6df6, andd704af19...49a9; the exact seven-file tree hash is9f64dc55...4a1b. - Both current-arm composites now exist and authenticate independently. This is not capability evidence. Local evaluation remains blocked until this result is committed, rebased, pushed, and green in both workflows. Aggregate seed 78,140 remains sealed.
2026-07-14 — Terminal fresh-local negative
- Launched the sole local event only after candidate-merge commit
64e01a6dwas pushed directly tomainand GitHub runs29369408534/29369408581both succeeded. - The wrapper reauthenticated the committed design, branch/HEAD/origin, and complete parent/control/candidate model tree before and after every arm. All 78 requests completed with identical vLLM runner bytes, input order, sampling, context, scheduler, and CUDA-graph geometry.
- Parent/replay/candidate sampled 11,639/11,331/10,764 tokens and scored 17/16/15 correct, 21/22/25 parsed, and 5/4/1 cap contacts. Mean sampled tokens were 447.65/435.81/414.00.
- Their execute+induct+probe subtotals were 2/2/0 of six. Candidate was separately 0/2 execute, 0/2 induct, and 0/2 probe. It missed the 17/26 accuracy floor and all four strict total/target wins against both controls; promotion is empty.
- Local/promotion receipt hashes are
39fe68b9...de9eand4c381fbd...6759. Parent/control/candidate raw-output hashes are326ccff7...5e3,f990c5ec...7361, and7d388793...277f; metadata hashes are32c69eb8...5723,d7250bdb...9f47, and6f14b973...05dd; log hashes are6dfbbaa5...6e27,ea397805...7521, and3f9c00f2...cab0. - The candidate improved termination mechanics but not competence: four fewer caps and four more parses than parent, yet two fewer correct and both probe successes erased. Clean failure-selected oracle restarts remain an off-policy semantic target even after removing the failed trajectory and exactly matching exposure.
- Formal status is
complete_local_negative_aggregate_sealed. No held-out data was read, aggregate seed 78,140 stays sealed, and this directory is closed.
Reproduce
Smoke test
PYTHONDONTWRITEBYTECODE=1 .venv/bin/python -B experiments/qwen35_4b_universal_failure_selected_restart_target_match/scripts/run.py --smokeFull run
checkpointed sequence below; never run stages back-to-back without publishing and waiting for both workflowsRun steps are documented inside the experiment folder (README and scripts).