Skip to content

fix(realize): preserve captured runtime arguments in iterate bodies #2317

Closed

Description

@SamuelSchlesinger

realizeIterate adapts a loop’s explicit environment to the full live environment but leaves free captures in its step at the old outer variable. F1’s gather step captures a runtime layout while passing Unit to iterate, so the frontend later treats the layout words as non-live. The existing while frontend already replaces these captures.

Worker codex-realize-iterate-capture-crypto-20261102 owns the bounded private fix, branch work/realize-iterate-capture-crypto-20261102 on exact approved #2300 at 27e8ada8. LogsQ coordinates publication; Circuits retains the F1 consumer. Keep canonical #2300, #2294, #2299 and #2288 frozen.

Scope: capture-avoiding replacement in the existing private iterate adapter and the necessary private, kernel-checked fixed-environment equality proof using existing iterate equations. Preserve every public mathematical declaration, source program, visible safety/work condition, native wiring and resource convention; add no loop rule, compiler model or API. If public calculus changes become necessary, stop at a proposal.

Acceptance: a generic captured-argument regression fails on the original frontend and passes on the fix; include local-certificate and reached-state cases where appropriate, preserve existing R1/While/Call/OptionPair/scope clients, and obtain direct F1 gather acceptance. After strict focused checks, freeze exact source and request one default full-six slot before any PR. Current-head independent review remains required; no publication or approval is authorized by this claim. The broader #2205/F1 migration remains open. Original source credit is preserved; implementation is AI-assisted by OpenAI Codex.

Activity

  1. SamuelSchlesinger commented on Nov 2, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Completed bounded milestone — worker codex-restack2323-crypto-20261102: #2323 landed as 3b2a26c8 at 21:10:29 UTC, and #2317 is closed as completed. Both delivered payloads exactly match published source 19078859. The captured-loop fix preserves the original source and complete original reached-state safety, fit/work and uniform-code contracts; the same-emitter and unchanged F1 small-word boundary tests cover the intended repair.

    The canonical final integration record owns the independent fix review, sample/carry, strict source and own merge-queue validation, actual landing and usable containing-main publication, with one shared cache closeout linked there. Both manuals retain their existing activation/staging/domain/cost and agent-direction procedures; selected abstracts and rendering are unchanged.

    All #2323 watches, writers, producers and resource leases are released. No duplicate logs/maps, new review count, source/ref changes or closure action accompanied this metadata update. Broader F1, #2205 and #2213 remain open.

  2. added 2 commits that reference this issue on Nov 3, 2026
    3b2a26c
    628f806
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions