Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
837 commits
Select commit Hold shift + click to select a range
70941d6
docs(capabilities): bound Uniform recovery warm starts
wolf75222 Aug 3, 2026
369e42e
merge: record ADC-753 Uniform warm-start consumer
wolf75222 Aug 3, 2026
85bd91a
test(numerics): gate prepared fallback and warm starts
wolf75222 Aug 3, 2026
fb04253
feat(time): execute prepared cell-local rung batches
wolf75222 Aug 3, 2026
db10c2f
test(time): prove transactional cell-local execution
wolf75222 Aug 3, 2026
4267839
docs(time): bound the executable ADC-756 slice
wolf75222 Aug 3, 2026
49bcaf9
feat(time): execute prepared cell-local rung batches
wolf75222 Aug 3, 2026
dbf88b4
test(time): prove transactional cell-local execution
wolf75222 Aug 3, 2026
eb1d670
docs(time): bound the executable ADC-756 slice
wolf75222 Aug 3, 2026
db66630
merge: record ADC-756 rung-batched executor
wolf75222 Aug 3, 2026
74814ad
feat(riemann): author typed prepared recovery policy
wolf75222 Aug 3, 2026
03e392e
feat(runtime): execute fixed Riemann recovery on Uniform and AMR
wolf75222 Aug 3, 2026
bec6896
test(riemann): prove prepared recovery public cutover
wolf75222 Aug 3, 2026
ab0025b
feat(riemann): author typed prepared recovery policy
wolf75222 Aug 3, 2026
c210dd5
feat(runtime): execute fixed Riemann recovery on Uniform and AMR
wolf75222 Aug 3, 2026
1f57ec2
test(riemann): prove prepared recovery public cutover
wolf75222 Aug 3, 2026
59946bf
merge: record ADC-754 public prepared recovery
wolf75222 Aug 3, 2026
3ae9089
test(numerics): gate public Riemann recovery authoring
wolf75222 Aug 3, 2026
5dde618
feat(fields): bridge external solvers into AMR
wolf75222 Aug 3, 2026
268d490
test(fields): prove external AMR topology and regrid
wolf75222 Aug 3, 2026
076d34f
feat(fields): bridge external solvers into AMR
wolf75222 Aug 3, 2026
b15e7f2
test(fields): prove external AMR topology and regrid
wolf75222 Aug 3, 2026
4e8ca83
merge: record ADC-759 external AMR field bridge
wolf75222 Aug 3, 2026
5e569db
test(runtime): gate external AMR field execution
wolf75222 Aug 3, 2026
e2fe27c
fix(ci): authenticate new temporal executor inventory
wolf75222 Aug 3, 2026
8f6a642
test(fields): prove external AMR bridge under MPI
wolf75222 Aug 3, 2026
d59f4c7
docs(fields): bound external AMR MPI proof
wolf75222 Aug 3, 2026
94de8e9
test(ci): route external field MPI entrypoint
wolf75222 Aug 3, 2026
413f057
feat(boundary): prepare model characteristic no-inflow
wolf75222 Aug 3, 2026
bdb7b74
style(ci): align MPI plan fixture
wolf75222 Aug 3, 2026
859806d
test(boundary): prove characteristic projection and refusal
wolf75222 Aug 3, 2026
c298bd9
test(fields): prove external AMR bridge under MPI
wolf75222 Aug 3, 2026
de99eee
docs(fields): bound external AMR MPI proof
wolf75222 Aug 3, 2026
60eabd5
docs(boundary): record characteristic qualification envelope
wolf75222 Aug 3, 2026
e98a17f
test(ci): count external field MPI proof
wolf75222 Aug 3, 2026
8a51d91
docs(runtime): count external AMR MPI proof
wolf75222 Aug 3, 2026
361b334
feat(boundary): prepare model characteristic no-inflow
wolf75222 Aug 3, 2026
5113127
test(boundary): prove characteristic projection and refusal
wolf75222 Aug 3, 2026
7abb330
docs(boundary): record characteristic qualification envelope
wolf75222 Aug 3, 2026
8a4b325
test(ci): route external field MPI entrypoint
wolf75222 Aug 3, 2026
db2d2ac
style(ci): align MPI plan fixture
wolf75222 Aug 3, 2026
cc82d10
test(ci): count external field MPI proof
wolf75222 Aug 3, 2026
fc7ecba
ADC-756 add bounded scientific cell temporal provider
wolf75222 Aug 3, 2026
93f5029
ADC-757 gate real cell temporal state and flux publication
wolf75222 Aug 3, 2026
431490a
ADC-756 report bounded cell temporal capability honestly
wolf75222 Aug 3, 2026
e523489
test(runtime): count complete M4 proof matrix
wolf75222 Aug 3, 2026
8bfb302
merge: record ADC-759 two-rank AMR field proof
wolf75222 Aug 3, 2026
f09addd
merge: record ADC-749 characteristic boundary provider
wolf75222 Aug 3, 2026
53bd1c4
ADC-756 derive physical tick scale from rational clock
wolf75222 Aug 3, 2026
405e16d
STYLE format ADC-756 scientific provider slice
wolf75222 Aug 3, 2026
0fffbec
fix(nonlinear): select failure locations exactly
wolf75222 Aug 3, 2026
a0add22
test(nonlinear): cover signed collective failure order
wolf75222 Aug 3, 2026
1a4ed88
docs(nonlinear): specify exact failure diagnostics
wolf75222 Aug 3, 2026
17b81e5
test(nonlinear): fence generated failure packing
wolf75222 Aug 3, 2026
7c88c14
test(numerics): count public recovery gate proofs
wolf75222 Aug 3, 2026
5081f28
test(nonlinear): reject missing failure priority
wolf75222 Aug 3, 2026
da47d16
feat(riemann): preserve exact provider evidence
wolf75222 Aug 3, 2026
5399b44
test(riemann): prove provider identity fails closed
wolf75222 Aug 3, 2026
baa33c0
docs(riemann): document typed entropy providers
wolf75222 Aug 3, 2026
09071f6
test(riemann): expose provider options in inspection
wolf75222 Aug 3, 2026
f0b6420
ADC-756 harden exact stage-time provider contract
wolf75222 Aug 3, 2026
e5c2aa4
fix(nonlinear): select failure locations exactly
wolf75222 Aug 3, 2026
498f74f
test(nonlinear): cover signed collective failure order
wolf75222 Aug 3, 2026
9f0fe9a
docs(nonlinear): specify exact failure diagnostics
wolf75222 Aug 3, 2026
4ec81ab
test(nonlinear): fence generated failure packing
wolf75222 Aug 3, 2026
d714058
test(numerics): count public recovery gate proofs
wolf75222 Aug 3, 2026
6d2db6a
test(nonlinear): reject missing failure priority
wolf75222 Aug 3, 2026
57b1c85
ADC-756 count rejected cell-stage launches honestly
wolf75222 Aug 3, 2026
2155bab
merge: record ADC-750 exact nonlinear diagnostics
wolf75222 Aug 3, 2026
2606a09
feat(riemann): preserve exact provider evidence
wolf75222 Aug 3, 2026
303a25b
test(riemann): prove provider identity fails closed
wolf75222 Aug 3, 2026
f85249d
docs(riemann): document typed entropy providers
wolf75222 Aug 3, 2026
51b0e5b
test(riemann): expose provider options in inspection
wolf75222 Aug 3, 2026
c2c3732
merge: record ADC-752 exact Riemann provider evidence
wolf75222 Aug 3, 2026
110e5e8
runtime: retire pointwise primitive recovery fallback
wolf75222 Aug 3, 2026
4ef46cd
amr: delete duplicate physical boundary callback authority
wolf75222 Aug 3, 2026
549ffac
test(numerics): authenticate heterogeneous closure evidence
wolf75222 Aug 3, 2026
583b92e
bench(numerics): declare ADC-757 hardware campaign
wolf75222 Aug 3, 2026
cbae20a
bench(numerics): require paired ABBA evidence
wolf75222 Aug 3, 2026
70c24b5
ADC-756 add bounded scientific cell temporal provider
wolf75222 Aug 3, 2026
e66f858
ADC-757 gate real cell temporal state and flux publication
wolf75222 Aug 3, 2026
7f0d2f1
ADC-756 report bounded cell temporal capability honestly
wolf75222 Aug 3, 2026
075ffc3
ADC-756 derive physical tick scale from rational clock
wolf75222 Aug 3, 2026
2100831
STYLE format ADC-756 scientific provider slice
wolf75222 Aug 3, 2026
9c8efb5
ADC-756 harden exact stage-time provider contract
wolf75222 Aug 3, 2026
029a08f
ADC-756 count rejected cell-stage launches honestly
wolf75222 Aug 3, 2026
921b4fe
test(numerics): reconcile ADC-756 integration evidence
wolf75222 Aug 3, 2026
c064653
merge: record ADC-756 scientific provider evidence
wolf75222 Aug 3, 2026
01aba5d
fix(boundary): rollback refused characteristic halos
wolf75222 Aug 3, 2026
31f1796
feat(numerics): qualify spatial providers across dimensions
wolf75222 Aug 3, 2026
947a578
feat(parallel): decide rebalancing from measured costs
wolf75222 Aug 3, 2026
794055f
fix(boundary): rollback refused characteristic halos
wolf75222 Aug 3, 2026
e2fc7ef
feat(numerics): qualify spatial providers across dimensions
wolf75222 Aug 3, 2026
2b606ad
merge: record ADC-757 spatial provider evidence
wolf75222 Aug 3, 2026
827ac7c
runtime: make polar transport consume prepared boundaries
wolf75222 Aug 3, 2026
93fe489
amr: separate transport topology from elliptic boundaries
wolf75222 Aug 3, 2026
9f9f0bb
packaging: export prepared boundary defaults
wolf75222 Aug 3, 2026
d173438
tests: ratchet prepared transport boundary authority
wolf75222 Aug 3, 2026
be32fda
test(numerics): gate spatial and measured balancing providers
wolf75222 Aug 3, 2026
67e8c86
feat(runtime): prepare independent accelerator streams
wolf75222 Aug 3, 2026
25938b1
test(runtime): prove accelerator stream authority fails closed
wolf75222 Aug 3, 2026
3dc992f
test(numerics): require hardware evidence for ADC-757 closure
wolf75222 Aug 3, 2026
ab1c5d8
fix(amr): reauthenticate cell-local publication
wolf75222 Aug 3, 2026
52f072b
bench(numerics): measure heterogeneous ADC-757 routes
wolf75222 Aug 3, 2026
cea37d3
bench(romeo): authenticate ADC-757 GPU campaign
wolf75222 Aug 3, 2026
246a583
fix(amr): refuse cell-local restart regrid
wolf75222 Aug 3, 2026
1583993
fix(bench): fail closed across accelerator ranks
wolf75222 Aug 3, 2026
e277a4c
tests: protect templated polar refusal assertion
wolf75222 Aug 3, 2026
c5b6768
fix(runtime): support pre-partition-space GPU streams
wolf75222 Aug 3, 2026
bc598bc
fix(bench): authenticate physical GPU UUIDs natively
wolf75222 Aug 3, 2026
a300087
feat(amr): expose measured migration-aware balancing
wolf75222 Aug 3, 2026
16df39d
feat(runtime): prepare independent accelerator streams
wolf75222 Aug 3, 2026
ed8ffdd
test(runtime): prove accelerator stream authority fails closed
wolf75222 Aug 3, 2026
f62e18d
bench(numerics): measure heterogeneous ADC-757 routes
wolf75222 Aug 3, 2026
4704bab
bench(romeo): authenticate ADC-757 GPU campaign
wolf75222 Aug 3, 2026
0e6fe40
fix(bench): fail closed across accelerator ranks
wolf75222 Aug 3, 2026
e4dd7e5
fix(runtime): support pre-partition-space GPU streams
wolf75222 Aug 3, 2026
dc0f189
fix(bench): authenticate physical GPU UUIDs natively
wolf75222 Aug 3, 2026
73e5fa3
merge: record ADC-757 GPU streams evidence
wolf75222 Aug 3, 2026
16f4f63
runtime: retire pointwise primitive recovery fallback
wolf75222 Aug 3, 2026
8f9c8cc
test(numerics): bind ADC-757 hardware evidence
wolf75222 Aug 3, 2026
fcf6686
amr: delete duplicate physical boundary callback authority
wolf75222 Aug 3, 2026
a4b4f92
test(amr): gate public measured balancing policy
wolf75222 Aug 3, 2026
5b2559d
runtime: make polar transport consume prepared boundaries
wolf75222 Aug 3, 2026
0bb9fdf
amr: separate transport topology from elliptic boundaries
wolf75222 Aug 3, 2026
5e7053a
packaging: export prepared boundary defaults
wolf75222 Aug 3, 2026
a29a9a8
tests: ratchet prepared transport boundary authority
wolf75222 Aug 3, 2026
abec942
tests: protect templated polar refusal assertion
wolf75222 Aug 3, 2026
e9ea418
merge: record ADC-757 legacy authority deletion
wolf75222 Aug 3, 2026
40df221
test(numerics): bind ADC-757 hardware evidence
wolf75222 Aug 3, 2026
b09fd7d
test(amr): gate public measured balancing policy
wolf75222 Aug 3, 2026
eb86890
merge: record ADC-757 hardware gate evidence
wolf75222 Aug 3, 2026
0dc6c20
test(boundary): gate prepared transport authority
wolf75222 Aug 3, 2026
0540342
test(recovery): gate prepared batch authority
wolf75222 Aug 3, 2026
bded333
test(numerics): retire legacy authority deferral
wolf75222 Aug 3, 2026
23ac235
test(boundary): gate prepared transport authority
wolf75222 Aug 3, 2026
4df99c5
test(recovery): gate prepared batch authority
wolf75222 Aug 3, 2026
4ce39c5
test(numerics): retire legacy authority deferral
wolf75222 Aug 3, 2026
47e432c
merge: record ADC-757 legacy gate evidence
wolf75222 Aug 3, 2026
c3408ed
fix(load-balance): bind decisions to live sources
wolf75222 Aug 3, 2026
31e2b5d
feat(amr): apply prepared rebalance decisions
wolf75222 Aug 3, 2026
de75b2b
feat(mesh): establish compile-time ND substrate checkpoint
wolf75222 Aug 3, 2026
461f337
packaging: classify prepared accelerator streams
wolf75222 Aug 3, 2026
04e6f68
feat(mesh): establish compile-time ND substrate checkpoint
wolf75222 Aug 3, 2026
cbdce14
merge: record ADC-731 ND substrate checkpoint
wolf75222 Aug 3, 2026
04f0770
fix(amr): reauthenticate cell-local publication
wolf75222 Aug 3, 2026
800f2be
fix(amr): refuse cell-local restart regrid
wolf75222 Aug 3, 2026
eb08ba5
feat(amr): snapshot local-time flux publication
wolf75222 Aug 3, 2026
013e159
feat(time): resynchronize prepared local executors
wolf75222 Aug 3, 2026
8b824cf
fix(amr): phase rebalance migration collectively
wolf75222 Aug 3, 2026
f875b33
feat(time): author bounded cell-local programs
wolf75222 Aug 3, 2026
c14c654
fix(amr): gather rebalance state through world authority
wolf75222 Aug 3, 2026
0083e0e
test(amr): neutralize periodic rebalance fixture
wolf75222 Aug 3, 2026
c710959
fix(load-balance): bind decisions to live sources
wolf75222 Aug 3, 2026
87e6049
feat(amr): apply prepared rebalance decisions
wolf75222 Aug 3, 2026
0d3c044
fix(amr): phase rebalance migration collectively
wolf75222 Aug 3, 2026
0c8e2a1
fix(amr): gather rebalance state through world authority
wolf75222 Aug 3, 2026
d5f3fac
test(amr): neutralize periodic rebalance fixture
wolf75222 Aug 3, 2026
db0bfca
merge: record ADC-757C AMR coherence ancestry
wolf75222 Aug 3, 2026
fd099cd
bench(adc757): require installed runtime hardware evidence
wolf75222 Aug 3, 2026
5f283c2
test(adc757): prove hardware reports fail closed
wolf75222 Aug 3, 2026
3f824b2
bench(adc757): require installed runtime hardware evidence
wolf75222 Aug 3, 2026
ac16248
test(adc757): prove hardware reports fail closed
wolf75222 Aug 3, 2026
15cbe65
merge: record ADC-757H installed hardware proof ancestry
wolf75222 Aug 3, 2026
44b0034
feat(amr): install bounded cell-local Program runtime
wolf75222 Aug 3, 2026
34b9e40
test(amr): prove installed cell-local Program route
wolf75222 Aug 3, 2026
50c5f4c
docs(amr): report bounded local-time runtime honestly
wolf75222 Aug 3, 2026
e164650
test(time): pin local-time clock wiring
wolf75222 Aug 3, 2026
51a860a
feat(amr): snapshot local-time flux publication
wolf75222 Aug 3, 2026
2640a39
feat(time): resynchronize prepared local executors
wolf75222 Aug 3, 2026
74e59ab
feat(time): author bounded cell-local programs
wolf75222 Aug 3, 2026
d343001
feat(amr): install bounded cell-local Program runtime
wolf75222 Aug 3, 2026
83f5f6c
test(amr): prove installed cell-local Program route
wolf75222 Aug 3, 2026
e16aef7
docs(amr): report bounded local-time runtime honestly
wolf75222 Aug 3, 2026
530b04f
test(time): pin local-time clock wiring
wolf75222 Aug 3, 2026
2b218a2
merge: record ADC-757G local-time runtime ancestry
wolf75222 Aug 3, 2026
4e707ae
feat(mesh): add compile-time mapped metrics
wolf75222 Aug 3, 2026
af1b8e5
test(mesh): prove mapped metric invariants
wolf75222 Aug 3, 2026
0c22fbc
test(mesh): shield templated refusal expression
wolf75222 Aug 3, 2026
e16b35a
ci: reconcile native duration inventory
wolf75222 Aug 3, 2026
5e608ec
test(mesh): exercise every Cartesian rank
wolf75222 Aug 3, 2026
f8abacb
feat(mesh): promote ranked boundary topology
wolf75222 Aug 3, 2026
f7e13ff
test(mesh): prove ranked boundary schedules
wolf75222 Aug 3, 2026
8835720
feat(mesh): promote ranked boundary topology
wolf75222 Aug 3, 2026
00eafe9
test(mesh): prove ranked boundary schedules
wolf75222 Aug 3, 2026
4c31123
merge: record ADC-734 ND boundary topology ancestry
wolf75222 Aug 3, 2026
b897382
fix(load-balance): forward source level through default policy
wolf75222 Aug 3, 2026
d815c6b
feat(mesh): add compile-time mapped metrics
wolf75222 Aug 3, 2026
facb738
test(mesh): prove mapped metric invariants
wolf75222 Aug 3, 2026
8b82129
test(mesh): shield templated refusal expression
wolf75222 Aug 3, 2026
091a397
ci: reconcile native duration inventory
wolf75222 Aug 3, 2026
2d6e64d
test(mesh): exercise every Cartesian rank
wolf75222 Aug 3, 2026
2402ff0
merge: record ADC-737 ND metric substrate ancestry
wolf75222 Aug 3, 2026
e4f4278
test(numerics): close AMR migration gate slice
wolf75222 Aug 3, 2026
0197a2c
feat(mesh): authenticate native spatial layout authority
wolf75222 Aug 3, 2026
ca8dcc8
feat(codegen): carry resolved dimension through artifacts
wolf75222 Aug 3, 2026
3212dc7
feat(runtime): consume exact spatial layout authority
wolf75222 Aug 3, 2026
47e0e75
feat(mesh): promote production ND layouts
wolf75222 Aug 3, 2026
291f326
feat(numerics): define axis-static ND conservation laws
wolf75222 Aug 3, 2026
76eef61
feat(numerics): prepare metric ND face operators
wolf75222 Aug 3, 2026
7299795
test(numerics): prove ND finite-volume contracts
wolf75222 Aug 3, 2026
f3f3f3f
feat(amr): add exact ND hierarchy planning
wolf75222 Aug 3, 2026
b0c0676
fix(numerics): accept mutable prepared face views
wolf75222 Aug 3, 2026
e90c28c
feat(mesh): add compile-time ND execution facades
wolf75222 Aug 3, 2026
ac05720
test(mesh): prove ND cell and face execution
wolf75222 Aug 3, 2026
9924d9d
feat(mesh): add compile-time ND execution facades
wolf75222 Aug 3, 2026
f5afa0e
test(mesh): prove ND cell and face execution
wolf75222 Aug 3, 2026
e3e6f29
Merge branch 'codex/adc732-nd-execution-20260803' into codex/adc695-e…
wolf75222 Aug 3, 2026
395e85f
feat(mesh): authenticate native spatial layout authority
wolf75222 Aug 3, 2026
087b6c1
feat(codegen): carry resolved dimension through artifacts
wolf75222 Aug 3, 2026
3d262e9
feat(runtime): consume exact spatial layout authority
wolf75222 Aug 3, 2026
e2fdf02
Merge branch 'codex/adc735-dimension-authority-20260803' into codex/a…
wolf75222 Aug 3, 2026
bfa88ac
fix(numerics): make ND test templates unambiguous
wolf75222 Aug 3, 2026
19f4634
feat(numerics): define axis-static ND conservation laws
wolf75222 Aug 3, 2026
6d26633
feat(numerics): prepare metric ND face operators
wolf75222 Aug 3, 2026
7df6e0d
test(numerics): prove ND finite-volume contracts
wolf75222 Aug 3, 2026
a360d54
fix(numerics): accept mutable prepared face views
wolf75222 Aug 3, 2026
afe7f49
fix(numerics): make ND test templates unambiguous
wolf75222 Aug 3, 2026
1e681e4
Merge branch 'codex/adc733-nd-fv-20260803' into codex/adc695-example-…
wolf75222 Aug 3, 2026
aff8430
test(amr): prove ND hierarchy planning
wolf75222 Aug 3, 2026
ca3825b
fix(time): capture cell-local step duration
wolf75222 Aug 3, 2026
e4ddb7e
ci: align ND hierarchy target labels
wolf75222 Aug 3, 2026
e2c21e7
test(amr): cover empty ND owner ranks
wolf75222 Aug 3, 2026
03bf9cb
feat(amr): add prepared ND transfer substrate
wolf75222 Aug 3, 2026
af962df
test(amr): prove ND transfer contracts
wolf75222 Aug 3, 2026
dccf503
feat(amr): add prepared ND transfer substrate
wolf75222 Aug 3, 2026
3db9886
test(amr): prove ND transfer contracts
wolf75222 Aug 3, 2026
7feb58d
Merge branch 'codex/adc738-nd-transfers-20260803' into codex/adc695-e…
wolf75222 Aug 4, 2026
75b327b
feat(mesh): promote production ND layouts
wolf75222 Aug 3, 2026
5523961
feat(amr): add exact ND hierarchy planning
wolf75222 Aug 3, 2026
c7c85f4
test(amr): prove ND hierarchy planning
wolf75222 Aug 3, 2026
95ec82b
ci: align ND hierarchy target labels
wolf75222 Aug 3, 2026
3e4d9c4
test(amr): cover empty ND owner ranks
wolf75222 Aug 3, 2026
bafca04
fix(amr): authenticate bounded ND clustering
wolf75222 Aug 4, 2026
c0f6e9c
test(amr): prove bounded symmetric ND clustering
wolf75222 Aug 4, 2026
4765819
fix(amr): authenticate bounded ND clustering
wolf75222 Aug 4, 2026
25b7c51
test(amr): prove bounded symmetric ND clustering
wolf75222 Aug 4, 2026
c3a9281
fix(amr): make ND dimension deduction unambiguous
wolf75222 Aug 4, 2026
6f7b943
fix(amr): make ND dimension deduction unambiguous
wolf75222 Aug 4, 2026
35c406f
feat(amr): add transactional ND face flux ledger
wolf75222 Aug 4, 2026
8b7c047
test(amr): prove ND metric reflux contracts
wolf75222 Aug 4, 2026
f0cef70
refactor(amr): unify ND refinement ratio authority
wolf75222 Aug 4, 2026
fe09b6e
feat(amr): add transactional ND face flux ledger
wolf75222 Aug 4, 2026
f842766
test(amr): prove ND metric reflux contracts
wolf75222 Aug 4, 2026
3f0d2a0
fix(amr): close ND reflux transaction gaps
wolf75222 Aug 4, 2026
016b1c7
ci: restore exact ND duration inventories
wolf75222 Aug 4, 2026
ce60297
test(ci): update exact MPI CTest inventory
wolf75222 Aug 4, 2026
1bc6e26
fix(amr): authenticate bounded ND reflux windows
wolf75222 Aug 4, 2026
b2628e6
Merge ADC-736 ND hierarchy history
wolf75222 Aug 4, 2026
49747cd
Merge ADC-738 ND flux ledger history
wolf75222 Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
109 changes: 92 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -225,12 +225,18 @@ jobs:
- 'tests/CMakeLists.txt'
- 'tests/test_manifest.toml'
- 'scripts/ci_select_tests.py'
# The M4 closure is executed inside the installed MPI/VTK lane below. Any edit to
# its ledger, runner, source fence, or workflow must therefore require this job on
# the PR that changes the proof, never wait for a later nightly run.
- 'tests/gates/m4_runtime_io.toml'
- 'tests/python/architecture/test_m4_runtime_io_gate.py'
- 'scripts/run_m4_gate.py'
- '.github/workflows/ci.yml'
- 'cmake/**'
- 'CMakeLists.txt'
- 'CMakePresets.json'
# Les changements de workflows/actions CI sont valides par revue + lint YAML local,
# et ne compilent pas Kokkos par defaut. Ajouter `ci-kokkos` pour forcer les gates
# Serial, ou `ci-full` pour MPI + OpenMP.
# Les autres changements de workflows/actions CI sont valides par revue + lint YAML
# local. Le workflow CI lui-meme fait exception car il porte la lane M4 executable.
# full : un push master ne lance la suite COMPLETE (MPI + Kokkos OpenMP) que si un
# chemin build/backend a bouge. Conservateur a dessein -- couvre tout ce qui peut affecter
# l'artefact compile OU le chemin DSL/production exerce par le job kokkos-openmp (dsl.py et
Expand Down Expand Up @@ -305,7 +311,7 @@ jobs:
gate-cpp-prewarm:
name: ubuntu-latest / Kokkos Serial (C++ prewarm ${{ matrix.lane }})
runs-on: ubuntu-latest
timeout-minutes: 22
timeout-minutes: 30
needs: [changes, set-mode]
if: needs.set-mode.outputs.cpp_required == 'true'
strategy:
Expand Down Expand Up @@ -365,7 +371,12 @@ jobs:
return "$status"
}
lane_parallelism=4
lane_watchdog=18m
case "${{ matrix.lane }}" in
system)
lane_parallelism=2
lane_watchdog=24m
;;
amr-base|amr-compressible) lane_parallelism=2 ;;
esac
export NINJA_STATUS='[%f/%t elapsed=%es active=%r] '
Expand All @@ -381,7 +392,7 @@ jobs:
--contract-file "$RUNNER_TEMP/cpp-prewarm-contract-${{ matrix.lane }}.json"
)
test "${#object_targets[@]}" -gt 0
run_with_heartbeat "C++ prewarm ${{ matrix.lane }}" 18m \
run_with_heartbeat "C++ prewarm ${{ matrix.lane }}" "$lane_watchdog" \
cmake --build --preset ci-kokkos --parallel "$lane_parallelism" \
--target "${object_targets[@]}"
ccache -s
Expand Down Expand Up @@ -592,6 +603,17 @@ jobs:
--verify-contracts "${compile_contracts[@]}"
read -r -a cpp_targets <<< "${{ steps.test-plan.outputs.cpp_shard_targets }}"
if [ "${#cpp_targets[@]}" -eq 0 ]; then
# Shard 0 owns target-less CTest contracts even when affected-test routing
# assigns it no executable target.
if [ "${{ matrix.shard }}" -eq 0 ]; then
ctest_inventory="$RUNNER_TEMP/ctest-shard-${{ matrix.shard }}.json"
standalone_regex_file="$RUNNER_TEMP/ctest-standalone-shard-${{ matrix.shard }}.regex"
ctest --preset ci-kokkos -N --show-only=json-v1 > "$ctest_inventory"
python3 scripts/ci_select_tests.py verify-cpp-target-labels \
--ctest-json "$ctest_inventory" \
--targets "${cpp_targets[@]}" \
--standalone-regex-file "$standalone_regex_file"
fi
echo "No affected C++ tests selected for shard ${{ matrix.shard }}."
exit 0
fi
Expand Down Expand Up @@ -715,6 +737,9 @@ jobs:
- name: M3 AMR and multi-layout gate manifest
run: python3 scripts/run_m3_gate.py --check-only

