Research log Small Model Experimentation
GitHub

Qwen Large ABI Nested Compiler

Finished2026-06-26imported · line YStructured Execution and CompilersGitHub ↗
Bigger toolbox is free; branching must be taught

The one idea you need

A small model writes short programs by picking from a fixed menu of building-block operations, and a calculator-like machine runs them, scoring only the final answer. Enlarging the menu is like giving a cook more ingredients: fine for step-by-step recipes, but recipes that call sub-recipes are a separate skill.

The question

When a small model writes programs by picking from a fixed library of operations, does a four-times bigger library hurt it, and can it learn recipes that split into branches?

What we found

Two things. Making the library four times larger, from 32 to 128 operations, did not hurt straight-line programs at all: both stayed perfect on 16-step chains. But branching is a separate skill. Models shown only straight-line programs got the hardest eight-branch tasks almost entirely wrong, about 13% correct, while adding just a handful of small two-to-three-branch examples lifted that to roughly 87%.

Why it matters

If you want a small model to compose tool calls, a bigger tool library alone will not teach structure. Straight-line chaining scales for free, but branching needs explicit examples, and even then reworded prompts can still break it.

Branching accuracy after adding a few branch examples13% → 87%hardest eight-branch tasks, same 128-operation library, straight-line-only vs branch-trained
Effect of a four-times bigger library on straight-line programsstays 100%16-step chains, 32 vs 128 operations, no drop
Generalizing past what was taught100% at 4 branches, 87% at 8model shown only 2-to-3-branch examples, tested on wider branching
Fragility to reworded prompts87% → 40%best branch-trained model on eight-branch tasks when the wording shifts
On this page
  1. Results at a glance
  2. Overview
  3. Report
    1. Abstract
    2. Method
    3. Run Configuration
    4. Primary Results
    5. Interpretation
    6. Limitations
    7. Artifacts
  4. Experiment log
  5. Figures
  6. Data files
  7. Reproduce
  8. Related

Results at a glance 4

A little branching practice carries over to wider branches

How to read

Left to right the tasks split into more branches, from 2 to 8; higher means more programs produced the right final answer. Two lines are models shown a few small branching examples; two were shown only straight-line programs.

0%50%100%150%2468128 ops, nested training128 ops, nested t…32 ops, nested training32 ops, nested tr…128 ops, chain-only training128 ops, chain-on…32 ops, chain-only training32 ops, chain-onl…

Takeaway → The two branch-trained lines stay near the top even at eight branches while the straight-line-only lines sink to the floor, showing small branch practice generalizes far wider.

Data table
Nested branches32 ops, chain-only training128 ops, chain-only training32 ops, nested training128 ops, nested training
253.3%26.7%100%100%
313.3%46.7%100%100%
426.7%33.3%100%100%
86.7%13.3%73.3%86.7%

Numbers from report table (reports/qwen_large_abi_nested_compiler_report.md); analysis/summary_by_arm.csv

Technical framing

Nested supervision transfers to wider held-out branch counts — Shallow nested supervision (2-3 branches) generalizes: nested-trained models hit 100% at 4 branches and 73-87% at 8; chain-only models collapse.

A four-times bigger operation library leaves straight-line programs intact

How to read

Left to right the straight-line programs get longer, from 3 to 16 steps; higher means more correct final answers. Lines compare a 32-operation library against one four times larger, for each training style.

92.5%95%97.5%100%102.5%5101532 ops, chain-only training32 ops, chain-onl…128 ops, chain-only training128 ops, chain-on…32 ops, nested training32 ops, nested tr…128 ops, nested training128 ops, nested t…

Takeaway → Every line hugs the top across all lengths, so quadrupling the operation library leaves long straight-line programs essentially perfect.

Data table
Chain depth32 ops, chain-only training128 ops, chain-only training32 ops, nested training128 ops, nested training
3100%100%100%100%
8100%100%100%100%
16100%100%100%93.3%

Numbers from report table (reports/qwen_large_abi_nested_compiler_report.md); analysis/summary_by_arm.csv

