Skip to content

ADC-694: complete the generic HyQMOM15 closure and transaction proof - #645

Draft
wolf75222 wants to merge 9 commits into
masterfrom
codex/adc694-particle-diagnostic-20260730
Draft

ADC-694: complete the generic HyQMOM15 closure and transaction proof#645
wolf75222 wants to merge 9 commits into
masterfrom
codex/adc694-particle-diagnostic-20260730

Conversation

@wolf75222

@wolf75222 wolf75222 commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Re-audit result

The earlier corrective slice closed the missing particle-number diagnostic. After merging current master (de3f6b56) explicitly, a second criterion-level audit found two remaining source gaps:

  • the final executable relied on the provided default closure instead of actually compiling a user-authored @closure(4) value;
  • the rejection proof compared the retained state but did not authenticate that the Program transaction owned the complete generic provisional-store set.

What changed

  • write the six standardized fifth-order HyQMOM relations directly under the public @closure(4) decorator;
  • pass that LocalClosure to HyQMOM15.vlasov_lorentz(closure=...), so its symbolic arithmetic is folded into the ordinary model/flux graph;
  • retain and inspect the closure contract in the final authoring evidence and prove it is numerically identical to the provided HyQMOM15Closure oracle;
  • require the installed Program report to enumerate every typed provisional store: states, fields, topology, flux ledgers, caches, solver warm starts, histories, clocks, schedules, consumers, diagnostics, and external effects;
  • expose that store set in the executable JSON report and preserve the existing forced-rejection, no-artifact, restart, realizability, and particle-number checks;
  • align the focused HyQMOM15 contract, normative final specification, changelog, and source acceptance tests.

Genericity and history

The closure uses the existing generic LocalClosure authoring boundary and the existing HyQMOM15.vlasov_lorentz(closure=...) option. No model-name dispatch, bespoke native category, callback in the hot path, compatibility alias, or alternate lifecycle was added.

Current master was integrated with an explicit merge commit; the example, transaction proof, tests, and documentation remain separate thematic commits.

Source validation

  • 10 passed — HyQMOM15 final contract;
  • 17 passed — final-release gate and release contract;
  • 41 passed — descriptor protocol, moment descriptors, and final public API;
  • Ruff passed for all changed Python files;
  • py_compile passed for the executable and affected tests;
  • docs/check_docs.py passed for 41 Markdown files and 11 docmap entries, with one non-fatal freshness warning because the reviewed final specification depends on the modified example;
  • git diff --check origin/master...HEAD passed and the worktree is clean.

Explicit non-claims

No native rebuild/install, direct installed-package execution of the updated script, ctest, HDF5/ParaView reopen, checkpoint/restart execution, MPI, OpenMP, or GPU run was performed for this new head; those belong to the shared ADC-687 build lane. The older green CI run is historical evidence, not proof of these new commits.

The executable acceptance test is intentionally an installed-package test. Running it with PYTHONPATH=python hides pops._pops, makes the communicator unknown, and is refused before compilation rather than silently selecting SERIAL. The installed lane must run it after build/install with PYTHONPATH unset.

This Uniform example has no non-empty AMR reflux ledger. It authenticates ownership of the generic flux_ledgers provisional store, while non-empty multilevel ledger persistence is exercised by the dedicated AMR final example.

@wolf75222 wolf75222 changed the title ADC-694: prove HyQMOM15 physical diagnostics ADC-694: complete the generic HyQMOM15 closure and transaction proof Aug 1, 2026
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