Skip to content

refactor(output): make collective HDF5 observer-lane owned (ADC-683) - #646

Draft
wolf75222 wants to merge 3 commits into
codex/adc683-fieldview-failclosed-20260730from
codex/adc683-hdf5-communicator-view-20260730
Draft

refactor(output): make collective HDF5 observer-lane owned (ADC-683)#646
wolf75222 wants to merge 3 commits into
codex/adc683-fieldview-failclosed-20260730from
codex/adc683-hdf5-communicator-view-20260730

Conversation

@wolf75222

Copy link
Copy Markdown
Owner

Stack

This draft PR is stacked on #643 at commit 0ac4942. It preserves three separate thematic commits:

  • 40a0b07 — require observer-owned HDF5 communication
  • c32d76e — fence observer-owned HDF5 lanes
  • 836f2f2 — document duplicated HDF5 observer lanes

What changes

  • removes collective-HDF5 overloads that accepted WorldCommunicator;
  • requires an explicit CommunicatorView in C++ and an active duplicated ObserverMpiLane in Python;
  • prevents the Python writer from accepting the world communicator fallback;
  • makes parallel HDF5 capability reporting independent from process-global MPI_Initialized discovery;
  • updates integration and architecture tests to fence the ownership contract;
  • documents that HDF5 collective output owns its observer lane.

The retained HDF5 mutex is intentional encapsulation of HDF5 library-global/thread-safety behavior. It is not communicator discovery or borrowed simulation state.

The touched HDF5 C++ implementation was normalized by clang-format, which accounts for most of the line-count churn; the semantic change remains limited to communicator ownership and capability discovery.

Validation

  • architecture batch: 11 passed
  • HDF5 unit subset: 6 passed, 87 deselected
  • manifest/CI architecture subset: 4 passed
  • Ruff: passed
  • Python bytecode compilation: passed
  • C++ header syntax-only check: passed
  • clang-format dry-run: passed
  • docs lint: passed (41 Markdown files and 11 docmap files; one pre-existing stale-docmap warning)
  • git diff --check: passed

No shared build or install was modified.

Explicit non-claims

  • this does not close ADC-683;
  • this is not a complete audit of every remaining process-global device, MPI, or I/O state;
  • no native MPI/HDF5 build matrix was run in this source-only tranche;
  • no GPU or 3D support claim is made;
  • the C++ source surface intentionally removes the WorldCommunicator overloads, while the ABI descriptor schema is unchanged.

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