Technical framing

Growing the operation library from 32 to 128 does not hurt linear chains — Constrained chain compilation stays at or near 100% out to depth 16 even with a 4x larger primitive library.

A validity guardrail roughly doubles accuracy on the hardest branching tasks

How to read

Bars are grouped by how each model was trained; taller is better on the hardest eight-branch tasks. One bar per pair uses a guardrail limiting the model to valid steps, the other lets it write freely.

0%25%50%75%100%32 ops, chain-only32 ops, chain-only6.7%0%128 ops, chain-only128 ops, chain-only13.3%6.7%32 ops, nested32 ops, nested73.3%40%128 ops, nested128 ops, nested86.7%46.7%

Takeaway → For branch-trained models the guardrail bar is about double the free-writing bar, but no guardrail rescues models never shown branches.

Data table
Training curriculumconstrained decodingfree greedy decoding
32 ops, chain-only6.7%0%
128 ops, chain-only13.3%6.7%
32 ops, nested73.3%40%
128 ops, nested86.7%46.7%

Numbers from report table (reports/qwen_large_abi_nested_compiler_report.md), eval_nested_l8 rows

Technical framing

Constrained decoding beats free decoding on hardest nested tasks (8 branches) — Finite-state constraints roughly double nested-8 accuracy for nested-trained models, but cannot rescue chain-only training.

Reworded prompts hurt branching tasks more than straight-line ones

How to read

Bars are grouped by training; taller means more correct answers on prompts worded differently than training. One set is reworded straight-line programs, the other reworded eight-branch programs.

0%20%40%60%80%32 ops, chain-only32 ops, chain-only46.7%0%128 ops, chain-only128 ops, chain-only80%0%32 ops, nested32 ops, nested33.3%46.7%128 ops, nested128 ops, nested73.3%40%

Takeaway → The best model keeps most of its score on reworded straight-line programs but drops sharply on reworded branching ones, so wording robustness is unsolved for branches.

Data table
Training curriculumshifted chain depth 16shifted nested 8 branches
32 ops, chain-only46.7%0%
128 ops, chain-only80%0%
32 ops, nested33.3%46.7%
128 ops, nested73.3%40%

Numbers from report table (reports/qwen_large_abi_nested_compiler_report.md), template-shifted rows

Technical framing

Template-shifted wording degrades nested tasks more than chains — Under reworded prompts the best nested model keeps 73% on chains but drops to 40% on nested-8: wording robustness is unsolved for nesting.

In the author’s words from the Report · “Abstract”

This standalone experiment tests whether a constrained stack-ABI compiler remains reliable when the primitive library grows from 32 to 128 unary operations and when tasks require nested branch sub-procedures. The model emits a program; a deterministic interpreter executes it.

Overview

Standalone experiment testing whether a constrained stack-ABI compiler still works when the primitive library becomes large and when tasks require nested sub-procedures rather than only linear chains.

Question

The compiler can compose a small known ABI into long linear procedures. This experiment tests two new bottlenecks before scaling to a real crystallized-skill corpus:

  • Operation selection at larger ABI size: does moving from 32 to 128 unary operations degrade linear chain compilation?
  • Nested structure: does adding shallow nested supervision let the model compile branch/sub-procedure tasks at larger held-out nesting widths?

Training Targets

  • abi32_chain_d3: 32 unary operations, chain tasks only, depths 1 to 3.
  • abi128_chain_d3: 128 unary operations, chain tasks only, depths 1 to 3.
  • abi32_nested_d3: 32 unary operations, chain depths 1 to 3 plus nested tasks with 2 to 3 branches.
  • abi128_nested_d3: 128 unary operations, chain depths 1 to 3 plus nested tasks with 2 to 3 branches.

Evaluation

  • Chain depth sweep: depths 3, 8, and 16.
  • Template-shifted chain endpoint: depth 16.
  • Nested branch sweep: 2, 3, 4, and 8 branches.
  • Template-shifted nested endpoint: 8 branches.
  • Decoder arms: free greedy stack generation and finite-state constrained stack generation.
  • Gold ABI sanity arm: execute the reference program through the interpreter.

