Research log Small Model Experimentation
GitHub

Bridge-Dose Recombination Curriculum

Finished2026-06-21 → 22imported · line ZBenchmark GeneralizationGitHub ↗
A few exact worked examples unlock skill-combining

The one idea you need

This model sorts a list or counts matches fine alone, but stalls when a task fuses both in a pairing it never trained on. Show it a couple of fully worked-out solutions of that exact pairing, steps and all, and it starts solving new versions itself.

The question

If a small model already knows two skills separately, how many examples of them combined does it need before it can solve brand-new combinations on its own?

What we found

Yes, but only with the right examples. With none, the model solved just 7% of never-seen skill pairings; adding as few as two to four exact worked examples of each pairing lifted that to about 30%, a nearly five-fold jump. Lookalike examples stalled near 8%, and piling on too many quietly dragged familiar-task accuracy down from 86% to 58%.

Why it matters

When a model can't fuse two skills it already has, don't retrain on piles of similar-looking data. Add a few exact worked examples of that exact fusion, and keep the dose small — too many erode ordinary tasks.

New combinations solved with no combined examples6.7%4 of 60 never-seen skill pairings
After adding a few exact worked examples6.7% → 31.7%new pairings solved; best at two-to-four examples per pairing
Lookalike examples instead of exact onesabout 8%no better than adding nothing
Cost of dropping the worked steps30% → 8%same model, with vs without the reasoning steps in the prompt
On this page
  1. Results at a glance
  2. Overview
  3. Report
    1. Question
    2. Design
    3. Overall Results
    4. Dose Curve
    5. Prompt Ablations
    6. Recombination Holdout By Family
    7. Dose 8 Holdout By Factor
    8. Readout
    9. Figures
    10. Artifact Layout
  4. Experiment log
  5. Figures
  6. Data files
  7. Reproduce
  8. Related

Results at a glance 6

More combined examples, more unseen combinations solved

How to read

Horizontal axis is how many exact combined examples were added per skill-pairing; vertical is percent of tasks solved, higher is better. The bottom line is never-seen combinations; the two upper lines are familiar and reformatted-familiar tasks.

0%25%50%75%100%02468format shiftseen IIDrecombination holdoutrecombination hol…

Takeaway → The unseen-combinations line climbs steeply from 7% to about 30% by two-to-four examples, then flattens — a small dose does the work.

Data table
Exact bridge examples per held-out pair (dose)recombination holdoutseen IIDformat shift
06.7%77.8%80.6%
115%86.1%80.6%
228.3%83.3%75%
431.7%72.2%77.8%
830%58.3%80.6%

Numbers from reports/final_results.csv (also README table)

Technical framing

A handful of exact bridge examples unlocks recombination repair — Holdout repair jumps from 6.7% to ~30% by dose 2-4, but heavy dosing (8) erodes seen-IID performance; dose 2 is the sweet spot.

Only real combined examples work, not lookalikes

How to read

Each bar is a training recipe; height is percent of unseen combinations solved, higher is better. Left to right: no combined examples, near-miss lookalikes, then two and four exact combined examples per pairing.

0%10%20%30%40%no bridges (dose 0)no bridges (dose 0)6.7%near-miss focusnear-miss focus8.3%dose 2 exact bridgesdose 2 exact bridges28.3%dose 4 exact bridgesdose 4 exact bridges31.7%

Takeaway → Lookalikes stay at the no-example floor near 8% while exact examples reach about 30%, so similar-looking data is no substitute.

Data table
Training curriculumtrace-trained adapter
no bridges (dose 0)6.7%
near-miss focus8.3%
dose 2 exact bridges28.3%
dose 4 exact bridges31.7%

Numbers from reports/final_results.csv (also README table)

Technical framing

Near-miss examples do not substitute for exact bridge pairs — A near-miss-heavy curriculum stays at 8.3%, near the 6.7% no-bridge baseline; only exact factor-pair bridges lift holdout repair to ~30%.

The worked-out steps must line up when teaching and testing

How to read

Each bar is a variant of the heaviest dose; height is percent of unseen combinations solved, higher is better. The first keeps the reasoning steps aligned in teaching and testing; the others remove or scramble them at teaching or test time.

0%10%20%30%trace-trained + trace prompttrace-trained + trace prompt30%no-trace trainedno-trace trained8.3%shuffled-trace trainedshuffled-trace trained8.3%trace-trained, no-trace prompttrace-trained, no-trace prompt8.3%trace-trained, shuffled-trace prompttrace-trained, shuffled-trace pro…6.7%

Takeaway → Only the aligned-steps bar reaches about 30%; every stripped or scrambled variant collapses back to the 7-8% floor.

Data table
Dose-8 conditiondose 8
trace-trained + trace prompt30%
no-trace trained8.3%
shuffled-trace trained8.3%
trace-trained, no-trace prompt8.3%
trace-trained, shuffled-trace prompt6.7%

Numbers from reports/final_results.csv

Technical framing

Recombination gains require an aligned trace at train and test time — Removing or shuffling the trace at training or prompt time collapses the dose-8 recombination gain back to the ~7-8% floor.

The gains land on some skill-pairings, not all

How to read

Each cluster is a withheld skill-pairing family; bars within it are different doses (none, light, heavy, and near-miss lookalike); height is percent solved, higher is better.

0%25%50%75%100%length_contains_codelength_contains_codemodulo_sum_labelmodulo_sum_labelsorted_contains_countsorted_contains_countsorted_tuple_affinesorted_tuple_affinetuple_branch_labeltuple_branch_label

Takeaway → One family jumps to near-perfect once dosed while another never improves at any dose — the benefit is concentrated, not spread evenly.

Data table
Withheld recombination familyDose 0 traceDose 2 traceDose 8 traceNear-miss focus trace
length_contains_code0%0%33.3%0%
modulo_sum_label0%0%0%0%
sorted_contains_count0%100%91.7%0%
sorted_tuple_affine33.3%33.3%16.7%41.7%
tuple_branch_label0%8.3%8.3%0%

Numbers from report table (Recombination Holdout By Family), reports/bridge_dose_recombination_curriculum_report.md

Technical framing

Which withheld families the bridge dose actually unlocks — The dose gain is concentrated: sorted_contains_count jumps to 91-100% while modulo_sum_label never repairs at any dose.

Some basic skills fuse far more easily than others

How to read

Each bar is a basic skill involved in a withheld pairing; height is percent of those tasks solved at the heaviest dose, higher is better. Bars are sorted easiest-to-hardest to fuse.

0%25%50%75%100%sequence_iterationsequence_iteration91.7%string_normalizationstring_normalization91.7%string_matchstring_match62.5%orderingordering54.2%aggregationaggregation45.8%string_formatstring_format33.3%lengthlength33.3%arithmeticarithmetic14.6%branchingbranching13.9%modulomodulo0%

Takeaway → Step-through iteration and text-cleanup skills fuse at about 92% while remainder and arithmetic skills stay near zero — a wide spread across skill types.

Data table
Primitive factor in the withheld pairDose 8 trace
sequence_iteration91.7%
string_normalization91.7%
string_match62.5%
ordering54.2%
aggregation45.8%
string_format33.3%
length33.3%
arithmetic14.6%
branching13.9%
modulo0%

Numbers from report table (Dose 8 Holdout By Factor), reports/bridge_dose_recombination_curriculum_report.md

Technical framing

Dose 8 holdout repair varies hugely by primitive factor — Iteration and string-normalization factors repair at 91.7% while modulo stays at 0%; tuple_access (12.5%) omitted to fit 10 bars.

Heavy dosing quietly hurts familiar tasks

How to read

Horizontal axis is how many combined examples were added; vertical is percent solved, higher is better. One line is familiar tasks, the other is reformatted versions of those same familiar tasks.

50%60%70%80%90%02468Format shiftSeen-combination IIDSeen-combination …

Takeaway → Familiar-task accuracy peaks near 86% at a light dose then slides to 58% at the heaviest, while reformatted tasks hold steady — a hidden cost.

Data table
Bridge examples per withheld family (k)Seen-combination IIDFormat shift
077.8%80.6%
186.1%80.6%
283.3%75%
472.2%77.8%
858.3%80.6%

Numbers from README table, experiments/bridge_dose_recombination_curriculum/README.md

Technical framing

Bridge dose has a cost: seen-task accuracy drops at dose 8 — Higher doses displace seen-combination training data: seen-IID repair falls from 86.1% to 58.3% while format-shift robustness holds.

In the author’s words from the Overview · “Final Result Snapshot”

Final evaluation completed for all 39 planned jobs across seen IID, format-shift, and recombination-holdout splits. Core readout: Exact bridge examples caused a large recombination jump: dose 0 to dose 8 improved holdout repair from 6.7% to 30.0%. Dose 4 was the best absolute holdout condition at 31.7%, but dose 2 captured most of the gain while preserving stronger seen-IID behavior. Near-miss focus did not substitute for exact bridge pairs: 8.3% holdout despite strong seen/format performance. Trace alignment was necessary. Dose 8 no-trace and shuffled-trace controls stayed at 8.3% holdout, and prompt-time trace ablations collapsed the trained dose 8 trace adapter. The full report is in reports/bridge_dose_recombination_curriculum_report.md.

Overview

Standalone experiment package for testing whether a small number of exact factor-pair bridge examples is enough to unlock trace-conditioned recombination generalization.

Final Result Snapshot

Final evaluation completed for all 39 planned jobs across seen IID, format-shift, and recombination-holdout splits.

ConditionSeen IIDFormat ShiftRecombination Holdout
Frozen trace0.0% (0/36)0.0% (0/36)0.0% (0/60)
Dose 0 trace77.8% (28/36)80.6% (29/36)6.7% (4/60)
Dose 1 trace86.1% (31/36)80.6% (29/36)15.0% (9/60)
Dose 2 trace83.3% (30/36)75.0% (27/36)28.3% (17/60)
Dose 4 trace72.2% (26/36)77.8% (28/36)31.7% (19/60)
Dose 8 trace58.3% (21/36)80.6% (29/36)30.0% (18/60)
Near-miss focus trace83.3% (30/36)80.6% (29/36)8.3% (5/60)

Core readout:

  • Exact bridge examples caused a large recombination jump: dose 0 to dose 8 improved holdout repair from 6.7% to 30.0%.
  • Dose 4 was the best absolute holdout condition at 31.7%, but dose 2 captured most of the gain while preserving stronger seen-IID behavior.
  • Near-miss focus did not substitute for exact bridge pairs: 8.3% holdout despite strong seen/format performance.
  • Trace alignment was necessary. Dose 8 no-trace and shuffled-trace controls stayed at 8.3% holdout, and prompt-time trace ablations collapsed the trained dose 8 trace adapter.

The full report is in reports/bridge_dose_recombination_curriculum_report.md.

Layout

  • configs/experiment.json: fixed design, model, training, and evaluation settings.
  • data/: generated JSONL datasets and dataset manifest.
  • scripts/: dataset generation, LoRA training runner, final evaluation runner, evaluator, and report generator.
  • reports/: training manifests, final evaluation JSON, CSV summaries, and markdown report.
  • figures/: generated plots.
  • logs/experiment_log.md: chronological run log.
  • run_logs/: raw console logs for dataset build, training, evaluation, and report generation.

Large model artifacts are intentionally outside this directory:

The compact experiment directory should contain scripts, logs, data, reports, and figures only. Adapter weights and training checkpoints are separated so this directory can be downloaded without multi-GB model files.

