Skip to content

refactor(dispatch): totalize guard splice/halt analysis (lane 2.2 unblock) - #2271

Merged
Th0rgal merged 1 commit into
mainfrom
refactor/2087-totalize-guard-splice
Aug 12, 2026
Merged

refactor(dispatch): totalize guard splice/halt analysis (lane 2.2 unblock)#2271
Th0rgal merged 1 commit into
mainfrom
refactor/2087-totalize-guard-splice

Conversation

@Th0rgal

@Th0rgal Th0rgal commented Aug 12, 2026

Copy link
Copy Markdown
Member

Replaces the partial def mutual blocks yulFrameHalts/yulFrameHaltsList and spliceLockRelease/spliceLockReleaseList with structurally recursive total definitions (explicit case/default helpers; behavior unchanged). partial defs have no equation lemmas, which made any theorem about applyLockReleaseOnExits unstatable — this was the identified blocker for threading the guard-prologue IR lemmas (#2262) through attachNonReentrantGuard toward lifting noNonReentrant.

Validation: full lake build (2469 jobs) OK, make check all passed — compiler behavior identical (feature tests over applyLockReleaseOnExits shapes pass unchanged).


Note

Low Risk
Proof-enabling refactor with identical runtime behavior; no logic or security-path changes beyond replacing partial defs with total structural recursion.

Overview
Makes the nonreentrant lock-release helpers total so theorems about applyLockReleaseOnExits can be stated (unblocking guard-prologue IR lemmas toward noNonReentrant).

Replaces partial def mutual blocks for yulFrameHalts/yulFrameHaltsList and spliceLockRelease/spliceLockReleaseList with structurally recursive defs, adding explicit yulFrameHaltsCases, spliceLockReleaseCases, and spliceLockReleaseDflt helpers in place of .all/.map. Compiler behavior is unchanged.

Reviewed by Cursor Bugbot for commit 5dfd35d. Bugbot is set up for automated code reviews on this repo. Configure here.

…e 2.2 unblock)

Replace the partial-def mutual blocks with structurally recursive total
definitions (explicit case/default helpers replace the closure-based
List.all/map recursion; behavior unchanged: Cases ≡ all, Dflt ≡ map).
partial defs have no equation lemmas, which blocked stating any theorem
about applyLockReleaseOnExits — the prerequisite for threading the
guard-prologue IR lemmas (#2262) through attachNonReentrantGuard and
lifting the noNonReentrant supported-fragment obligations.
@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
verity Ready Ready Preview Aug 12, 2026 1:55pm

Request Review

@Th0rgal
Th0rgal merged commit 522a715 into main Aug 12, 2026
1 of 2 checks passed
@cursor

cursor Bot commented Aug 12, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_a550a889-4845-41c1-ae3d-2598c8c92d6e)

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OpenCodeReview first-pass review

OCR did not run — this diff has no OCR-supported files. Not a review outcome.

No changed files matched OCR include rules.

OCR pilot metrics & packet coverage

OCR pilot metrics

  • Routing: no-supported (router-v10)
  • Changed files: 0 supported / 0 total; Lean 0, trust docs 0, workflow/scripts 0, contracts 0, docs 0
  • Changed lines: 0 supported; thresholds large Lean >=3 files or >800 lines
  • OCR: status no-supported; comments 0; files 0; tokens 0; tool calls 0; warnings 0; duration 0s

Pilot mode: advisory only. Codex Review remains the merge gate.

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