iter it.3 BLOCKED: surfaced fundamental milestone-design fork (bounce-back)

it.3 Task 1 (non-destructive oracle + spec-delegated class-(b)
sweep) ran complete; zero production code changed. The mandated
sweep surfaced that 6 corpus fixtures contain
build(d:Int)=if d==0 then Leaf else Node(1,build(d-1),build(d-1)) —
a terminating, maximally-LLM-natural, non-structural non-tail
BRANCHING recursion the milestone's totality dichotomy makes
inexpressible (not ADT-structural; not recur-able — branching is
not a single tail back-edge). The milestone as-specified would
fail its own feature-acceptance criterion. Orchestrator correctly
bounced rather than patch a 4th time (spec_over_plan_patches).
Records the blocked attempt + the reusable bench/it3-oracle/
(40-fixture behavioural oracle, valid for the post-decision
re-dispatch). main forward-only; nothing reverted. Resolution
(it.2b + a user purity-pillar decision) tracked in the roadmap.
This commit is contained in:
2026-05-15 16:06:42 +02:00
parent c992eb93df
commit 305ffd1367
44 changed files with 2346 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
stem class migration runnable rec_fns note
bench_closure_chain a loop main run_loop:loop
bench_compute_collatz a loop main collatz_steps:loop,sum_steps_loop:loop
bench_compute_intsum a loop main intsum_loop:loop
bench_hof_pipeline a plaincall main build_n:structural,fold_with_fn:structural
bench_latency_explicit a BLOCKED main build_tree:BLOCKED,cons_n_acc:structural,sum_list_acc:structural,loop:structural BLOCKED:build_tree
bench_latency_implicit a BLOCKED main build_tree:BLOCKED,sum_tree:structural,cons_n_acc:structural,sum_list_acc:structural,loop:structural BLOCKED:build_tree
bench_list_sum a plaincall main cons_n_acc:structural,sum_acc:structural
bench_list_sum_explicit a plaincall main cons_n_acc:structural,sum_acc:structural
bench_mono_dispatch a plaincall-or-loop ? (self-rec via loop/letrec only)
bench_tree_walk b BLOCKED main build_tree:BLOCKED,sum_tree:structural BLOCKED:build_tree
borrow_own_demo c already-structural main list_length:structural,sum_list:structural
ct_1_ordering_signum a plaincall main drain:structural
escape_local_demo b loop main count:loop
fieldtest/floats_1_newton_sqrt a loop main newton_iter:loop
fieldtest/floats_2_average_int_list a plaincall main sum_acc:structural,count_acc:structural
fieldtest/forma_1_factorial a loop main fact_acc:loop
gc_stress b loop+structural main build:loop,sum_list:structural
list c already-structural main sum_list:structural
list_map c already-structural main map_int:structural,print_list:structural
list_map_poly a plaincall main map:structural,print_list:structural
mut_counter a loop main sum_helper:loop
mut_sum_floats a loop main sum_helper:loop
pat_extract_partial_drop c already-structural main sum_list:structural
rc_drop_iterative_long_list a plaincall main cons_n_acc:structural
rc_let_alias_implicit_param a BLOCKED main build:BLOCKED,loop:structural BLOCKED:build
rc_let_owned_app_leak b BLOCKED main build:BLOCKED BLOCKED:build
rc_list_drop c already-structural main sum_list:structural
rc_pin_recurse_implicit a BLOCKED main build:BLOCKED,loop:structural BLOCKED:build
rc_tail_sum_explicit_leak a plaincall main cons_n_acc:structural,sum_acc:structural
reuse_as_demo c already-structural main map_inc:structural,sum_list:structural
sort a plaincall main insert:structural,sort:structural,print_list:structural
std_either_list c already-structural checkonly lefts:structural,rights:structural,partition_eithers:structural
std_list a plaincall checkonly fold_left:structural,fold_right:structural,append:structural,map:structural,filter:structural,take:structural,drop:structural
std_list_stress b loop main build:loop
struct_rec_foldl_sum c already-structural checkonly go:structural
struct_rec_list_len c already-structural checkonly len:structural
struct_rec_sum_e2e c already-structural main sum:structural
struct_rec_tree_forest c already-structural checkonly forest_size:structural
sum b loop main sum:loop
test_mono_recursive_fn_bug a loop main loop:loop
1 stem class migration runnable rec_fns note
2 bench_closure_chain a loop main run_loop:loop
3 bench_compute_collatz a loop main collatz_steps:loop,sum_steps_loop:loop
4 bench_compute_intsum a loop main intsum_loop:loop
5 bench_hof_pipeline a plaincall main build_n:structural,fold_with_fn:structural
6 bench_latency_explicit a BLOCKED main build_tree:BLOCKED,cons_n_acc:structural,sum_list_acc:structural,loop:structural BLOCKED:build_tree
7 bench_latency_implicit a BLOCKED main build_tree:BLOCKED,sum_tree:structural,cons_n_acc:structural,sum_list_acc:structural,loop:structural BLOCKED:build_tree
8 bench_list_sum a plaincall main cons_n_acc:structural,sum_acc:structural
9 bench_list_sum_explicit a plaincall main cons_n_acc:structural,sum_acc:structural
10 bench_mono_dispatch a plaincall-or-loop ? (self-rec via loop/letrec only)
11 bench_tree_walk b BLOCKED main build_tree:BLOCKED,sum_tree:structural BLOCKED:build_tree
12 borrow_own_demo c already-structural main list_length:structural,sum_list:structural
13 ct_1_ordering_signum a plaincall main drain:structural
14 escape_local_demo b loop main count:loop
15 fieldtest/floats_1_newton_sqrt a loop main newton_iter:loop
16 fieldtest/floats_2_average_int_list a plaincall main sum_acc:structural,count_acc:structural
17 fieldtest/forma_1_factorial a loop main fact_acc:loop
18 gc_stress b loop+structural main build:loop,sum_list:structural
19 list c already-structural main sum_list:structural
20 list_map c already-structural main map_int:structural,print_list:structural
21 list_map_poly a plaincall main map:structural,print_list:structural
22 mut_counter a loop main sum_helper:loop
23 mut_sum_floats a loop main sum_helper:loop
24 pat_extract_partial_drop c already-structural main sum_list:structural
25 rc_drop_iterative_long_list a plaincall main cons_n_acc:structural
26 rc_let_alias_implicit_param a BLOCKED main build:BLOCKED,loop:structural BLOCKED:build
27 rc_let_owned_app_leak b BLOCKED main build:BLOCKED BLOCKED:build
28 rc_list_drop c already-structural main sum_list:structural
29 rc_pin_recurse_implicit a BLOCKED main build:BLOCKED,loop:structural BLOCKED:build
30 rc_tail_sum_explicit_leak a plaincall main cons_n_acc:structural,sum_acc:structural
31 reuse_as_demo c already-structural main map_inc:structural,sum_list:structural
32 sort a plaincall main insert:structural,sort:structural,print_list:structural
33 std_either_list c already-structural checkonly lefts:structural,rights:structural,partition_eithers:structural
34 std_list a plaincall checkonly fold_left:structural,fold_right:structural,append:structural,map:structural,filter:structural,take:structural,drop:structural
35 std_list_stress b loop main build:loop
36 struct_rec_foldl_sum c already-structural checkonly go:structural
37 struct_rec_list_len c already-structural checkonly len:structural
38 struct_rec_sum_e2e c already-structural main sum:structural
39 struct_rec_tree_forest c already-structural checkonly forest_size:structural
40 sum b loop main sum:loop
41 test_mono_recursive_fn_bug a loop main loop:loop
+3
View File
@@ -0,0 +1,3 @@
49995000
4999950000
124999750000
@@ -0,0 +1,3 @@
849666
10753840
62134795
@@ -0,0 +1,3 @@
3500003500000
350000035000000
8750000175000000
+3
View File
@@ -0,0 +1,3 @@
5000050000
500000500000
4500001500000
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
4999950000
499999500000
4499998500000
@@ -0,0 +1,3 @@
4999950000
499999500000
4499998500000
+1
View File
@@ -0,0 +1 @@
-2551317978420243992
+3
View File
@@ -0,0 +1,3 @@
65535
262143
1048575
+2
View File
@@ -0,0 +1,2 @@
3
6
@@ -0,0 +1,5 @@
-1
0
1
-1
1
+4
View File
@@ -0,0 +1,4 @@
42
42
5
0
@@ -0,0 +1 @@
1.41421
@@ -0,0 +1 @@
3.2
@@ -0,0 +1,2 @@
120
3628800
+1
View File
@@ -0,0 +1 @@
1275
+1
View File
@@ -0,0 +1 @@
42
+3
View File
@@ -0,0 +1,3 @@
2
4
6
+3
View File
@@ -0,0 +1,3 @@
2
3
4
+1
View File
@@ -0,0 +1 @@
55
+1
View File
@@ -0,0 +1 @@
55
@@ -0,0 +1 @@
6
@@ -0,0 +1 @@
1
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
1
+1
View File
@@ -0,0 +1 @@
15
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
4950
+1
View File
@@ -0,0 +1 @@
9
+11
View File
@@ -0,0 +1,11 @@
1
1
2
3
3
4
5
5
5
6
9
+1
View File
@@ -0,0 +1 @@
ok (53 symbols across 6 modules)
+1
View File
@@ -0,0 +1 @@
ok (38 symbols across 3 modules)
+2
View File
@@ -0,0 +1,2 @@
500500
500500
@@ -0,0 +1 @@
ok (22 symbols across 2 modules)
+1
View File
@@ -0,0 +1 @@
ok (22 symbols across 2 modules)
+1
View File
@@ -0,0 +1 @@
15
@@ -0,0 +1 @@
ok (24 symbols across 2 modules)
+1
View File
@@ -0,0 +1 @@
55
@@ -0,0 +1 @@
15
@@ -0,0 +1,37 @@
{
"iter_id": "it.3",
"date": "2026-05-15",
"mode": "standard",
"outcome": "BLOCKED",
"tasks_total": 7,
"tasks_completed": 1,
"reloops_per_task": { "1": 0 },
"review_loops_spec": 0,
"review_loops_quality": 0,
"blocked_reason": "spec-ambiguous",
"blocked_detail": {
"task": 1,
"boundary": "Task-1.3 spec-delegated sweep -> Task-2 migration",
"signal": "6 corpus fixtures contain a recursive fn that is neither structural recursion (no ADT param) nor expressible as (loop)/recur (double non-tail recursion building a binary Tree on an Int depth counter); fires NonStructuralRecursion once Task 4 removes the no-ADT-candidate skip; DD-3 forbids softening Task 4 or restoring the exemption; carrier forbids reshaping the LLM-natural fixture",
"fixtures": [
"examples/bench_tree_walk.ail::build_tree",
"examples/bench_latency_explicit.ail::build_tree",
"examples/bench_latency_implicit.ail::build_tree",
"examples/rc_let_owned_app_leak.ail::build",
"examples/rc_pin_recurse_implicit.ail::build",
"examples/rc_let_alias_implicit_param.ail::build"
]
},
"task1_enumeration": {
"fixtures_classified": 40,
"oracles_captured": 40,
"class_a_tail_app_files": 23,
"no_adt_loop_migratable_fns": 13,
"no_adt_blocked_tree_recursion_fns": 6,
"structural_no_migration_fixtures": 22
},
"rc_rss_gate_reached": false,
"task_5b_needed": null,
"production_code_modified": false,
"working_tree_artifacts": ["bench/it3-oracle/MANIFEST.tsv", "bench/it3-oracle/*.out (40)"]
}