- name: M4 native runtime and scientific I/O gate manifest
run: python3 scripts/run_m4_gate.py --check-only

- name: Generated component catalog
env:
PYTHONPATH: ${{ github.workspace }}/python
Expand All @@ -732,7 +757,7 @@ jobs:
gate-python-prewarm:
name: ubuntu-latest / Kokkos Serial (Python prewarm ${{ matrix.lane }})
runs-on: ubuntu-latest
timeout-minutes: 22
timeout-minutes: 30
needs: [changes, set-mode]
if: needs.set-mode.outputs.python_required == 'true'
strategy:
Expand Down Expand Up @@ -828,15 +853,19 @@ jobs:
--contract-file "$RUNNER_TEMP/python-prewarm-contract-${{ matrix.lane }}.json"
)
test "${#object_targets[@]}" -gt 0
# Four simultaneous GCC frontends for the heavy AMR block seams exhaust a 16 GiB hosted
# runner. Two semantic, disjoint lanes keep their independently measured critical paths
# below the watchdog; each uses two frontends and preserves O3. The lighter System lane
# retains all four runner cores.
# Four simultaneous GCC frontends now also exhaust the 16 GiB runner on the grown System
# seam. Bound that lane to two frontends and give its cold O3 path the same measured
# watchdog margin as OpenMP; the four semantic lanes still execute independently.
lane_parallelism=4
lane_watchdog=18m
case "${{ matrix.lane }}" in
system)
lane_parallelism=2
lane_watchdog=24m
;;
amr-base|amr-compressible) lane_parallelism=2 ;;
esac
run_with_heartbeat "Python prewarm ${{ matrix.lane }}" 18m \
run_with_heartbeat "Python prewarm ${{ matrix.lane }}" "$lane_watchdog" \
cmake --build --preset ci-kokkos-python --parallel "$lane_parallelism" \
--target "${object_targets[@]}"
ccache -s
Expand Down Expand Up @@ -1438,8 +1467,8 @@ jobs:
name: ubuntu-24.04 / MPI + Kokkos Serial (C++ prewarm ${{ matrix.lane }})
runs-on: ubuntu-24.04
# setup-kokkos can consume ~15 minutes on a cold runner. Keep enough room
# for the explicit 18-minute compile watchdog and artifact publication.
timeout-minutes: 40
# for the System lane's explicit 24-minute compile watchdog and artifact publication.
timeout-minutes: 50
needs: [set-mode, changes]
if: needs.set-mode.outputs.mpi_required == 'true'
strategy:
Expand Down Expand Up @@ -1508,7 +1537,12 @@ jobs:
return "$status"
}
lane_parallelism=4
lane_watchdog=18m
case "${{ matrix.lane }}" in
system)
lane_parallelism=2
lane_watchdog=24m
;;
amr-base|amr-compressible) lane_parallelism=2 ;;
esac
mpi_cmake_args=()
Expand All @@ -1531,7 +1565,7 @@ jobs:
--contract-file "$RUNNER_TEMP/mpi-prewarm-contract-${{ matrix.lane }}.json"
)
test "${#object_targets[@]}" -gt 0
run_with_heartbeat "MPI prewarm ${{ matrix.lane }}" 18m \
run_with_heartbeat "MPI prewarm ${{ matrix.lane }}" "$lane_watchdog" \
cmake --build --preset ci-mpi --parallel "$lane_parallelism" \
--target "${object_targets[@]}"
ccache -s
Expand Down Expand Up @@ -1595,7 +1629,7 @@ jobs:
# The native build, processor-grouped CTest plan, and Python MPI contract
# fence run sequentially. Each C++ launch retains its configured bounded
# TIMEOUT; grouping removes PROCESSORS head-of-line blocking without skips.
timeout-minutes: 70
timeout-minutes: 180
needs: [set-mode, changes, gate-mpi-prewarm]
# Suite complete, ou PR qui modifie directement le chemin distribue/MPI.
if: needs.set-mode.outputs.mpi_required == 'true'
Expand Down Expand Up @@ -1632,7 +1666,7 @@ jobs:
sudo apt-get install -y --no-install-recommends \
ccache libeigen3-dev libhdf5-openmpi-dev libopenmpi-dev ninja-build openmpi-bin \
pybind11-dev python3-dev python3-h5py \
python3-numpy python3-pytest
python3-numpy python3-pytest python3-vtk9