Primary Metrics

  • Constrained external execution accuracy.
  • Correct-given-valid accuracy, since constrained decoding should keep validity near 100%.
  • Failure taxonomy on chain depth 16 and nested 8-branch outputs.
  • Free versus constrained execution to separate syntax effects from semantic operation/structure selection.

Artifacts

Report

Rendered from reports/qwen_large_abi_nested_compiler_report.md

Abstract

This standalone experiment tests whether a constrained stack-ABI compiler remains reliable when the primitive library grows from 32 to 128 unary operations and when tasks require nested branch sub-procedures. The model emits a program; a deterministic interpreter executes it.

Method

Four QLoRA adapters are trained over the same numeric stack ABI shape:

  • abi32_chain_d3: 32 unary operations, chain tasks only, depths 1 to 3.
  • abi128_chain_d3: 128 unary operations, chain tasks only, depths 1 to 3.
  • abi32_nested_d3: 32 unary operations, chain depths 1 to 3 plus nested tasks with 2 to 3 branches.
  • abi128_nested_d3: 128 unary operations, chain depths 1 to 3 plus nested tasks with 2 to 3 branches.

Evaluation sweeps linear chains at depths 3, 8, and 16, plus nested branch tasks with 2, 3, 4, and 8 branches. Template-shifted endpoints test wording robustness. Each adapter is evaluated with free greedy decoding and finite-state constrained decoding. Gold ABI sanity arms check both ABI sizes.

The primary criteria are constrained external execution accuracy on chain depth 16 and nested 8-branch tasks. Valid-program rate alone is not a success metric; the compiler must select the right operations and merge structure, not merely produce parseable syntax.

Run Configuration

  • Primary suite: main.
  • Seeds: 101,202,303.
  • Evaluation rows: 270 metric rows, 1350 scored examples across curricula and decoder arms.
  • QLoRA update steps per adapter: 24.
  • Large adapters are stored outside the experiment tree.

Primary Results

  • Constrained chain depth 3: 32-chain 100.0%; 128-chain 100.0%; 32-nested 100.0%; 128-nested 100.0%.
  • Constrained chain depth 8: 32-chain 100.0%; 128-chain 100.0%; 32-nested 100.0%; 128-nested 100.0%.
  • Constrained chain depth 16: 32-chain 100.0%; 128-chain 100.0%; 32-nested 100.0%; 128-nested 93.3%.
  • Constrained nested 2 branches: 32-chain 53.3%; 128-chain 26.7%; 32-nested 100.0%; 128-nested 100.0%.
  • Constrained nested 3 branches: 32-chain 13.3%; 128-chain 46.7%; 32-nested 100.0%; 128-nested 100.0%.
  • Constrained nested 4 branches: 32-chain 26.7%; 128-chain 33.3%; 32-nested 100.0%; 128-nested 100.0%.
  • Constrained nested 8 branches: 32-chain 6.7%; 128-chain 13.3%; 32-nested 73.3%; 128-nested 86.7%.
  • Constrained template chain depth 16: 32-chain 46.7%; 128-chain 80.0%; 32-nested 33.3%; 128-nested 73.3%.
  • Constrained template nested 8 branches: 32-chain 0.0%; 128-chain 0.0%; 32-nested 46.7%; 128-nested 40.0%.
  • Gold ABI nested-8 sanity: 32-op 100.0% execution, 128-op 100.0% execution.
  • At chain depth 16, 128-op chain beats 32-op chain on 0/3 matched seeds; mean per-seed delta 0.0%.
  • On 128-op nested-8 tasks, nested curriculum beats chain-only on 3/3 matched seeds; mean per-seed delta 73.3%.
