Skip to content

fix: preserve target-typed UDT lifecycle semantics#93

Merged
luisleo526 merged 8 commits into
mainfrom
codex/target-typed-udt-na-lifecycle
Jul 20, 2026
Merged

fix: preserve target-typed UDT lifecycle semantics#93
luisleo526 merged 8 commits into
mainfrom
codex/target-typed-udt-na-lifecycle

Conversation

@luisleo526

@luisleo526 luisleo526 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • target bare na to the exact authored UDT across declarations, assignments, selections, function/method returns, and persistent callable clones
  • resolve globals, sibling members, loop binders, method receivers, and lvalue aliases by lexical identity instead of a raw-name UDT union
  • preserve primitive, collection, and drawing bindings when same-spelled UDTs exist elsewhere

Validation

  • full pytest suite: 2,154 tests collected, exit 0 with native compile checks enabled
  • Pyodide differential gate: 277/277 fixtures (263 success fixtures, 14 expected rejections)
  • frozen exact-915 inventory: 903 OK / 12 expected errors, zero status drift
  • all 4 generated-output deltas compile and replay with byte-identical native trade tapes versus merged main
  • private exhaustive 2^2 interaction matrix: 4/4 cells green; all-on 19/19 semantic probes green; production tree exactly matches 858562d
  • independent final review: GO after same-name receiver and collection-element adversarial probes

This is a correctness milestone. The affected graded tapes are identical, so it intentionally does not claim a tier-score increase.

@luisleo526
luisleo526 merged commit 22a07af into main Jul 20, 2026
9 checks passed
@luisleo526
luisleo526 deleted the codex/target-typed-udt-na-lifecycle branch July 20, 2026 16:37
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