Skip to content

Support nullable matrix IDs - #127

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

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
luisleo526 added a commit that referenced this pull request Sep 17, 2026
…sidual lot (R4-D L10y)

yukozb-gold-ny-orb-v19-close-20-00 #2/#3 and ahtisham-ee-decoded-
volatility-expansion-ahtisham #126/#127: with default_qty_value=100 the
legacy owner admits the entry and books it as a main lot plus a residual
margin-call lot closed again on the entry bar; the switched route refused
the whole entry.  The adapter now sizes and admits the full-equity entry
the way the owner's fill-time affordability and margin-call slice do, and
samples the residual lot's open extremes like the owner.  Both population
reproductions replay identically to the owner.  Pinned with embedded bars
in tests/test_l10y_full_equity_entry_split.cpp (W21c, qwen3.8-max).

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RKCCnMS51GLmRbA3AHtBDb
@luisleo526
luisleo526 deleted the codex/matrix-na-runtime-20260721 branch October 5, 2026 02:42
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