train_targetarmsplitdepthrunsn_totalexec_accuracy_meanexec_accuracy_stdvalid_exec_rate_meancorrect_given_valid_meandivergence_rate_meanconstrained_only_rate_meanfree_only_rate_meanmean_attempts_mean
abi128_chain_d3program_stack_constrainedeval_chain_d1616315100.0%0.0%100.0%100.0%26.7%26.7%0.0%1.00
abi128_chain_d3program_stack_freeeval_chain_d161631573.3%11.5%73.3%100.0%n/an/an/a1.00
abi128_nested_d3program_stack_constrainedeval_chain_d161631593.3%11.5%100.0%93.3%26.7%20.0%0.0%1.00
abi128_nested_d3program_stack_freeeval_chain_d161631573.3%11.5%73.3%100.0%n/an/an/a1.00
abi32_chain_d3program_stack_constrainedeval_chain_d1616315100.0%0.0%100.0%100.0%6.7%6.7%0.0%1.00
abi32_chain_d3program_stack_freeeval_chain_d161631593.3%11.5%93.3%100.0%n/an/an/a1.00
abi32_nested_d3program_stack_constrainedeval_chain_d1616315100.0%0.0%100.0%100.0%0.0%0.0%0.0%1.00
abi32_nested_d3program_stack_freeeval_chain_d1616315100.0%0.0%100.0%100.0%n/an/an/a1.00
oracle_abi128gold_abi_constrainedeval_chain_d1616315100.0%0.0%100.0%100.0%n/an/an/a0.00
oracle_abi32gold_abi_constrainedeval_chain_d1616315100.0%0.0%100.0%100.0%n/an/an/a0.00
abi128_chain_d3program_stack_constrainedeval_chain_d88315100.0%0.0%100.0%100.0%20.0%20.0%0.0%1.00
abi128_chain_d3program_stack_freeeval_chain_d8831580.0%34.6%80.0%100.0%n/an/an/a1.00
abi128_nested_d3program_stack_constrainedeval_chain_d88315100.0%0.0%100.0%100.0%0.0%0.0%0.0%1.00
abi128_nested_d3program_stack_freeeval_chain_d88315100.0%0.0%100.0%100.0%n/an/an/a1.00
abi32_chain_d3program_stack_constrainedeval_chain_d88315100.0%0.0%100.0%100.0%0.0%0.0%0.0%1.00
abi32_chain_d3program_stack_freeeval_chain_d88315100.0%0.0%100.0%100.0%n/an/an/a1.00
abi32_nested_d3program_stack_constrainedeval_chain_d88315100.0%0.0%100.0%100.0%0.0%0.0%0.0%1.00
abi32_nested_d3program_stack_freeeval_chain_d88315100.0%0.0%100.0%100.0%n/an/an/a1.00
oracle_abi128gold_abi_constrainedeval_chain_d88315100.0%0.0%100.0%100.0%n/an/an/a0.00
oracle_abi32gold_abi_constrainedeval_chain_d88315100.0%0.0%100.0%100.0%n/an/an/a0.00
abi128_chain_d3program_stack_constrainedeval_chain_template_d161631580.0%20.0%100.0%80.0%46.7%26.7%0.0%1.00
abi128_chain_d3program_stack_freeeval_chain_template_d161631553.3%23.1%53.3%100.0%n/an/an/a1.00
abi128_nested_d3program_stack_constrainedeval_chain_template_d161631573.3%30.6%100.0%73.3%66.7%40.0%0.0%1.00
abi128_nested_d3program_stack_freeeval_chain_template_d161631533.3%23.1%33.3%100.0%n/an/an/a1.00
abi32_chain_d3program_stack_constrainedeval_chain_template_d161631546.7%46.2%100.0%46.7%73.3%20.0%0.0%1.00
abi32_chain_d3program_stack_freeeval_chain_template_d161631526.7%30.6%40.0%62.5%n/an/an/a1.00
abi32_nested_d3program_stack_constrainedeval_chain_template_d161631533.3%23.1%100.0%33.3%73.3%20.0%0.0%1.00
abi32_nested_d3program_stack_freeeval_chain_template_d161631513.3%11.5%46.7%29.2%n/an/an/a1.00
oracle_abi128gold_abi_constrainedeval_chain_template_d1616315100.0%0.0%100.0%100.0%n/an/an/a0.00
oracle_abi32gold_abi_constrainedeval_chain_template_d1616315100.0%0.0%100.0%100.0%n/an/an/a0.00
abi128_chain_d3program_stack_constrainedeval_nested_l4431533.3%23.1%100.0%33.3%100.0%26.7%0.0%1.00
abi128_chain_d3program_stack_freeeval_nested_l443156.7%11.5%20.0%25.0%n/an/an/a1.00
abi128_nested_d3program_stack_constrainedeval_nested_l44315100.0%0.0%100.0%100.0%26.7%20.0%0.0%1.00
abi128_nested_d3program_stack_freeeval_nested_l4431580.0%20.0%86.7%91.7%n/an/an/a1.00
abi32_chain_d3program_stack_constrainedeval_nested_l4431526.7%11.5%100.0%26.7%100.0%26.7%6.7%1.00
abi32_chain_d3program_stack_freeeval_nested_l443156.7%11.5%20.0%33.3%n/an/an/a1.00
abi32_nested_d3program_stack_constrainedeval_nested_l44315100.0%0.0%100.0%100.0%0.0%0.0%0.0%1.00
abi32_nested_d3program_stack_freeeval_nested_l44315100.0%0.0%100.0%100.0%n/an/an/a1.00
oracle_abi128gold_abi_constrainedeval_nested_l44315100.0%0.0%100.0%100.0%n/an/an/a0.00
oracle_abi32gold_abi_constrainedeval_nested_l44315100.0%0.0%100.0%100.0%n/an/an/a0.00
abi128_chain_d3program_stack_constrainedeval_nested_l8831513.3%11.5%100.0%13.3%100.0%13.3%6.7%1.00
abi128_chain_d3program_stack_freeeval_nested_l883156.7%11.5%6.7%100.0%n/an/an/a1.00
abi128_nested_d3program_stack_constrainedeval_nested_l8831586.7%11.5%100.0%86.7%66.7%40.0%0.0%1.00
abi128_nested_d3program_stack_freeeval_nested_l8831546.7%23.1%60.0%75.0%n/an/an/a1.00
abi32_chain_d3program_stack_constrainedeval_nested_l883156.7%11.5%100.0%6.7%100.0%6.7%0.0%1.00
abi32_chain_d3program_stack_freeeval_nested_l883150.0%0.0%20.0%0.0%n/an/an/a1.00
abi32_nested_d3program_stack_constrainedeval_nested_l8831573.3%30.6%100.0%73.3%53.3%33.3%0.0%1.00
abi32_nested_d3program_stack_freeeval_nested_l8831540.0%34.6%66.7%66.7%n/an/an/a1.00
oracle_abi128gold_abi_constrainedeval_nested_l88315100.0%0.0%100.0%100.0%n/an/an/a0.00
oracle_abi32gold_abi_constrainedeval_nested_l88315100.0%0.0%100.0%100.0%n/an/an/a0.00
abi128_chain_d3program_stack_constrainedeval_nested_template_l883150.0%0.0%100.0%0.0%100.0%0.0%0.0%1.00
abi128_chain_d3program_stack_freeeval_nested_template_l883150.0%0.0%26.7%0.0%n/an/an/a1.00
abi128_nested_d3program_stack_constrainedeval_nested_template_l8831540.0%20.0%100.0%40.0%86.7%26.7%0.0%1.00
abi128_nested_d3program_stack_freeeval_nested_template_l8831513.3%23.1%13.3%100.0%n/an/an/a1.00
abi32_chain_d3program_stack_constrainedeval_nested_template_l883150.0%0.0%100.0%0.0%100.0%0.0%0.0%1.00
abi32_chain_d3program_stack_freeeval_nested_template_l883150.0%0.0%20.0%0.0%n/an/an/a1.00
abi32_nested_d3program_stack_constrainedeval_nested_template_l8831546.7%50.3%100.0%46.7%73.3%26.7%0.0%1.00
abi32_nested_d3program_stack_freeeval_nested_template_l8831520.0%34.6%26.7%50.0%n/an/an/a1.00
oracle_abi128gold_abi_constrainedeval_nested_template_l88315100.0%0.0%100.0%100.0%n/an/an/a0.00
oracle_abi32gold_abi_constrainedeval_nested_template_l88315100.0%0.0%100.0%100.0%n/an/an/a0.00

Execution by depth

Nested by branches

Template shift by depth

Validity versus execution

Decoder divergence

Failure taxonomy

Training curves

Interpretation

This experiment separates two questions that matter before scaling a real ABI: whether a larger operation catalog hurts linear chain compilation, and whether branch/sub-procedure structure requires explicit nested supervision. Operation-scale effect on chain depth 16: 128-op chain training changes execution by 0.0% relative to 32-op chain training. Nested-curriculum effect at 32 ops on nested-8 tasks: 66.7%. Nested-curriculum effect at 128 ops on nested-8 tasks: 73.3%. Template-shifted 128-op nested training reaches 73.3% on chain depth 16 but only 40.0% on nested-8, so wording robustness is not solved for nested branch tasks. The central positive result is that shallow nested supervision transfers beyond the trained branch counts: both nested curricula reach 100.0% at nested depth 4, and the 128-op nested curriculum reaches 86.7% at nested depth 8. The operation-catalog result is also positive but narrower: moving from 32 to 128 unary operations does not harm constrained linear-chain compilation, but it does not by itself teach nested structure. Because constrained decoding supplies only syntactic validity, any execution gain in constrained rows should be read as better operation or merge selection rather than better self-execution. For abi128_chain_d3 constrained decoding on chain/nested endpoints, procedures break down as: correct_exact 46.7%, wrong_op_order_or_choice 43.3%, correct_semantic_variant 10.0%. For abi128_nested_d3 constrained decoding on chain/nested endpoints, procedures break down as: correct_exact 86.7%, wrong_op_order_or_choice 10.0%, correct_semantic_variant 3.3%. For abi32_chain_d3 constrained decoding on chain/nested endpoints, procedures break down as: correct_exact 53.3%, wrong_op_order_or_choice 46.7%. For abi32_nested_d3 constrained decoding on chain/nested endpoints, procedures break down as: correct_exact 83.3%, wrong_op_order_or_choice 13.3%, correct_semantic_variant 3.3%.

Limitations

This experiment tests compilation over a known numeric primitive library. It does not test invention of operations outside the ABI. The finite-state decoder is tied to the task schema and uses task-visible constants plus known line kinds, so results measure operation and merge selection inside a valid grammar. Nested tasks are branch-merge programs, not arbitrary loops or recursion.

Artifacts

  • Metrics: analysis/summary_by_arm.csv and analysis/all_metrics.csv
  • Details: analysis/all_details.csv
  • Training logs: analysis/all_train_logs.csv
  • Checkpoints: /workspace/large_artifacts/qwen_large_abi_nested_compiler/checkpoints

Experiment log 4

Show the running log (4 entries)

Setup

  • Created fresh experiment directory: /workspace/experiments/qwen_large_abi_nested_compiler
  • Large artifacts directory: /workspace/large_artifacts/qwen_large_abi_nested_compiler
  • Core question: whether constrained ABI compilation survives both larger primitive libraries and nested branch/sub-procedure structure.
  • Report format: standalone Markdown and HTML with plots.

Run smoke_v1

  • Started: 2026-06-26 23:01:46 UTC
  • Suite: smoke
  • Model: Qwen/Qwen3-4B
  • Seeds: 101
  • Training targets: abi32_chain_d3,abi128_chain_d3,abi32_nested_d3,abi128_nested_d3
  • Training examples per seed: 24
  • Eval examples per split: 1
  • Eval splits: eval_chain_d16,eval_nested_l8,eval_chain_template_d16,eval_nested_template_l8
  • Steps: 1
  • Resample attempts: 3