Key Outputs

  • reports/bridge_dose_recombination_curriculum_report.md: final narrative report.
  • reports/final_results.csv: one-row-per-condition/split evaluation summary.
  • reports/final_results_by_family.csv: recombination holdout broken down by synthetic family.
  • reports/final_results_by_factor.csv: recombination holdout broken down by primitive factor.
  • reports/final/final_evaluation_jobs.json: complete final evaluation job manifest.
  • reports/training/training_jobs.json: complete training job manifest.
  • figures/final_repair_by_condition_split.png: main split-level repair chart.
  • figures/recombination_holdout_by_family.png: family-level holdout chart.
  • logs/experiment_log.md: chronological run log with decisions, commands, and observations.

Download Notes

Download experiments/bridge_dose_recombination_curriculum/ for the complete compact experiment package. It contains data, code, logs, reports, figures, and run manifests.

Do not include large_artifacts/bridge_dose_recombination_curriculum/ unless adapter weights/checkpoints are needed. That directory contains the multi-GB LoRA outputs and checkpoint files.

Core Commands

Build data:

python experiments/bridge_dose_recombination_curriculum/scripts/build_bridge_dataset.py \
  --output-dir experiments/bridge_dose_recombination_curriculum/data

Train adapters:

python experiments/bridge_dose_recombination_curriculum/scripts/run_training.py --suite all

Run final evaluations:

python experiments/bridge_dose_recombination_curriculum/scripts/run_final_evaluations.py --suite all

Generate report:

python experiments/bridge_dose_recombination_curriculum/scripts/make_report.py

Report

Rendered from reports/bridge_dose_recombination_curriculum_report.md

Question

How many exact bridge examples are needed before trace-conditioned repair generalizes across withheld factor-pair cells?

Design

  • Every trained condition uses a fixed 240-record budget.
  • Dose conditions add k examples from each withheld factor-pair family, with k in {0, 1, 2, 4, 8}.
  • Seen-combination records are removed as bridge examples are added, so gains cannot come from a larger dataset.
  • A near-miss focus control uses no exact withheld pairs but reallocates examples toward families sharing one primitive factor with the withheld pairs.
  • Endpoint no-trace and shuffled-trace controls test whether any bridge effect depends on aligned trace evidence.
  • Checkpoints and adapter weights are stored outside this experiment directory under large_artifacts/bridge_dose_recombination_curriculum/models/.

Overall Results

ConditionSeen-Combination IIDFormat ShiftRecombination Holdout
Frozen trace0.0% (0/36)0.0% (0/36)0.0% (0/60)
Dose 0 trace77.8% (28/36)80.6% (29/36)6.7% (4/60)
Dose 1 trace86.1% (31/36)80.6% (29/36)15.0% (9/60)
Dose 2 trace83.3% (30/36)75.0% (27/36)28.3% (17/60)
Dose 4 trace72.2% (26/36)77.8% (28/36)31.7% (19/60)
Dose 8 trace58.3% (21/36)80.6% (29/36)30.0% (18/60)
Near-miss focus trace83.3% (30/36)80.6% (29/36)8.3% (5/60)
Dose 0 no-trace27.8% (10/36)22.2% (8/36)5.0% (3/60)
Dose 0 shuffled-trace train25.0% (9/36)27.8% (10/36)6.7% (4/60)
Dose 8 no-trace30.6% (11/36)30.6% (11/36)8.3% (5/60)
Dose 8 shuffled-trace train19.4% (7/36)33.3% (12/36)8.3% (5/60)

Dose Curve

ConditionSeen-Combination IIDFormat ShiftRecombination Holdout
Dose 0 trace77.8% (28/36)80.6% (29/36)6.7% (4/60)
Dose 1 trace86.1% (31/36)80.6% (29/36)15.0% (9/60)
Dose 2 trace83.3% (30/36)75.0% (27/36)28.3% (17/60)
Dose 4 trace72.2% (26/36)77.8% (28/36)31.7% (19/60)
Dose 8 trace58.3% (21/36)80.6% (29/36)30.0% (18/60)
Near-miss focus trace83.3% (30/36)80.6% (29/36)8.3% (5/60)

Prompt Ablations

