Skip to content

Route abrupt completions through finally - #129

Open
MikeeI wants to merge 1 commit into
codellm-devkit:mainfrom
MikeeI:fix/issue-011
Open

MikeeI wants to merge 1 commit into
codellm-devkit:mainfrom
MikeeI:fix/issue-011

Conversation

@MikeeI

@MikeeI MikeeI commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Model abrupt control-flow completions until all enclosing finally blocks execute.
Preserve the original target unless the finally block replaces the completion.

Evidence

  • Current return lowering emits a direct EXIT edge inside protected try regions.
  • Finally routing processes only normal exits.

Changes

  • Carry return, throw, break, and continue completions through finally lowering.
  • Preserve catch ordering and JavaScript completion replacement semantics.

Risks and boundaries

  • Node identity and ordinary control flow remain unchanged.
  • Broader exception precision remains out of scope.

Verification

  • bun test test/dataflow.test.ts
  • bun test
  • bun run typecheck

I checked the relevant issues, comments, pull requests, and discussions; this pull request is not a duplicate.

Disclosure

Investigated thoroughly with GPT-5.6 at extra-high reasoning effort.
I used Oh My Pi as the agent framework.
This report is not generic or unreviewed AI-generated output.
Its claims were checked against the cited evidence.
It includes the relevant detail intended to help maintainers resolve the issue.
If reports like this are not useful to the project, please let me know.
I will refrain from submitting similar reports.
My intent is to help without wasting maintainer time or energy or discouraging their work.
Thank you for your work.

@rahlk rahlk self-assigned this Sep 2, 2026
@rahlk rahlk added the bug Something isn't working label Sep 15, 2026
@rahlk rahlk changed the title fix(cfg): route abrupt completions through finally Route abrupt completions through finally Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants