Skip to content

Support structured state publication and preserve empty-domain controls - #12

Merged
PraneethMerugu merged 4 commits into
mainfrom
codex/structured-state-values
Sep 9, 2026
Merged

Support structured state publication and preserve empty-domain controls#12
PraneethMerugu merged 4 commits into
mainfrom
codex/structured-state-values

Conversation

@PraneethMerugu

@PraneethMerugu PraneethMerugu commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Support immutable named products in field storage and publication

Required companion to G04 structured state in CorePotts, following merged
LocalMath CI PR11.
Targets main c595f91, whose tree is identical to tested parent135afe4;
final tested head is e51eeaf. The sections below distinguish
earlier validation from the complete final-head results.

Changes

  • Admit concrete immutable named products through the existing recursive storage
    predicate and reuse that predicate for evaluator type parameters.
  • Extend the existing bounded record-layout check to nested admitted records,
    preserving size, alignment, field-layout and backend leaf-operation checks.
  • Keep metadata, pointer and mutable-array capture rejection. No new executor,
    atomic algebra, reduction algebra or backend-specific scientific meaning.
  • Exercise public pointwise and routed Unique/Resolve publication, source
    ownership, unsupported nested leaves, oversize records and unsafe captures.
  • Add an executable named-product helper example and explain the owning path in
    the contributor architecture documentation.

Validation

The following broad validation was completed at 87de468, before the
world-age correction described below:

  • Final full ordinary CPU package suite: 1,520/1,520 assertions passed, including
    the additional reviewer-requested tests, package quality and inventory checks.
  • Final added CPU tests plus runner inventory: 21/21 passed.
  • Full existing Metal runner plus initial product fixture: passed, exit zero.
  • Final shared product fixture: 20 CPU checks and 14 actual-Metal checks passed,
    with scalar GPU indexing disabled.
  • Strict documentation build including the new executable example: passed.
  • Runic check of all changed Julia files and git diff whitespace check: passed.
  • Ordinary scientific witnesses: 29/29 passed (17 scientific examples, four
    compacted examples and eight authored-domain checks).
  • Final independent review of 87de468: no blocking findings. Reviewer-requested
    routed/layout witnesses are integrated in both ordinary inventories.

Logs are in the coordinator workspace's .worktrees/validation-logs/, using the
localmath-product- prefix. These are local runs, not hosted Actions results.

Recursive admission correction

Downstream authored RNG integration exposed a generated-function world-age
failure for a concrete record nested inside a tuple. Follow-up 121a385 emits
recursive checks into generated method bodies, leaving the same storage
predicate and conservative admission semantics in place. It adds a public
tuple-wrapped callable publication witness and nested rejection checks.

  • Focused ordinary owner tests: 26/26 passed.
  • Independent review of the follow-up: no material findings.
  • Downstream authored CPU/Metal retry: 11/11 passed, exit zero, using Potts
    32274682, CorePotts 334cbe6, and LocalMath 121a385. It exercises a
    Bernoulli guard, Uniform drive, accepted-copy draw publication, qualified-key
    rename behavior, and checkpoint continuation.
  • The preceding broad runs are not presented as exact full-suite validation of
    this follow-up revision.

Scope

Closed ordered-fold gates

Follow-up df9a650 fixes the existing ordered-fold path to honor a closed gate
before evaluating events and before publishing private initializer state.
The ordinary regression reproduced six failures before the correction, then
passed 26 gate checks plus 43 existing fold checks on CPU; the same 26 gate
checks passed on actual Metal. Root independently reviewed the correction.
Active duplicate identities still fail. The downstream public compound suite
passed 47/47, including the original mixed relationship rollback case, using
Potts e5763ed5, Core d1db5e3, and LocalMath df9a650.
Strict documentation passed at df9a650 in an isolated copy of the declared
documentation environment. The complete ordinary package suite passed
1,552/1,552 at that revision, including quality and inventory checks. The
complete LocalMath Metal runner passed 273/273, including its host-side product
fixtures and actual-device scientific witnesses, with scalar indexing disabled.
The separate CPU scientific examples passed 29/29. CorePotts's complete Metal
inventory separately passed 168/168 with Core d1db5e3 and LocalMath df9a650.

Empty pointwise source domains

Follow-up e51eeaf fixes an out-of-bounds destination read when a direct
pointwise source has zero items. Padded lanes now check the source bound before
accessing values or evaluating work. The existing control checks still run for
the empty domain, including invalid-prefix diagnostics. Single and fused laws
share the same control handling; no alternate executor or zero-degree relation
exception was added.

Final-head validation at e51eeaf:

  • Complete ordinary owning package suite:1,624/1,624 passed, including package
    quality and inventory (run14205).
  • Complete actual-Metal inventory:345/345 passed (run85126), including72
    empty-domain controls with scalar indexing disabled.
  • Strict documentation build: passed (run91894).
  • Focused direct-pointwise CPU135/135 and actual-Metal72/72 passed.
  • Independent review of the empty-domain correction found no blocking issue.

Hosted run34294897711 also passed complete package, strict docs, scientific,
macOS smoke and actual Metal jobs. Main/manual-only full macOS was skipped.
After PR11 merged with ancestry preserved, this PR was retargeted to main;
the merged parent tree is identical to the tested parent, with no source change.
Independent reviews and final-head validation are complete for this scope.

Validated products contain Boolean, integer and Float32 tuple/static-vector
leaves within the existing bounded record layout. Admission depends on the
actual backend and operation. This does not promise arbitrary records, new
atomic/reduction support, exact cross-device replay, or measured speedups.
Metal retains its own explicit unsupported-Float64 allocation diagnostic.

The concrete downstream consumer is CorePotts's typed structured-state stage
publication. Its separate transaction and lifecycle validation must complete
before claiming the entire G04 authoring workflow is supported.

@PraneethMerugu
PraneethMerugu changed the base branch from codex/ecosystem-candidate-ci to main September 9, 2026 00:39
@PraneethMerugu
PraneethMerugu marked this pull request as ready for review September 9, 2026 00:40
@PraneethMerugu
PraneethMerugu merged commit 4b2ab42 into main Sep 9, 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