ConditionSeen-Combination IIDFormat ShiftRecombination Holdout
Dose 8 trace58.3% (21/36)80.6% (29/36)30.0% (18/60)
Dose 8 trace, no-trace prompt19.4% (7/36)13.9% (5/36)8.3% (5/60)
Dose 8 trace, shuffled-trace prompt5.6% (2/36)11.1% (4/36)6.7% (4/60)

Recombination Holdout By Family

FamilyDose 0 traceDose 2 traceDose 8 traceNear-miss focus traceDose 8 no-traceDose 8 shuffled-trace train
length_contains_code0.0% (0/12)0.0% (0/12)33.3% (4/12)0.0% (0/12)0.0% (0/12)0.0% (0/12)
modulo_sum_label0.0% (0/12)0.0% (0/12)0.0% (0/12)0.0% (0/12)0.0% (0/12)0.0% (0/12)
sorted_contains_count0.0% (0/12)100.0% (12/12)91.7% (11/12)0.0% (0/12)0.0% (0/12)0.0% (0/12)
sorted_tuple_affine33.3% (4/12)33.3% (4/12)16.7% (2/12)41.7% (5/12)41.7% (5/12)41.7% (5/12)
tuple_branch_label0.0% (0/12)8.3% (1/12)8.3% (1/12)0.0% (0/12)0.0% (0/12)0.0% (0/12)

Dose 8 Holdout By Factor

Factorrepair@1
aggregation45.8% (11/24)
arithmetic14.6% (7/48)
branching13.9% (5/36)
length33.3% (4/12)
modulo0.0% (0/12)
ordering54.2% (13/24)
sequence_iteration91.7% (11/12)
string_format33.3% (16/48)
string_match62.5% (15/24)
string_normalization91.7% (11/12)
tuple_access12.5% (3/24)

Readout

  • Best core recombination result: Dose 4 trace at 31.7% (19/60).
  • Dose response from k=0 to k=8: 6.7% (4/60) to 30.0% (18/60), delta 23.3%.
  • Pair anchoring check: dose 8 trace 30.0% (18/60) vs near-miss focus 8.3% (5/60).

Figures

Artifact Layout

Experiment log 7

Show the running log (7 entries, 2026-06-21)

2026-06-21

  • Created standalone experiment directory at experiments/bridge_dose_recombination_curriculum/.
  • Created large-artifact directory at large_artifacts/bridge_dose_recombination_curriculum/models/.
  • Defined the central question: how many exact bridge examples are needed before trace-conditioned repair generalizes across withheld factor-pair cells?
  • Planned a fixed-budget bridge-dose curriculum:

    • every trained condition has 240 records,
    • bridge doses are k = 0, 1, 2, 4, 8 examples per withheld factor-pair family,
    • adding bridge examples removes seen-combination examples so dataset size is constant,
    • a near-miss focus control has no exact withheld factor pairs but reallocates examples toward related primitive factors,
    • endpoint no-trace and shuffled-trace controls test whether any bridge effect depends on aligned trace evidence.
  • Implemented the experiment package:

    • scripts/build_bridge_dataset.py
    • scripts/eval_bridge.py
    • scripts/run_training.py
    • scripts/run_final_evaluations.py
    • scripts/make_report.py
  • The builder validates every generated record before writing:

    • wrong implementation fails visible tests,
    • target corrective diff applies,
    • target implementation passes visible and hidden tests,
    • visible and hidden inputs are disjoint.

Next step: build and validate the datasets, then inspect the manifest before starting training.

