Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
b11d3ae
WIP: Wave 1 Exit
briansrls Jul 11, 2026
a4524c9
WIP: Wave 1 Exit
briansrls Jul 11, 2026
f7e7807
WIP: Wave 1 Exit
briansrls Jul 11, 2026
c430dca
WIP: Wave 1 Exit
briansrls Jul 11, 2026
304b69a
WIP: Wave 1 Exit
briansrls Jul 11, 2026
0fd32cf
WIP: Wave 1 Exit
briansrls Jul 11, 2026
677f96c
WIP: Wave 1 Exit
briansrls Jul 11, 2026
68db711
WIP: Wave 1 Exit
briansrls Jul 11, 2026
1d97700
WIP: Wave 1 Exit
briansrls Jul 11, 2026
b09c8ca
Slice 1.5 WIP: match lowering scrutinee path green via postfix pass-t…
briansrls Jul 11, 2026
9dee2a8
WIP: Wave 1 Exit
briansrls Jul 11, 2026
67bc1fe
Merge remote-tracking branch 'origin/main' into session/eager-heron-120
briansrls Jul 11, 2026
011f68a
WIP: Wave 1 Exit
briansrls Jul 12, 2026
a982216
WIP: Wave 1 Exit
briansrls Jul 12, 2026
fda05f7
WIP: Wave 1 Exit
briansrls Jul 12, 2026
51dfed2
WIP: Wave 1 Exit
briansrls Jul 12, 2026
aa8d3e4
WIP: Wave 1 Exit
briansrls Jul 12, 2026
5212602
WIP: Wave 1 Exit
briansrls Jul 12, 2026
fbce3c2
WIP: Wave 1 Exit
briansrls Jul 12, 2026
e4f695f
WIP: Wave 1 Exit
briansrls Jul 12, 2026
2d106d8
WIP: Wave 1 Exit
briansrls Jul 12, 2026
afba53a
WIP: Wave 1 Exit
briansrls Jul 12, 2026
16d6d81
WIP: Wave 1 Exit
briansrls Jul 12, 2026
6206919
WIP: Wave 1 Exit
briansrls Jul 12, 2026
047c85e
WIP: Wave 1 Exit
briansrls Jul 12, 2026
05e2941
WIP: Wave 1 Exit
briansrls Jul 12, 2026
37bd019
WIP: Wave 1 Exit
briansrls Jul 12, 2026
2bfc3cc
Merge remote-tracking branch 'origin/main' into session/eager-heron-120
briansrls Jul 12, 2026
da3ba12
WIP: Wave 1 Exit
briansrls Jul 12, 2026
566039d
WIP: Wave 1 Exit
briansrls Jul 12, 2026
524ba2a
WIP: Wave 1 Exit
briansrls Jul 12, 2026
6b5cd37
WIP: Wave 1 Exit
briansrls Jul 12, 2026
ee5bc00
WIP: Wave 1 Exit
briansrls Jul 12, 2026
fa4509d
WIP: Wave 1 Exit
briansrls Jul 12, 2026
69c004c
WIP: Wave 1 Exit
briansrls Jul 12, 2026
26e20e3
WIP: Wave 1 Exit
briansrls Jul 12, 2026
a8c74be
WIP: Wave 1 Exit
briansrls Jul 12, 2026
27b379a
WIP: Wave 1 Exit
briansrls Jul 12, 2026
e5c3835
WIP: Wave 1 Exit
briansrls Jul 12, 2026
8b3edbd
WIP: Wave 1 Exit
briansrls Jul 12, 2026
3f05ce5
WIP: Wave 1 Exit
briansrls Jul 12, 2026
0e46206
WIP: Wave 1 Exit
briansrls Jul 12, 2026
ca3b2e5
WIP: Wave 1 Exit
briansrls Jul 12, 2026
9cd4075
Wave 1 slice 1.5: add durable match-lowering witness roster.
briansrls Jul 12, 2026
f4a28d1
WIP: Wave 1 Exit
briansrls Jul 12, 2026
71b2224
WIP: Wave 1 Exit
briansrls Jul 12, 2026
428f438
WIP 1.6: ingested classical_not exit witness scaffold + pipeline probes.
briansrls Jul 12, 2026
fff5339
WIP: Wave 1 Exit
briansrls Jul 12, 2026
7cfe16b
Fix param-scrutinee domain type lookup Optional typing in infer.
briansrls Jul 12, 2026
5ab7b8e
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
c052b6f
Add durable infer RED controls for unresolved param-scrutinee domains.
briansrls Jul 12, 2026
245cab3
Merge origin/session/eager-heron-120: shared classical_not witness + …
Jul 12, 2026
88f25ef
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
1f554a3
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
41ef258
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
91dbab4
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
431a3d9
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
bf691ce
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
a2975e7
Fix ingested param scrutinee emit by resolving bare ident atoms in ar…
Jul 12, 2026
6966fb5
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
429b578
Address PR review: ground Int match arm types at construction; drop p…
Jul 12, 2026
a12ed95
Remove duplicate TargetModel import in emit_produced.dag.
Jul 12, 2026
a9b5b67
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
f20c924
WIP: classical_not emit-host target + FLAG E scaffold row; diagnose e…
Jul 12, 2026
e21f7ae
WIP: Generalized ingested match-fn emission (Rust target): make an in…
Jul 12, 2026
b491901
Fail-closed infer: refuse Int scrutinee on bool-literal match path.
Jul 12, 2026
83928db
Land PATH 1 1.6 exit on #6510: int-bool octet emit bridge + classical…
briansrls Jul 12, 2026
6dde695
WIP: Wave 1 Exit
briansrls Jul 12, 2026
e1a39e5
Remove stray body_lowering_match.dag from PR scope.
briansrls Jul 12, 2026
b8b9bea
WIP: Wave 1 Exit
briansrls Jul 12, 2026
4175410
WIP: Wave 1 Exit
briansrls Jul 12, 2026
2e856a5
Restore equals_eval exit witness path after accidental facts-removal.
briansrls Jul 12, 2026
40db0ed
WIP: Wave 1 Exit
briansrls Jul 12, 2026
35f212f
Regenerate ci.yml: floor step timeout 270m -> 60m.
briansrls Jul 12, 2026
08c9f67
WIP: Wave 1 Exit
briansrls Jul 12, 2026
0dc4de6
Regenerate ci.yml: restore floor step timeout 270m (fix drift with ci…
briansrls Jul 12, 2026
fd443ba
Merge branch 'main' into consolidate-wise-koi-6510
briansrls Jul 12, 2026
4c87e1b
Merge remote-tracking branch 'origin/main' into consolidate-wise-koi-…
briansrls Jul 12, 2026
13609a5
Merge branch 'consolidate-wise-koi-6510' of https://github.com/gunb-a…
briansrls Jul 12, 2026
937abe1
Link paired int↔bool scaffold notes across infer and emit halves.
briansrls Jul 12, 2026
804fc62
Use octet_one binding for bool-true arm instead of pick_lit_one nickn…
briansrls Jul 12, 2026
74cd6c8
WIP: Wave 1 Exit
briansrls Jul 12, 2026
a9ad329
Address @37347: mark infer heuristics and int-scrutinee widen with sc…
briansrls Jul 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dag/gunbc/ci_workflow.dag
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ data gunbc_ci_job_timeout_policy_minutes: Int = 90

data gunbc_ci_floor_step_timeout_minutes: Duration = 270

data gunbc_ci_floor_step_timeout_discovery_flip_note: String = "-> 270 at PR #6464 receipt run 29151777611 (2026-07-11): 180m step cap still timed out mid batch 2 — 1535 SKIP rows finished @ 12:35:43, then ~147m silent witness-execution phase until the 180m kill @ 15:03:12 with batch 2 never completing (~177m in-batch from 12:06:38; ~443 non-skipped rows in roster of 1978). Prior -> 180 at run 29148344466 (~116m in-batch, ~87m post-skip). Prior -> 120 at run 29145270700. Prior -> 90 at run 29141663541. Prior -> 90 at body_lowering normalize hook (#6459 receipt run 29148735992 @ 3a372b7: floor step timed out at 60m MID discovery corpus after ~320 SKIP lines — batch-1 compile-clean normalize reconcile ~263s with body_lowering_fold in the normalize import closure; discovery still resolves every unique entry file before skip, so resolve->normalize pulled the ~1.3k-line scaffold into most closure walks). Structural fix on the same lane: NormalizedTree moved to v2.compiler.normalized_tree so v2.compiler.resolve no longer imports normalize (dissolve-on: skip-before-resolve so skipped rows never pay entry resolve). Prior step budget -> 60 at the discovery flip (gunbc.ci_spec ci_spec_discovery_flip_note; authored as 30 -> 60 on #6403, main had meanwhile bumped 30 -> 45 with the #6422 enrollments): the corpus discovery batch adds a whole-tree resolve plus the always-run live-tree rows to the floor step. Discovery corpus spawn_width_cap stays pinned to 1 (ci_corpus_discovery_spawn_width_cap in v2.workflow.ci_floor_plan): at width W the executor holds the parent's process-shared index PLUS W private shard indexes ((1+W) x whole-tree residency; width=2 OOM receipt run 28999086030), while width=1 runs rows on the main thread against the ONE shared index (union-resolve S1). CORRECTED RECEIPT (2026-07-10): run 29000557166's floor did NOT complete - the executor was host-OOM-killed ~8min in, MID discovery corpus (the log's later ExitSuccess belongs to the merge-admission STAMP tool, which stamped CI_FLOOR_EXIT=137); no flipped corpus has completed in CI yet - the only completion receipt is local (33.5GiB container, ~40min at width 5). The kill vector is host-level oversubscription (see gunbc_falsifier_plan_spawn_width_note), not this width model. #6475 receipt run 29143617420 @ 0c0f73: batch-1 compile-clean ~4m green; batch-2 discovery killed at 90m step cap mid-manual (last skip rust_wire_serde @ 07:47:49; ~15GiB peak). #6475 receipt run 29146814967 @ 6a61fce: same stall at 120m (last skip rust_wire_serde @ 09:34:49; ~85m silent eval). #6475 receipt run 29150477894 @ 6cd5326: same stall at 180m (last skip rust_wire_serde @ 11:43:46; ~88m silent eval) — local gunbc run on s1_closure_parses_holds reads 3/40 closure paths in 10m before timeout, matching the silent-eval class (live filesystem_read per path, not a skip-logged row). #6475 receipt run 29161709373 @ 9d9852c: batch-1 compile-clean refused — gunbc_ci_floor_step_timeout_discovery_flip_note string literal terminated early at col 2043 (body_lowering suffix spliced after closing quote during rebase merge); restored single-line literal on rebase to main #6464 note. Revisit down when floor memoization / resolver graph-major shrink the resolve wall; the affected-set selection receipts (skip counts per PR) are the cost dial to watch."
data gunbc_ci_floor_step_timeout_discovery_flip_note: String = "-> 270 restored 2026-07-12 on #6512 after 60m fail-fast regressed merge CI (receipt run 29197126623 @ 35f212fa5d: 60m step kill with 0 witness FAILs — batch-1 compile-clean PASS @ 15:01, batch-2 skip walk ~26m to recompute_trace_probe_test, then ~34m silent eval until kill; same serial-floor-wall class as 29183446733). Prior -> 60 operator ruling 2026-07-12: lower floor step cap from 270m so CI fails fast while the serial floor wall is debugged separately (receipt run 29183446733 @ 2e856a5617: 270m kill with 0 witness FAILs, batch-2 still in discovery SKIP walk). Prior -> 270 at PR #6464 receipt run 29151777611 (2026-07-11): 180m step cap still timed out mid batch 2 — 1535 SKIP rows finished @ 12:35:43, then ~147m silent witness-execution phase until the 180m kill @ 15:03:12 with batch 2 never completing (~177m in-batch from 12:06:38; ~443 non-skipped rows in roster of 1978). Prior -> 180 at run 29148344466 (~116m in-batch, ~87m post-skip). Prior -> 120 at run 29145270700. Prior -> 90 at run 29141663541. Prior -> 90 at body_lowering normalize hook (#6459 receipt run 29148735992 @ 3a372b7: floor step timed out at 60m MID discovery corpus after ~320 SKIP lines — batch-1 compile-clean normalize reconcile ~263s with body_lowering_fold in the normalize import closure; discovery still resolves every unique entry file before skip, so resolve->normalize pulled the ~1.3k-line scaffold into most closure walks). Structural fix on the same lane: NormalizedTree moved to v2.compiler.normalized_tree so v2.compiler.resolve no longer imports normalize (dissolve-on: skip-before-resolve so skipped rows never pay entry resolve). Prior step budget -> 60 at the discovery flip (gunbc.ci_spec ci_spec_discovery_flip_note; authored as 30 -> 60 on #6403, main had meanwhile bumped 30 -> 45 with the #6422 enrollments): the corpus discovery batch adds a whole-tree resolve plus the always-run live-tree rows to the floor step. Discovery corpus spawn_width_cap stays pinned to 1 (ci_corpus_discovery_spawn_width_cap in v2.workflow.ci_floor_plan): at width W the executor holds the parent's process-shared index PLUS W private shard indexes ((1+W) x whole-tree residency; width=2 OOM receipt run 28999086030), while width=1 runs rows on the main thread against the ONE shared index (union-resolve S1). CORRECTED RECEIPT (2026-07-10): run 29000557166's floor did NOT complete - the executor was host-OOM-killed ~8min in, MID discovery corpus (the log's later ExitSuccess belongs to the merge-admission STAMP tool, which stamped CI_FLOOR_EXIT=137); no flipped corpus has completed in CI yet - the only completion receipt is local (33.5GiB container, ~40min at width 5). The kill vector is host-level oversubscription (see gunbc_falsifier_plan_spawn_width_note), not this width model. #6475 receipt run 29143617420 @ 0c0f73: batch-1 compile-clean ~4m green; batch-2 discovery killed at 90m step cap mid-manual (last skip rust_wire_serde @ 07:47:49; ~15GiB peak). #6475 receipt run 29146814967 @ 6a61fce: same stall at 120m (last skip rust_wire_serde @ 09:34:49; ~85m silent eval). #6475 receipt run 29150477894 @ 6cd5326: same stall at 180m (last skip rust_wire_serde @ 11:43:46; ~88m silent eval) — local gunbc run on s1_closure_parses_holds reads 3/40 closure paths in 10m before timeout, matching the silent-eval class (live filesystem_read per path, not a skip-logged row). #6475 receipt run 29161709373 @ 9d9852c: batch-1 compile-clean refused — gunbc_ci_floor_step_timeout_discovery_flip_note string literal terminated early at col 2043 (body_lowering suffix spliced after closing quote during rebase merge); restored single-line literal on rebase to main #6464 note. Revisit down when floor memoization / resolver graph-major shrink the resolve wall; the affected-set selection receipts (skip counts per PR) are the cost dial to watch."

data gunbc_ci_step_timeout_measure_grounding_disposition: Disposition = Scaffold {
dissolves_to: SingleAuthority,
Expand Down
21 changes: 20 additions & 1 deletion src/v2/compiler/03_normalize.dag
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ import v2.std.compilers.sugar {
apply_sugar,
sugar_rule_for_key
}
import v2.compiler.body_lowering_fold { body_lower_finish }
import v2.compiler.body_lowering_fold {
body_lower_finish,
body_lower_is_deferred_lower_emitted
}
import v2.compiler.normalized_tree { NormalizedTree }
import v2.extdeps.languages.dag {
parse_production_emitted_identity_optional
Expand Down Expand Up @@ -114,6 +117,22 @@ fn normalize_sugar_finish(n: Node, folded: Node, cd: Diagnostics) -> Outcome<Nod
}

fn normalize_node(n: Node) -> Outcome<Node> {
match parse_production_emitted_identity_optional(node: n) {
Present { value: emitted } =>
if body_lower_is_deferred_lower_emitted(emitted: emitted) {
match body_lower_finish(n: n, folded: n, cd: None) {
Rejected { diagnostics: r } => Rejected { diagnostics: r }
Accepted { value: after_body, diagnostics: cd0 } =>
normalize_sugar_finish(n: n, folded: after_body, cd: cd0)
}
} else {
normalize_node_fold_children(n: n)
}
Absent => normalize_node_fold_children(n: n)
}
}

fn normalize_node_fold_children(n: Node) -> Outcome<Node> {
match fold(n.children, init: normalize_fold_init(n: n), f: fn(acc, e) {
normalize_fold_step(acc: acc, edge: e, child: normalize_node(n: e.target))
}) {
Expand Down
Loading
Loading