Completed smoke_v1 in 617.7s.

  • Metric rows: 40
  • Detail rows: 40
  • Training log rows: 4

Run pilot_v1

  • Started: 2026-06-26 23:12:48 UTC
  • Suite: pilot
  • Model: Qwen/Qwen3-4B
  • Seeds: 101
  • Training targets: abi32_chain_d3,abi128_chain_d3,abi32_nested_d3,abi128_nested_d3
  • Training examples per seed: 96
  • Eval examples per split: 3
  • Eval splits: eval_chain_d3,eval_chain_d8,eval_chain_d16,eval_chain_template_d16,eval_nested_l2,eval_nested_l4,eval_nested_l8,eval_nested_template_l8
  • Steps: 8
  • Resample attempts: 3

Completed pilot_v1 in 1514.4s.

  • Metric rows: 80
  • Detail rows: 240
  • Training log rows: 20
  • Pilot read:

    • 32-op chain-only constrained chain depth-16 reached 100.0%.
    • 128-op chain-only constrained chain depth-16 also reached 100.0%, but template chain depth-16 fell to 33.3%.
    • Chain-only curricula transferred to 2-branch nested tasks at 66.7% but collapsed at 4 and 8 branches.
    • 32-op nested curriculum produced a nonzero nested-8 row (33.3%) but did not solve nested-4 or template nested-8.
    • 128-op nested curriculum did not improve nested-8 in the pilot.
    • Added eval_nested_l3 before main so trained nested-boundary performance is measured explicitly.

Run main_v1

  • Started: 2026-06-26 23:39:21 UTC
  • Suite: main
  • Model: Qwen/Qwen3-4B
  • Seeds: 101,202,303
  • Training targets: abi32_chain_d3,abi128_chain_d3,abi32_nested_d3,abi128_nested_d3
  • Training examples per seed: 240
  • Eval examples per split: 5
  • Eval splits: eval_chain_d3,eval_chain_d8,eval_chain_d16,eval_chain_template_d16,eval_nested_l2,eval_nested_l3,eval_nested_l4,eval_nested_l8,eval_nested_template_l8
  • Steps: 24
  • Resample attempts: 3

Completed main_v1 in 5622.3s.

  • Metric rows: 270
  • Detail rows: 1350
  • Training log rows: 60
  • Final read:

    • The 128-operation catalog did not break linear chain compilation under constrained decoding: abi128_chain_d3 reached 100.0% at chain depth 16, matching abi32_chain_d3.
    • Chain-only training did not learn nested branch structure: constrained nested-8 was 6.7% for 32 ops and 13.3% for 128 ops.
    • Shallow nested training transferred strongly beyond the trained branch counts: constrained nested-8 reached 73.3% for 32 ops and 86.7% for 128 ops.
    • Nested depth 4 was solved by both nested curricula at 100.0%, showing stable near-depth transfer.
    • Template-shifted nested-8 remained weak: 46.7% for 32-op nested training and 40.0% for 128-op nested training, even though validity was 100.0%.
    • Gold ABI sanity arms were 100.0% across both ABI sizes and all splits, so residual errors are compiler selection/grounding errors rather than interpreter or decoder plumbing errors.
    • Read: operation selection at 128 ops is not the immediate blocker for linear pipelines; nested/control-flow structure is trainable with shallow examples; wording-robust nested grounding remains the next bottleneck.

Figures 7

decoder divergence
decoder divergence · analysis/figures/
execution by depth
execution by depth · analysis/figures/
failure taxonomy
failure taxonomy · analysis/figures/
nested by branches
nested by branches · analysis/figures/
template shift by depth
template shift by depth · analysis/figures/
training curves
training curves · analysis/figures/
validity vs execution
validity vs execution · analysis/figures/

Data files 5

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

Reproduce

This entry is source code or analysis only — there is no separate run to reproduce.

Browse the experiment folder on GitHub ↗