- name: Resolve runner and compiler cache identity
id: kokkos-platform
Expand Down Expand Up @@ -1717,7 +1751,7 @@ jobs:
test -s build-mpi/mpi-ctest-groups.tsv

- name: Configure + build (MPI + Kokkos Serial)
timeout-minutes: 22
timeout-minutes: 35
# Flags : preset ci-mpi (source unique, cf. CMakePresets.json) ; Kokkos_ROOT vient de
# $KOKKOS_PREFIX (env du job, install en cache). ccache auto-detecte.
run: |
Expand Down Expand Up @@ -1772,6 +1806,10 @@ jobs:
--build-dir build-mpi \
--verify-contracts "${compile_contracts[@]}"
read -r -a mpi_targets <<< "${{ steps.mpi-test-plan.outputs.cpp_label_targets }}"
mapfile -t m4_targets < <(
/usr/bin/python3 scripts/run_m4_gate.py --list-ctest-targets
)
test "${#m4_targets[@]}" -gt 0
export NINJA_STATUS='[%f/%t elapsed=%es active=%r] '
# The monolithic Python module link is memory-heavy. Keep it isolated
# from test compilation/linking so a small hosted runner cannot evict
Expand All @@ -1780,6 +1818,8 @@ jobs:
cmake --build --preset ci-mpi --parallel 1 --target _pops
run_with_heartbeat "MPI native test build" 8m \
cmake --build --preset ci-mpi --parallel 4 --target "${mpi_targets[@]}"
run_with_heartbeat "M4 native test build" 10m \
cmake --build --preset ci-mpi --parallel 4 --target "${m4_targets[@]}"

- name: Installed package smoke (MPI-only + collective HDF5)
run: |
Expand Down Expand Up @@ -1935,6 +1975,41 @@ jobs:
timeout --signal=TERM --kill-after=30s 25m \
/usr/bin/python3 -m pytest -q -ra --maxfail=1 "$mpi_orchestrator"
done < build-mpi/python-mpi-orchestrators.txt

- name: M4 complete native runtime and scientific I/O gate
timeout-minutes: 45
env:
PYTHONPATH: ${{ github.workspace }}/build-mpi/python-package:${{ github.workspace }}
POPS_INCLUDE: ${{ github.workspace }}/include
POPS_KOKKOS_ROOT: ${{ github.workspace }}/.kokkos-install
Kokkos_ROOT: ${{ github.workspace }}/.kokkos-install
POPS_CACHE_DIR: ${{ github.workspace }}/.pops-ci/m4-dsl-cache
POPS_KEEP_GENERATED: "1"
POPS_REQUIRE_MPI_TESTS: "1"
POPS_REQUIRE_NATIVE_TESTS: "1"
# Ubuntu 24.04 OpenMPI 4 OMPIO selects sharedfp/lockedfile during
# HDF5 MPI_File_open and aborts inside its fortified sprintf path.
# ROMIO is the packaged OpenMPI MPI-IO component and exercises the
# same collective HDF5 contract without that implementation defect.
OMPI_MCA_io: "^ompio"
run: |
# These readers are mandatory capabilities of this lane. Imports happen before the gate
# so a missing apt module cannot masquerade as a scientific skip.
/usr/bin/python3 - <<'PY'
import h5py
import numpy
from vtkmodules.vtkIOXML import (
vtkXMLPUnstructuredGridReader,
vtkXMLUnstructuredGridReader,
)

print("M4 readers:", numpy.__version__, h5py.__version__)
print(vtkXMLPUnstructuredGridReader, vtkXMLUnstructuredGridReader)
PY
/usr/bin/python3 scripts/run_m4_gate.py \
--build-dir build-mpi \
--mpi-exec mpiexec

- name: ccache stats (MPI)
if: always()
run: ccache -s
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,27 +142,31 @@ jobs:
else
echo "racine propre (aucun artefact a la racine)"
fi
- name: Couverture manifest de tests (test_manifest.toml, informatif)
- name: Couverture manifest de tests (test_manifest.toml, bloquante)
if: always()
run: |
# gen_test_counts.py --check-matrix liste les tests disque absents de tests/test_manifest.toml.
# Non bloquant (set +e) : informatif jusqu'a ce que le manifest soit complet, puis bloquant.
# Le manifest est complet : toute nouvelle entree disque non declaree est une regression.
# Capturer le statut permet de publier le detail avant d'echouer explicitement.
set +e
out=$(python3 docs/gen_test_counts.py --check-matrix)
rc=$?
set -e
echo "$out"
n=$(printf '%s\n' "$out" | grep -c '^MISSING' || true) # grep -c exit 1 si 0 match -> || true (sinon set -e tue l'etape quand la matrice est complete)
if [ "$rc" -ne 0 ]; then
echo "::warning::tests/test_manifest.toml : $n test(s) sans entree (anti-derive)"
echo "::error::tests/test_manifest.toml : $n test(s) sans entree (anti-derive)"
fi
{
echo "### Couverture manifest de tests"
echo ""
echo "- Tests absents de \`tests/test_manifest.toml\` : **$n**"
echo ""
echo "_Informatif : ajouter l'entree du test dans le manifest ; bloquant une fois complet._"
echo "_Bloquant : tout test doit appartenir au manifest autoritatif._"
} >> "$GITHUB_STEP_SUMMARY"
if [ "$rc" -ne 0 ]; then
exit "$rc"
fi

# --- Prewarm natif : contrats exacts par profil qualite ----------------------------------------
# Warnings, ASan et coverage portent trois jeux de flags incompatibles avec le build de production
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ jobs:
name: Validate the exact published wheel
needs: wheel
runs-on: macos-14
timeout-minutes: 40
# The complete source suite is already the parallel ``full-source-matrix`` dependency. This
# wheel lane runs the bounded M4/final-example ledger once, then CTest and artifact/restart
# proofs against the exact retained wheel. Keep enough room for an uncached native build.
timeout-minutes: 180
steps:
- uses: actions/checkout@v7
with:
Expand All @@ -61,15 +64,21 @@ jobs:
wheels=("$RUNNER_TEMP"/wheelhouse/pops-*.whl)
test "${#wheels[@]}" -eq 1
evidence="$RUNNER_TEMP/pops-final-evidence.json"
public_api_evidence="$RUNNER_TEMP/pops-final-evidence-public-api.json"
python scripts/run_final_gate.py --wheel "${wheels[0]}" --evidence "$evidence"
python scripts/prove_public_api_parity.py \
--wheel "${wheels[0]}" \
--installed \
--evidence "$public_api_evidence"
python - <<'PY'
from pops.runtime_environment import runtime_environment_report
report = runtime_environment_report()
assert report["kokkos_backend"] == "Serial", report
assert report["mpi_compiled"] is False, report
PY
python scripts/release_preflight.py \
--release --tag "$GITHUB_REF_NAME" --installed --evidence "$evidence"
--release --tag "$GITHUB_REF_NAME" --installed --evidence "$evidence" \
--public-api-evidence "$public_api_evidence"

- name: Retain authenticated release evidence
uses: actions/upload-artifact@v7
Expand Down
Loading
Loading