Skip to content

P3: consolidate native runtime and exact-output foundations - #631

Draft
wolf75222 wants to merge 142 commits into
masterfrom
codex/p3-consolidation-history-20260730
Draft

P3: consolidate native runtime and exact-output foundations#631
wolf75222 wants to merge 142 commits into
masterfrom
codex/p3-consolidation-history-20260730

Conversation

@wolf75222

@wolf75222 wolf75222 commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Scope

This draft consolidates the P3 runtime/output/release history on current master@de3f6b56 without squashing, rebasing, amending, force-pushing, or deleting thematic commits.

Integrated histories include:

  1. ADC-683 communicator-scoped collectives, exact FieldView contracts, observer HDF5 lanes and run-owned ROOT lanes (ADC-683: scope native collectives to execution communicators #619, fix(runtime): make FieldViewDescriptor fail closed (ADC-683) #643, refactor(output): make collective HDF5 observer-lane owned (ADC-683) #646, refactor(output): isolate ROOT gathers on run-owned MPI lanes (ADC-683) #650)
  2. ADC-680 fixed component packages and installed-wheel external AOT proof ([ADC-680] Authenticate fixed component packages before installation #613, [ADC-680] Prove external AOT from the installed wheel #652)
  3. ADC-681 generated Reflux v1, prepared AMR execution and public provider route ([ADC-681] Generate and validate native Reflux v1 #617, [ADC-681] Execute prepared Reflux components in AMR transitions #638, ADC-681: resolve Reflux through the public AMR provider protocol #654)
  4. ADC-684 authenticated RuntimePlan consumption (ADC-684: consume authenticated runtime plans before native install #616)
  5. ADC-686 accepted ledgers, nonzero MPI evidence, metric projection capture and owner/layout/component-qualified automatic Balance routes (feat(output): publish exact accepted-step balance ledgers #622, ADC-686: prove all five nonzero Balance terms over MPI #628, feat(balance): capture metric projection evidence when due (ADC-686) #653, feat(balance): resolve qualified native balance evidence (ADC-686) #659)
  6. ADC-693 ParaView legacy authoring cutover (ADC-693: delete ParaView series compatibility authoring #621)
  7. Kokkos 5 concurrency compatibility
  8. ADC-689 source/wheel/installed public-API parity ([ADC-689] Prove source-wheel public API parity #636, [ADC-689] Prove parity of the installed public API #655)
  9. ADC-688 retained-wheel, installed-runtime and Darwin codesign identity ([ADC-688] Prove exact wheel, codesign, and final examples #634)

All stacks are preserved through explicit merge commits. The ADC-681/686 resolution is compositional: every prepared Reflux call retains the exact logical clock while optionally returning the gathered component correction used by automatic Balance evidence. PoPS still owns topology, collectives and accepted publication.

Validation so far

  • exact combined ADC-681/686 source proof set: 19 passed
  • ADC-683 source ownership/fence batch: 9 passed
  • ADC-681 source/layout/provider batch before Balance integration: 72 passed
  • release/public-API/installed-AOT source architecture slice: 70 passed
  • generated catalogue, Ruff, docs and git diff --check: pass
  • changed C++ files clang-format clean; unchanged pre-existing shared-file hunks are not claimed

Honest remaining limits

This is not P3/M4 closure. The exact rebuilt extension is required for the remaining runtime/unit/native matrices. ADC-686 still lacks automatic boundary-flux and source producers, polar projection, and integrated native/MPI execution. ADC-683 needs real MPI/HDF5/ROOT proof; ADC-681 needs external multi-rank Reflux/conservation/GPU proof; ADC-680 needs the exact installed-wheel release lane. The PR stays draft.

wolf75222 added 30 commits July 29, 2026 22:02
…ion-history-20260730

# Conflicts:
#	CHANGELOG.md
#	docs/design/native-capability-matrix.md
#	include/pops/runtime/config/generated_component_abi.hpp
#	include/pops/runtime/config/generated_component_catalog.hpp
#	include/pops/runtime/config/generated_route_accessors.inc
#	include/pops/runtime/multiblock/interface_flux_scheduler.hpp
#	python/bindings/core/init/generated_component_invokers.inc
#	python/pops/_generated_component_interfaces.py
#	python/pops/model/_generated_component_schema.py
#	python/pops/runtime/_generated_component_routes.py
#	tests/cpp/integration/mpi/test_mpi_multiblock_interface_scheduler.cpp
# Conflicts:
#	CHANGELOG.md
#	scripts/release_preflight.py
#	tests/python/architecture/test_final_release_gate.py
# Conflicts:
#	CHANGELOG.md
#	scripts/release_preflight.py
# Conflicts:
#	CHANGELOG.md
#	tests/python/unit/amr/test_external_amr_providers.py
# Conflicts:
#	include/pops/numerics/time/amr/levels/amr_subcycling.hpp
#	include/pops/runtime/amr/amr_program_reflux.hpp
#	include/pops/runtime/program/amr_program_context.hpp
@wolf75222

Copy link
Copy Markdown
Owner Author

CI repair and ADC-682 provider-pack cutover integrated with history at 3d1cd8a2.

Fixes the prior run failures:

  • shared Program service architecture drift
  • checkpoint reductions now consume explicit current states (state.n)
  • balance test supplies exact owner/component/level qualifiers
  • physical flux consumes authenticated BoundFluxProviders<Model> directly; no global Aux reconstruction

Integrated-head source evidence: 550 architecture tests passed; 42 focused provider/codegen tests passed; direct generated Euler/ExB C++ harness passed; Ruff, clang-format, docs and diff check green. Native CPU/GPU/MPI provider-pack parity is still not claimed and remains under ADC-682/ADC-687.

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