A180: Typed Frame Reuse
Runtime-framed typed invocations can release their capture frame at completion instead of retaining every frame until parsing ends.
Mechanism and Invariants
Typed values and capture arrays follow distinct ownership rules. Reuse affects completed scratch frames and preserves values reachable from the result, saved marks and actions. Go-local direct captures need no runtime frame. This typed boundary does not justify returning ordinary Node frames early.
Scope and State
Default generated typed Go runtime. Core and Node frame policies differ; TypeScript has no Go typed-frame pool.
Reference Control
No frame-reuse-only same-source comparator is maintained.
Evidence and Implementation
Record 048 reports typed memory reduction after returning frames, with timing within noise. The same experiment in ordinary engine capture frames measured slower and was not adopted. Typed allocation or direct-body comparisons remove more work and cannot isolate frame release.
Evidence records: 048.
Source owners: typed frame allocation and TParser.FreeFrame, direct local captures.
The comparison policy distinguishes same-source controls, historical changes and full checkpoints.