REQ-NFR-069

EVM rollup is deterministic and reproducible from input snapshots

ID
REQ-NFR-069
Category
Non-Functional Requirements
Status
approved
Priority
P0
Created
2026-05-11T18:34:00.000Z
Approved
2026-05-11T18:37:00.000Z
Updated
2026-05-11T18:37:00.000Z

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

Primary Knowledge Area
Cost Management
Secondary KAs
Quality Management
Primary Process Group
Monitoring & Controlling
established project management guidelines Deliverable
Cost Baseline, Status Report

Correctness NFR for established project management guidelines Control Costs EVM output.