feat(reproducibility): persist verifiable stochastic run provenance#117
Conversation
- Record effective seeds, named PCG streams, build identity, transition traces, causal metadata, state fingerprints, and payload checksums. - Atomically publish validated OFF payload/manifest pairs and reject malformed, corrupt, or semantically inconsistent persisted state. - Canonically map proposal draws for identical-start replay while preserving spherical placement and CGAL triangulation freedom. - Document checkpoint and fresh-topology replay limitations. Closes #93
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThe PR propagates effective seeds through runtime configuration, canonicalizes stochastic move selection, records Metropolis transition provenance, adds validated ChangesReproducibility and persistence
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@include/Runtime_config.hpp`:
- Around line 31-55: Add a direct include of Random.hpp to Runtime_config.hpp so
the Triangulation declarations and constructor can resolve cdt::Random_seed
without relying on Utilities.hpp’s transitive includes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: f3460c87-c3b8-4cb3-8f8c-2333d471e386
📒 Files selected for processing (18)
CMakeLists.txtREADME.mdcmake/RunCdtNoOutputTest.cmakecmake/RunPersistenceOutputTest.cmakecmake/Version.hpp.indocs/reproducibility.mdinclude/Ergodic_moves_3.hppinclude/Metropolis.hppinclude/Runtime_config.hppinclude/Utilities.hppsrc/CMakeLists.txtsrc/cdt.cppsrc/initialize.cpptests/Ergodic_moves_3_test.cpptests/Metropolis_test.cpptests/Random_test.cpptests/Runtime_config_test.cpptests/Utilities_test.cpp
Closes #93
Summary by CodeRabbit
New Features
.offoutputs now ship with paired.off.metaprovenance manifests including effective seed, build details, and integrity/provenance checks.Bug Fixes
Documentation
Tests