Prepare v1.0 release closeout records#358
Conversation
|
@codex review as a senior software engineer reviewing this fTimer PR for correctness; inspect changed code, changed tests, and changed user-facing docs, then find behavior regressions, wrapper or OOP parity drift, install or export breakage, unsafe defaults, silent lossy behavior, summary or output regressions, and missing end-to-end validation, not style issues; when timer runtime paths change, explicitly sanity-check start or stop ordering, context attribution, and docs/tests parity; classify findings as bug, test gap, design concern, or nit; begin with "## Software Review". |
|
Codex review is not enabled for this repo. Please contact the admins of this repo to enable Codex. |
|
@codex review as a docs and contract reviewer; compare touched README, docs, examples, maintainer guidance, and workflow text against the implemented code and tests, looking for contract drift, docs mismatch, workflow mismatch, example drift, or clarity concerns; cite the file and statement for each finding; begin with "## Docs / Contract Review". |
|
Codex review is not enabled for this repo. Please contact the admins of this repo to enable Codex. |
|
@codex review as a skeptical fTimer test reviewer; decide whether the changed tests would fail for broken start or stop ordering, repair timestamp consistency, callback suppression during repair, self-time sibling boundaries, error-contract mistakes, MPI mismatch handling, and worker-thread no-op behavior, and whether mocks or golden tests create false confidence; classify findings as test gap, weak assertion, false confidence, flaky risk, or design concern; begin with "## Test Quality Review". |
|
Codex review is not enabled for this repo. Please contact the admins of this repo to enable Codex. |
|
@codex review as a build and portability reviewer; check serial, MPI, smoke, installed-consumer, CI, and CMake or Make behavior for compiler assumptions, config drift, packaging issues, and environment leakage; cite the file and failing mode for each finding; begin with "## Build / Portability Review". |
|
Codex review is not enabled for this repo. Please contact the admins of this repo to enable Codex. |
|
Manual fallback review record Reviewed PR head SHA: Software ReviewNo actionable correctness, test, or design findings found. Required questions:
|
|
Manual fallback review record Reviewed PR head SHA: Docs / Contract ReviewFindings: None. Required questions:
|
|
Manual fallback review record Reviewed PR head SHA: Test Quality ReviewFindings
Required Questions
|
|
Manual fallback review record Reviewed PR head SHA: Build / Portability ReviewFindingsNo actionable build, portability, configuration, or packaging findings. Required Questions
|
|
@codex review as a completion-audit reviewer; determine what this PR demonstrably completes, what remains partial or overstated, what evidence is still missing, and what can safely be deferred; classify findings as completion gap, overstated claim, validation gap, safe deferral, or blocking gap; begin with "## Completion Audit Review". |
|
Manual fallback review record Reviewed PR head SHA: Completion Audit ReviewVerdict: partially complete. The release-closeout docs themselves look complete and honest, but #354 cannot be called fully complete at head Findings:
Required questions:
|
|
Codex review is not enabled for this repo. Please contact the admins of this repo to enable Codex. |
|
Manual fallback review record Reviewed PR head SHA: Software ReviewFindingsNo actionable software-correctness findings. Required Questions
|
|
Manual fallback review record Reviewed PR head SHA: Docs / Contract ReviewActionable findings: None. Required questions:
|
|
Manual fallback review record Reviewed PR head SHA: Build / Portability ReviewReviewed PR #358 at head Required questions:
Actionable findings: none. |
|
Manual fallback review record Reviewed PR head SHA: Test Quality ReviewFindings
The release-notes compatibility check is too weak for the version/package caveat it is meant to protect. It requires only Concrete test to add: require the release-notes text to contain terms equivalent to
The CI synchronization check is still one-way and partly hard-coded. It verifies that a fixed list in the test appears in Concrete test to add: extract the backticked bullets from the Required CI Proof section, compare CI job bullets bidirectionally against top-level job IDs parsed from Required Questions
|
|
Manual fallback review record Reviewed PR head SHA: Completion Audit ReviewVerdict: partially complete. The release-closeout documentation itself appears complete for #354, and I found no docs-content completion findings. The remaining incompleteness is external: the PR head still needs CI/review gates to finish and turn green before the issue can honestly be closed.
The PR adds the v1.0.0 release-notes draft and validation/artifact record, links them from the release checklist, and adds contract-test coverage for the new closeout terms. The notes cover the required supported workflows in The validation record captures local toolchain details and exact commands/statuses in The version/package criteria are backed by
Validation is conditionally complete. The docs correctly say the PR is not merge-ready until required CI and review checks are green (
I did not find an overstated docs claim. The release notes avoid benchmark trend claims (
Validation gap, external gate only: all required CI jobs and review gates listed in
Safe deferrals are already named and bounded: package-manager ownership #355, fixed-team/no-explicit-region OpenMP ergonomics #294, Ubuntu 24.04 MPICH pFUnit runner migration #259, NVHPC #256, and non-goals such as binary packages, FPM, profiler backends, hardware counters, traces, dashboards, accelerator synchronization, and automatic MPI barriers are all kept outside the v1.0 claim in Blocking completion: the external CI/review gates only. No actionable completion/evidence gaps were found in the release-note draft, validation record, artifact policy, benchmark handling, or post-release triage wording. |
|
Manual fallback review record Reviewed PR head SHA: Test Quality ReviewNo actionable findings. Prior findings are satisfied on HEAD The Required CI Proof synchronization is now meaningfully bidirectional: it extracts CI job ids from Required questions:
Local read-only verification run:
|
|
Manual fallback review record Reviewed PR head SHA: Software ReviewNo actionable findings. I confirmed the local checkout is on Required questions:
Current-head blockers: none found. |
|
Manual fallback review record Reviewed PR head SHA: Docs / Contract ReviewNo actionable findings. Current head confirmed locally: I also ran the changed contract script locally:
It passed with no output. Required questions:
Current-head blockers: none. |
|
Manual fallback review record Reviewed PR head SHA: Build / Portability ReviewNo actionable findings. Current head confirmed locally: Current-head blockers: none found. Required questions:
|
|
Manual fallback review record Reviewed PR head SHA: Completion Audit ReviewVerdict: complete for issue #354, with no current-head blockers found. The only remaining blockers are external gates: PR-head CI and Codex review coverage must be green before merge/tagging. Actionable findings: None. Required questions:
Local refresh notes: confirmed branch |
|
Codex review coverage: software covered for a479211 via manual fallback. |
|
Codex review coverage: docs-contract covered for a479211 via manual fallback. |
|
Codex review coverage: test-quality covered for a479211 via manual fallback. |
|
Codex review coverage: build-portability covered for a479211 via manual fallback. |
|
Codex review coverage: completion-audit covered for a479211 via manual fallback. |
|
Manual fallback findings disposition Reviewed current head:
No unresolved review threads remain. |
Summary
Closes #354.
This PR prepares the v1.0.0 release closeout records without changing runtime behavior or broadening release claims:
docs/release-notes-v1.0.0.mdas the source-only v1.0.0 release-notes draftdocs/release-validation-v1.0.0.mdwith local validation commands, exact toolchain/skips, artifact closeout, benchmark handling, and post-release triage expectationsdocs/release.mdftimer_release_docs_contractlink/path validationThe release notes keep #353's MPICH MPI+OpenMP boundary caveated, keep #355/#294/#259/#256 as post-release or non-blocking follow-ups, and make no benchmark trend claim because no committed CSV+sidecar provenance evidence is being attached.
Local Validation
cmake -B build-smokecmake --build build-smokecmake -E chdir build-smoke ctest --output-on-failure-> 25/25 passedFC=gfortran cmake -B build -DFTIMER_BUILD_TESTS=ON -DPFUNIT_DIR=/opt/homebrew/PFUNIT-4.16cmake --build buildcmake -E chdir build ctest --output-on-failure-> 26/26 passedFC=mpifort cmake -B build-mpi -DFTIMER_USE_MPI=ON -DFTIMER_BUILD_TESTS=ON -DPFUNIT_DIR=/opt/homebrew/PFUNIT-4.16 -DMPIEXEC_EXECUTABLE=/opt/homebrew/bin/mpiexeccmake --build build-mpicmake -E chdir build-mpi ctest --output-on-failure -L mpi-> local CTest launcher failed before pFUnit tests with Open MPI reportingAll nodes which are allocated for this job are already filled; direct generatedmpiexec -n 2 .../ftimer_mpi_tests --verbosepassed 79 tests andmpiexec -n 4 .../ftimer_mpi_tests_4pe --verbosepassed 22 testsFC=mpifort cmake -B build-mpi-openmp -DFTIMER_USE_MPI=ON -DFTIMER_USE_OPENMP=ONcmake --build build-mpi-openmpcmake -E chdir build-mpi-openmp ctest --output-on-failure-> 35/35 passedFC=gfortran cmake -B build-openmp -DFTIMER_USE_OPENMP=ON -DFTIMER_BUILD_TESTS=ON -DPFUNIT_DIR=/opt/homebrew/PFUNIT-4.16cmake --build build-openmpcmake -E chdir build-openmp ctest --output-on-failure-> 31/31 passedcmake -S . -B build-bench -DFTIMER_BUILD_BENCH=ON -DCMAKE_BUILD_TYPE=Releasecmake --build build-bench --target ftimer_bench./build-bench/bench/ftimer_bench /tmp/ftimer_bench_results.csv-> wrote a 52-line CSV used only as smoke/review evidence, not as release-note trend evidencecmake -E chdir build-smoke ctest --output-on-failure -R '^ftimer_release_docs_contract$'-> passedgit diff --checkLocal Skips / Caveats
flang-19was not on PATH locally; default smoke/bench configures used Homebrew/opt/homebrew/bin/flang22.1.7 where CMake selected it.mpifort/mpiexecpair is Open MPI 5.0.9 andmpifort.mpichwas not on PATH.spacknorebwas on PATH locally.Required CI / Review Gates
Before merge, this PR still needs all CI jobs from
.github/workflows/ci.yml,Codex Review Routing and Triggers, andCodex Review Coveragegreen on the PR head.