Dataset Build

  • Ran scripts/build_bridge_dataset.py with seed 20260621.
  • Completed executable validation for all generated records.
  • Wrote six 240-record training files:

    • repair_train_dose0.jsonl
    • repair_train_dose1.jsonl
    • repair_train_dose2.jsonl
    • repair_train_dose4.jsonl
    • repair_train_dose8.jsonl
    • repair_train_near_miss_focus.jsonl
  • Wrote three fixed evaluation splits:

    • repair_val_seen_iid.jsonl: 36 records.
    • repair_val_format_shift.jsonl: 36 records.
    • repair_val_recombination_holdout.jsonl: 60 records.
  • Verified bridge-count invariants from data/dataset_manifest.json:

    • repair_train_dose0: no exact bridge examples.
    • repair_train_dose1: 1 example for each withheld factor pair.
    • repair_train_dose2: 2 examples for each withheld factor pair.
    • repair_train_dose4: 4 examples for each withheld factor pair.
    • repair_train_dose8: 8 examples for each withheld factor pair.
    • repair_train_near_miss_focus: no exact bridge examples.
  • Withheld factor pairs:

    • aggregation+modulo
    • branching+tuple_access
    • length+string_match
    • ordering+string_match
    • ordering+tuple_access
  • Compact experiment directory after dataset build: about 11 MB.
  • Large artifact directory remains empty before training.

Next step: train the dose curve adapters and endpoint controls.

Training

  • Ran scripts/run_training.py --suite all.
  • Trained all 10 planned LoRA adapters with the shared configuration:

    • base model: Qwen/Qwen2.5-Coder-3B-Instruct
    • revision: 488639f1ff808d1d3d0ba301aef8c11461451ec5
    • epochs: 3
    • learning rate: 1.5e-4
    • LoRA rank/alpha/dropout: 32/64/0.05
    • max sequence length: 3072
    • gradient accumulation: 8
    • checkpoint/eval cadence: every 30 optimizer steps
  • Adapter outputs were written under large_artifacts/bridge_dose_recombination_curriculum/models/, not inside the compact experiment directory.
  • All jobs completed successfully. Runtime per adapter was about 7 minutes.

Held-out recombination validation loss by epoch:

adapterepoch 1epoch 2epoch 3
dose0_trace0.11220.13120.1495
dose1_trace0.087640.078080.07351
dose2_trace0.070140.051680.05419
dose4_trace0.059700.040710.04115
dose8_trace0.054680.039580.03626
near_miss_focus_trace0.15250.12860.1355
dose0_no_trace0.19180.18060.1962
dose0_shuffled_trace0.17900.19660.2040
dose8_no_trace0.12010.10010.09461
dose8_shuffled_trace0.12510.10560.09834

Interim observations before final exact-match evaluation:

  • Zero-dose trace overfit the seen combinations by held-out loss: 0.1122 -> 0.1495.
  • Exact bridge examples produced a monotonic endpoint improvement across the trace dose curve: dose 1, 2, 4, and 8 all beat dose 0, with dose 8 best at 0.03626.
  • The near-miss focus control failed to substitute for exact bridge examples despite low training loss.
  • Removing traces at dose 0 was much worse than coherent traces; shuffling trace lines was similarly poor.
  • At dose 8, no-trace and shuffled-trace controls improved versus their dose 0 counterparts, but stayed far behind coherent trace. This suggests exact bridge coverage and coherent trace conditioning are complementary.

Next step: run the fixed final evaluation matrix across seen IID, format shift, and recombination holdout splits.

Final Evaluation

Overall repair@1 results:

ConditionSeen IIDFormat ShiftRecombination Holdout
Frozen trace0.0% (0/36)0.0% (0/36)0.0% (0/60)
Dose 0 trace77.8% (28/36)80.6% (29/36)6.7% (4/60)
Dose 1 trace86.1% (31/36)80.6% (29/36)15.0% (9/60)
Dose 2 trace83.3% (30/36)75.0% (27/36)28.3% (17/60)
Dose 4 trace72.2% (26/36)77.8% (28/36)31.7% (19/60)
Dose 8 trace58.3% (21/36)80.6% (29/36)30.0% (18/60)
Near-miss focus trace83.3% (30/36)80.6% (29/36)8.3% (5/60)
Dose 0 no-trace27.8% (10/36)22.2% (8/36)5.0% (3/60)
Dose 0 shuffled-trace train25.0% (9/36)27.8% (10/36)6.7% (4/60)
Dose 8 no-trace30.6% (11/36)30.6% (11/36)8.3% (5/60)
Dose 8 shuffled-trace train19.4% (7/36)33.3% (12/36)8.3% (5/60)

