REQ-NFR-069
EVM rollup is deterministic and reproducible from input snapshots
What
Given a fixed snapshot of (cost_baseline_allocation, activity percent_complete + planned/actual, cost_ledger), the EVM rollup (REQ-FUN-118) SHALL produce identical output across runs and across server processes.
Why
EVM is a comparable-across-time metric. Non-determinism (floating point drift, dictionary-ordering dependent sums) makes period-over-period comparison noise.
How
All computation in decimal arithmetic (no float); sums computed in a deterministic order (by primary key); golden-input regression test stored in the test suite; CI fails if EVM output diverges by even one cent.
Done when
Golden-input regression test green; reference textbook example reproduces the documented values exactly.
Out of scope
Cross-language reproducibility (Python-only is acceptable for MVP).
established project management guidelines Mapping
Correctness NFR for established project management guidelines Control Costs EVM output.