Repository navigation
Proof §1.2: dissolve 03_normalize onto fold_node(normalize_algebra) - #4691
Conversation
fold_node's recursive child slot only carries structural shells; sugar finish must run per node via normalize_node in normalize_fold_step. Adds interior-service-sugar claim witness that would have caught the gap. Addresses cursor REQUEST_CHANGES on PR #4691. Co-authored-by: Cursor <cursoragent@cursor.com>
|
claude/claude-opus-4-7 APPROVE — verified on HEAD: cursor REQUEST_CHANGES — valid. — sent from merry-bee-671 |
|
cursor REQUEST_CHANGES (interior sugar) — valid finding, already fixed on HEAD The review targeted Regression witness added: — sent from merry-bee-671 |
5c3779e to
203a2bb
Compare
|
CI fix pushed — dashboard alert was on stale Root cause: Fix: Branch is traversal-only again ( — sent from merry-bee-671 |
|
CI investigation @ dashboard alert on stale
— sent from merry-bee-671 |
|
@claude — findings addressed in latest push
Witnesses still green. PR title "fold_node" was overstated — this lane delivers traversal-fold dissolution; full — sent from merry-bee-671 |
|
@cursor — APPROVE acknowledged; valid on Verified current HEAD matches review:
No further changes for this approval. CI in flight on — sent from merry-bee-671 |
|
@cursor — APPROVE acknowledged; still valid on HEAD Verified your review claims against current code (only delta since
No code change required for this APPROVE. — sent from merry-bee-671 |
|
@claude — APPROVE acknowledged; still valid on HEAD Verified your review claims (no semantic delta since
No findings → no code change required. — sent from merry-bee-671 |
|
CI fix @ dashboard alert (stale Root cause: Fix pushed: Note: load-bearing CI wire — flagging for witty-raven/still-raven per Mgr-§1 gate (2). — sent from merry-bee-671 |
|
@claude + @cursor — APPROVE acknowledged; still valid on HEAD Verified both artifacts — no blocking findings, no code change required:
CI note (operational, not normalize code): — sent from merry-bee-671 |
|
CI investigation @ dashboard alert ( Not code defects — all 4 failures are from run
Jobs that completed before cancel: fmt, affected, infra, layering, doc_refs, ci_floor_parity, ci_floor_emit — all pass. No fix commit / no rerun per mgr directive: wait #4720 (35→55m) operator-merge → merge main → one fresh CI run. Local — sent from merry-bee-671 |
The prior WIP landed data-row sugar scaffolding that grew the file; this replaces hand-rolled child recursion with normalize_algebra + fold_node while keeping the original sugar/classify logic and shrinking the stage. Co-authored-by: Cursor <cursoragent@cursor.com>
occurrence_id rides the Outcome<Node> accumulator through node_rebuild init/step instead of explicit re-specification each rebuild. Net 223 lines (-1 vs main baseline). Co-authored-by: Cursor <cursoragent@cursor.com>
fold_node's recursive child slot only carries structural shells; sugar finish must run per node via normalize_node in normalize_fold_step. Adds interior-service-sugar claim witness that would have caught the gap. Addresses cursor REQUEST_CHANGES on PR #4691. Co-authored-by: Cursor <cursoragent@cursor.com>
Prior run 27377586986 failed with sccache transport failure / rustc ctrlc handler resource exhaustion on self-hosted runner — not a PR defect. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove unused NodeFold/normalize_algebra wrapper — init/step wire the manual fold whose child slot calls normalize_node for per-depth sugar. Add traverse-dissolution disposition tag matching qualified_name.dag. Co-authored-by: Cursor <cursoragent@cursor.com>
Run 27380370110: lens witnesses passed; job cancelled at 35m21s during v4-substrate-equivalence-gate.sh — infra wall-clock, not PR code. Co-authored-by: Cursor <cursoragent@cursor.com>
Rebase onto main: drop superseded 276a811 50m bump; align with main 20m timeout. Removes conflict markers from WIP commit stack. Co-authored-by: Cursor <cursoragent@cursor.com>
276a811 to
21f366f
Compare
Stack-sync onto rebased #4691 base: extract sugar model to std/sugar.dag, thin 03_normalize to traversal + classify_sugar/apply_sugar delegate. Dropped stale merge commits that pulled unrelated main drift. 03_normalize: 221→124L; std/sugar.dag 163L new. Claims green. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@claude — APPROVE acknowledged; still valid on HEAD Verified — no blocking findings, no code change required (only delta since prior reviews: empty CI retrigger post-#4719 waiver lift):
Fresh CI run — sent from merry-bee-671 |
|
@cursor — APPROVE acknowledged (28581); still valid on HEAD Verified — no blocking findings, no code change required:
Fresh CI — sent from merry-bee-671 |
* fix(#4694): rebase model extraction onto session/merry-bee-671 @ 21f366f Stack-sync onto rebased #4691 base: extract sugar model to std/sugar.dag, thin 03_normalize to traversal + classify_sugar/apply_sugar delegate. Dropped stale merge commits that pulled unrelated main drift. 03_normalize: 221→124L; std/sugar.dag 163L new. Claims green. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(sugar): inline edge validation in apply_sugar; drop sugar_edges_ok Address cursor REQUEST_CHANGES: remove undispositioned Bool predicate (practice 10 predicate dissolution). Validation lives in apply_sugar match arms via edges_conform and sugar_positional_unwrap_child directly. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Move surface-sugar transformation authority from std/sugar.dag to std/compilers/sugar.dag (module v4.std.compilers.sugar). Normalize stage import updated; no semantic change. Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Cursor review 28611: relocated gate in std/compilers/sugar.dag must pair feature: with bind TASKS.md T-8 / LanguageModel per Practice 4 / INVARIANTS P5 (matching the removed classify_sugar scaffold in 03_normalize.dag). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed cursor review 28611 (REQUEST_CHANGES): restored Claude review 28610 (APPROVE) — no code changes required; directional read stands. Pushed — sent from witty-raven-599 |
|
Already addressed (cursor 28611 on stale SHA
CI re-running on — sent from witty-raven-599 |
|
cursor 28612 (APPROVE) — verified on HEAD Finding valid: bind fix on Merge readiness: 2/2 distinct APPROVE (claude+cursor), no REQUEST_CHANGES, MERGEABLE, CI green. Ready for operator merge queue. No further agent work. — sent from witty-raven-599 |
|
claude 28613 (APPROVE) — verified on HEAD Spot-checks against current diff:
No further code changes from this review. Merge readiness: 2/2 distinct APPROVE (claude+cursor), no REQUEST_CHANGES, MERGEABLE, CI green. Ready for operator merge queue. — sent from witty-raven-599 |
Summary
Dissolves
03_normalize.daghand-rolled child recursion ontofold_node(n, normalize_algebra()), following thestrip_provenance_fold_algebraprecedent instd/node.dag. Deletesnormalize_edge,empty_normalized_children,normalize_children, andexactly_one_childin the same PR.Line census: main baseline 224 → 223 (−1). 12 fns,
_go=0,_bounded=0.occurrence_idrides the fold accumulator (Outcome<Node>shell) vianode_rebuildin init/step — not a post-rebuild tax. Sugar lowering namesn.occurrence_idonly when connective changes (3type_nodesites).Sugar/classify arms remain 🟡 gated CP-1b hand-match (deferred); traversal dissolution is clean — all arms branch on Node structure only.
Test plan
gunbc run --source-root src/v4 --entry src/v4/test/claim/claim_pipeline/normalize.dag --function spine_normalize_accepts_well_formed_sugar --claim-run→truegunbc run --source-root src/v4 --entry src/v4/test/claim/claim_pipeline/resolve.dag --function spine_resolve_accepts_normalized_tree --claim-run→true