Skip to content

PR-A0: manual witness API repin (post-#6520 structural termination) - #6529

Merged
briansrls merged 2 commits into
mainfrom
session/silent-lynx-25-pr-a-body-lowering-witness-api
Jul 13, 2026
Merged

briansrls merged 2 commits into
mainfrom
session/silent-lynx-25-pr-a-body-lowering-witness-api

Conversation

@briansrls

@briansrls briansrls commented Jul 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

PR-A for Wave 1 criterion 1 (general body producer), building on merged anchor #6526 and implementation #6520.

#6520 removed descent fuel (remaining / body_lowering_descent) from body_lowering_fold — termination is now structural via the normalize child-fold. The manual body-lowering witnesses (body_lowering_normalize_add, body_lowering_match, body_lowering_projection_call) still called the pre-#6520 Outcome+remaining signatures and failed to resolve.

This PR re-pins those witnesses to the current API (Optional for unwrap/domain/infix helpers; Outcome without remaining for arrow/match/postfix paths) and updates the match-arm navigation RED control note for structural termination.

Not in scope (later PR-B→E): FLAG E row-fold, resolve param-scaffold dissolution, Stage B/C/D.

Test plan

  • claim_batch --entry src/v2/test/claim/manual/body_lowering_normalize_add.dag --function body_lowering_normalize_yields_arrow — PASS
  • claim_batch --entry src/v2/test/claim/manual/body_lowering_match.dag --function body_lowering_match_lowers_to_match --function body_lowering_match_unnavigable_arm_refuses --function body_lowering_normalized_module_has_match — PASS
  • claim_batch --entry src/v2/test/claim/manual/body_lowering_projection_call.dag --function body_lowering_projection_lowers_to_transform — PASS
  • claim_batch --entry src/v2/test/claim/body_lowering_wrapper_retained_test.dag --function body_lowering_wrapper_retained_diagnostics_holds — PASS
  • claim_batch --entry src/v2/test/claim/body_lowering_well_formed_wall_test.dag — both fns PASS
  • claim_batch --entry src/v2/test/claim/self_host/wave1_gate1_general_body_producer_witness_test.dag --function wave1_gate1_body_producer_modules_import_resolve_holds — PASS (no regression on test(self-host): Wave 1 gate 1 general body producer verification witnesses #6526 anchor)

Brian Searls and others added 2 commits July 13, 2026 07:26
… API

#6520 removed descent fuel/remaining from body_lowering_fold helpers; the
manual add/match/projection witnesses still called the old Outcome+remaining
signatures and failed to resolve. Re-pin to Optional/Outcome shapes and
update the match-arm RED control note for structural termination.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot gunbai-bot Bot changed the title Wave 1 criterion 1 — general body producer PR-A→E (resume; zesty-ant-92 auto-archived after merging anchor #6526 before cutting PR-A) fix(body-lowering): align manual witnesses with post-#6520 structural API (PR-A) Jul 13, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 13, 2026 07:31
@gunbai-bot

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Verified the composer-2.5 approval against current HEAD (ff287cdb):

  • No stale remaining: or node_subtree_count imports/calls remain in the three witness files (grep clean).
  • Call sites match post-body lowering dissolution #6520 signatures: body_lower_unwrap_captured / body_lower_try_infix_transform → Optional; body_lower_wire_match_arm_capture / body_lower_fn_decl_to_arrow → Outcome without fuel args.
  • Unnavigable-arm RED control correctly pins ^body_lowering_reason_match_arm_navigation_refused under structural termination.

No fix commit warranted — mechanical alignment only, scope matches PR-A intent.

— sent from silent-lynx-25

@gunbai-bot

gunbai-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Verified the claude-opus-4-7 approval against HEAD (ff287cdb):

  • Each callsite in the three witness files matches the current body_lowering_fold signatures (body_lower_unwrap_captured / _try_infix_transform → Optional; _wire_match_arm_capture / _fn_decl_to_arrow → Outcome without remaining).
  • unnavigable_arm_budget_note correctly documents structural termination (no fuel budget) and the RED control still pins ^body_lowering_reason_match_arm_navigation_refused.

No fix commit warranted — tests-only mechanical alignment, already covered by prior verification comment.

— sent from silent-lynx-25

@gunbai-bot gunbai-bot Bot changed the title fix(body-lowering): align manual witnesses with post-#6520 structural API (PR-A) PR-A0: manual witness API repin (post-#6520 structural termination) Jul 13, 2026
@briansrls
briansrls merged commit 5d1db91 into main Jul 13, 2026
4 of 6 checks passed
@briansrls
briansrls deleted the session/silent-lynx-25-pr-a-body-lowering-witness-api branch July 13, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant