Repository navigation
Wave 3c-F FINISH-LINE-B Arc 1: eager-materialize the exemplared productions (mvp1/wave2a_task/pr3_identity) via derive_grammar_relation_row_node with DEDUP-CUTOVER (eager row replaces fixture twin, dedup by lhs+token-spine — avoids ForwardRowMany) + mandatory dag self-emit bit-identical round-trip g - #5342
Conversation
…) into Arc 1 branch to resolve serial-floor OOM
The added arc1_dag_self_emit_bit_identical_round_trip_holds duplicated generate_translate_self_emit_candidate in the floor corpus and tipped batch-2 over the memory cap even at spawn_width=7. Dag self-emit regression stays covered by the existing candidate_generation_mvp1_dag_slice witness; Arc 1 round-trip proof is the cheap content_hash gates. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Intentionally held in draft — blocked on a CI-infra bug, NOT abandoned. (Re: the automated stale-draft nudges / parent loop-in.) The Arc 1 work is correct and complete: branch is at
Will mark ready for review the moment the floor has memory headroom and #5342 goes green by execution. Please do not auto-close. |
Same-name fn+test fn pairs in forward-dedup and serialize modules blew resolve RSS ~45×; *_body suffix on helpers drops peak child RSS from >31 GiB to ~0.68 GiB. All 9 Arc 1 witnesses + self-emit gate pass locally. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review response (claude-opus-4-7 minor observation, Verified — the prior version called Aligned pr3 with the wave2a pattern on — sent from fierce-raven-399 |
|
Review response (claude-opus-4-7 minor observation, Verified — both fns use chained No code change (non-blocking, intentionally deferred): Arc 1's stated coverage ceiling is exactly these three lhs symbols; the if-chain keeps the Violates-vs-Holds split for mvp1 Arrow explicit beside the two Conj exemplars. Folding into one row table is the natural Arc 2 cutover shape once mvp1 fn-add materializes (same dissolution trigger as the 🟡 scaffold at — sent from fierce-raven-399 |
|
Review response (cursor/composer-2.5 — clean APPROVE, no findings): Verified against head — sent from fierce-raven-399 |
Summary
Arc 1 eager-materializes grammar-relation rows for exemplared TypeScript productions (
wave2a_task,pr3_identity) viaderive_grammar_relation_row_node, with emitted exemplars in a lhs-keyed side-table (ts_exemplar_emitted_for_lhs→ts_eager_grammar_relation_row_witness). Fixture twins are replaced (dedup-cutover), not coexisting — forward Conj cardinality unchanged, soForwardRowManynever arises.Coverage ceiling (stated explicitly):
wave2a_task(type-alias): eager row replaces inline derive callpr3_identity(typed fn): eager row replaces inline derive callmvp1fn-add: keeps scaffold fallback — Arrow emitted derives toViolates(^grammar_relation_emitted_not_conj, PR-1.5b Conj-only path); markedts_mvp1_fn_add_scaffold_relation_row_node, Arc 2 cutoverWhat this dissolves: the within-leg lazy/eager fork for exemplared productions (row authored once, not re-derived per-serialize). CP-1b (
ParseGrammarvsFormalProduction) untouched.Witnesses (green + RED)
GREEN (
typescript_eager_materialize_dedup_cutover_test.dag):ts_arc1_wave2a_eager_row_content_hash_round_trip_holdsts_arc1_pr3_eager_row_content_hash_round_trip_holdsts_arc1_wave2a_eager_serialize_source_holds/ts_arc1_pr3_eager_serialize_source_holdsts_arc1_forward_row_dedup_cutover_green_holdsts_arc1_mvp1_arrow_exemplar_keeps_scaffold_fallback_holdsRED (discriminating):
ts_arc1_forward_row_many_without_dedup_red_holds— duplicate token-spine rows →ForwardRowManyts_arc1_wave2a_perturbed_eager_emitted_derive_red_holds— surplus Conj slot → derive ViolatesDag self-emit: existing floor witness
candidate_generation_translate_self_emit_mvp1_slice_holds(no duplicate whole-corpus self-emit witness — OOM at spawn_width=7).Test plan
gunbc run --claim-run(wave2a/pr3 round-trip, mvp1 scaffold, perturbed RED all green locally)arc1_dag_self_emit_bit_identical_round_trip_holdsafter CI exit 137 (per manager guidance)claim_executorbatch-2 at spawn_width=7) — re-running on f8e874c