analyze() and WFA outputs include fields such as engineVersion, formulaVersion, riskAnalysisVersion, contractVersion, inputHash, configHash, and seed. Keep them when you store results so you can prove which build produced a report.
The engine ships conformance vectors and scripts to refresh metadata when formulas change—see the repository test-vectors package and CONFORMANCE.md.
Extended technical detail: [OPEN_CORE_REPRODUCIBILITY.md].