Skip to content

Support nullable matrix IDs#127

Merged
luisleo526 merged 1 commit into
mainfrom
codex/matrix-na-runtime-20260721
Jul 21, 2026
Merged

Support nullable matrix IDs#127
luisleo526 merged 1 commit into
mainfrom
codex/matrix-na-runtime-20260721

Conversation

@luisleo526

Copy link
Copy Markdown
Collaborator

What changed

  • add a nullable validity state to float, generic, and bool matrix IDs
  • distinguish a null matrix ID from a valid empty matrix
  • make matrix operations fail deterministically on a null receiver or operand before shape/index checks
  • preserve valid-empty behavior for existing mathematical failure results
  • add focused runtime coverage for null, empty, copy/move, result construction, and operation guards

Why

Pine permits na for matrix IDs. PineForge previously represented a default matrix as an empty matrix, so it could neither implement na(matrix_id) nor distinguish null-ID lifecycle errors from valid empty-matrix behavior. That runtime gap combined with a separate codegen target-typing gap.

Impact

Generated strategies can now carry a real nullable matrix ID once the matching codegen follow-up lands. This is an internal C++ layout change, so consumers must cleanly rebuild and must not mix old objects with the new library.

This PR deliberately does not change matrix assignment alias semantics, nullable arrays, matrix-returning UDF inference, or UDT identity behavior.

Validation

  • clean rebuild and CTest: 115/115 passed
  • engine corpus: 252/252 executed; 247 Excellent / 4 Strong / 1 documented anomaly
  • exhaustive cross-repository N=3 matrix: 8/8, early stop disabled, publication gate passed
  • forced-no-cache scraper gate: 416/416 accounted, zero compile/driver/unresolved timeout, 0 DOWN
  • independent final review: no in-scope blocker
  • production diff SHA-256: 89e43bf85aab0842ef731419e354a0fee6244d4b1c98d4d10b3999276c5b7254

@luisleo526
luisleo526 merged commit 7b765aa into main Jul 21, 2026
7 checks passed
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