CPP
Critical Path Partners
Forensic Schedule Analysis · criticalpathpartners.ca
Forensic CPM Engine — Reproducibility Certificate
One-page expert-disclosure attachment. The engine that produced your forensic report is independently reproducible by any opposing expert.
VERSION 2.9.16 · SHA-256-LOCKED · SIGSTORE-SIGNED
Engine Identity
JavaScript engine SHA-256
4815ba956d733ea4c008da4337bf2fa36c7d9ef3630a027475e28a4d2bea5e0d
Python reference SHA-256
1537dfd490062bfe1b726f86cabf4731d8a2218b6013732c8a53256a2bcb7e7c
GitHub commit (tag
v2.9.16)c0af428c9b6465f073f5d00d2d0f4a80507cc69f
Topology-hash format
sha256-canonical-v2 (prefix
v2:)Four Public Deployment Surfaces — Bit-Identical
| Surface | Install Path | Verification |
|---|---|---|
| npm package | npm install cpp-cpm-engine@2.9.16 | npm view cpp-cpm-engine@2.9.16 dist.shasum |
| GitHub release | github.com/danafitkowski/cpp-cpm-engine/releases/tag/v2.9.16 | gh attestation verify cpp-cpm-engine-2.9.16.tgz |
| Railway-hosted MCP | curl mcp.criticalpathpartners.ca/cpm-engine.js | sha256sum — compare to cell above |
| Local skill bundle | ~/.claude/skills/cpp-forensic-mcp/static/cpm-engine.js | sha256sum — compare to cell above |
| MCP registry index | registry.modelcontextprotocol.io/v0/servers?search=cpp-cpm | version === 2.9.16 (later builds have since shipped) |
Reproduction in under a minute, zero npm dependencies, any opposing expert
git clone https://github.com/danafitkowski/cpp-cpm-engine cd cpp-cpm-engine && git checkout v2.9.16 npm test # 878 unit tests node cpm-engine.crossval.js # 43 fixtures × 444 checks JS↔Python parity
Verifiable Evidence
Unit tests passing
878 / 878 assertions
Cross-validation
43 fixtures · 444 / 444 checks
CI matrix
3 OS × 3 Node = 9 cells per push
Engine lines of code
JS 6,950 · Python 1,304
Holiday calendars
66 jurisdictions (CA+13, US+50, +UK)
Sigstore signature
Rekor public transparency log
AACE-Canonical Method Identifiers
- AACE 29R-03 — Forensic Schedule Analysis. MIP 3.3 Observational/Dynamic/Contemporaneous As-Is (Windows); MIP 3.6 Modeled/Additive/Single Base (Impacted As-Planned); MIP 3.7 Modeled/Additive/Multiple Base (TIA); MIP 3.8 Modeled/Subtractive/Single Simulation (Collapsed As-Built).
- AACE 49R-06 — Critical Path identification methods (LPM · TFM · MFP).
- AACE 52R-06 — Time Impact Analysis (fragnet insertion).
- DCMA 14-Point Assessment — full coverage in CI.
- SCL Delay & Disruption Protocol, 2nd Edition (2017) — methodology alignment.
Daubert Framework Compliance
- FRE 702 as amended December 1, 2023 — methodology reliability (Rule 702(c) and 702(d)) demonstrated to preponderance of evidence. All four Daubert prongs addressed in
buildDaubertDisclosure(). - Daubert v. Merrell Dow Pharmaceuticals, Inc., 509 U.S. 579 (1993) — foundational reliability framework: testability, peer review, error rate, general acceptance.
- FRCP 26(a)(2)(B) — expert disclosure of methods and data. Engine version + topology hash + manifest fields satisfy disclosure.
- Proposed FRE 707 — would apply Rule 702(a)–(d) reliability standards to machine-generated evidence offered without an expert witness. That is squarely what this engine produces, so its output must be able to show sufficient input data, reliable principles and methods, and reliable application to the facts. This certificate exists to make that showable. Status: proposed only. The US Courts list it as projected to take effect 1 December 2027 and note that proposed amendments may be delayed or withdrawn. Pending amendments status. Not to be confused with FRE 706, which governs court-appointed experts.