Prompt ablations on the dose 8 trace adapter:

Prompt conditionSeen IIDFormat ShiftRecombination Holdout
Trace prompt58.3% (21/36)80.6% (29/36)30.0% (18/60)
No-trace prompt19.4% (7/36)13.9% (5/36)8.3% (5/60)
Shuffled-trace prompt5.6% (2/36)11.1% (4/36)6.7% (4/60)

Recombination holdout by selected family:

FamilyDose 0 traceDose 2 traceDose 8 traceNear-miss focus traceDose 8 no-traceDose 8 shuffled-trace train
length_contains_code0/120/124/120/120/120/12
modulo_sum_label0/120/120/120/120/120/12
sorted_contains_count0/1212/1211/120/120/120/12
sorted_tuple_affine4/124/122/125/125/125/12
tuple_branch_label0/121/121/120/120/120/12

Interpretation:

  • Exact bridge examples are the main lever. The trace dose curve moved recombination holdout from 4/60 at dose 0 to 9/60, 17/60, 19/60, and 18/60 at doses 1, 2, 4, and 8.
  • Dose 2 is the practical frontier: it captures most of the recombination gain while retaining 30/36 seen-IID repairs. Dose 4 is best on holdout by two additional examples but costs seen-IID accuracy. Dose 8 adds no further holdout gain and sharply reduces seen-IID performance.
  • Pair anchoring matters. The near-miss focus control retained strong seen-IID and format-shift performance but reached only 5/60 on recombination holdout.
  • Coherent traces matter at both train time and prompt time. No-trace and shuffled-trace training stayed near floor on holdout, and removing or shuffling trace context at inference collapsed the dose 8 trace adapter.
  • Gains are concentrated rather than uniform. sorted_contains_count became mostly solved under the bridge curriculum, while modulo_sum_label remained 0/12 across measured conditions and tuple_branch_label barely moved.

Report Generation

  • Ran scripts/make_report.py.
  • Wrote the final markdown report to reports/bridge_dose_recombination_curriculum_report.md.
  • Updated README.md with the final result snapshot, key output list, and download guidance.

Artifact Split

  • Compact experiment directory: experiments/bridge_dose_recombination_curriculum/.
  • Large model artifact directory: large_artifacts/bridge_dose_recombination_curriculum/models/.
  • All LoRA adapters and checkpoints were written to the large artifact directory.
  • The compact directory is intended to be downloaded independently and should contain no .safetensors, .bin, .pt, or .pth files.

Final next-experiment implication:

  • The most promising follow-up is not a larger global bridge dose. The useful next step is a targeted per-family bridge allocation experiment that starts from the dose 2 frontier, reallocates bridge budget toward persistent failure families (modulo_sum_label, tuple_branch_label, and length_contains_code), and preserves enough seen-combination coverage to avoid the dose 8 seen-IID regression.

Final Verification

  • python -m py_compile experiments/bridge_dose_recombination_curriculum/scripts/*.py completed successfully.
  • Verified reports/final/final_evaluation_jobs.json contains 39 jobs and all have status completed.
  • Verified reports/final_results.csv contains 39 rows and uses the expected repair_at_1 metric column.
  • Confirmed no .safetensors, .bin, .pt, or .pth files are present under experiments/bridge_dose_recombination_curriculum/.
  • Confirmed no __pycache__ directories remain after cleanup.
  • Final directory sizes:

    • Compact experiment directory: 22 MB.
    • Large artifact directory: 13 GB.
  • Large artifact file count under large_artifacts/bridge_dose_recombination_curriculum/models/: 80 files.

Status: complete. The standalone experiment directory is ready to download without large model artifacts; adapter weights and checkpoints remain split out under large_artifacts/.

Figures 2

final repair by condition split
final repair by condition split · figures/
recombination holdout by family
recombination holdout by family · figures/

Data files 4

Result tables and metrics copied from the experiment folder — preview inline or open the raw file.

Reproduce

Run steps are documented inside the experiment folder (README and scripts).

Browse the experiment folder on GitHub ↗