Defensible delay analysis. Reproducible from the XER chain up.
The full forensic schedule toolkit: windows analysis (MIP 3.3), collapsed as-built (§3.8), TIA fragnet (52R-06), per-window concurrency, DCMA-14 health, Monte Carlo SRA. Every metric names the AACE recommended practice it implements. Every output cites its inputs. Built for the day a finish-date claim has to survive opposing counsel.
For construction lawyers, claims consultants, expert witnesses, and owners or contractors in dispute. The same thirteen tools are also callable directly from Claude or Cursor. The AI-native delivery path is how the engine stays fast and reproducible, not the headline. If you just want a free DCMA-14 read-out without the full forensic workup, the Schedule Health Report is the right door.
Grade the schedule before anyone argues over it.
DCMA-14 metrics, BEI, CPLI, and false-criticality detection make up the schedule audit that comes before any forensic argument. If the schedule fails compliance, the finish-date claim built on it is already weak.
Schedule Health Dashboard
Full self-contained HTML dashboard: DCMA-14 plus CPLI, BEI, baseline-vs-current variance, slip register, CPP score bands, and a reproducibility manifest. The bands are a CPP presentation convention informed by GAO and AACE guidance, not a grade either body publishes. A filed-copy PDF is rendered from the same file.
Critical-Path Validation
Logic health audit at the JSON layer. It surfaces false criticality, constraint-driven CP segments, open ends, and the 14 DCMA metrics at the chosen profile (commercial, nuclear, mining). BEI when a baseline is supplied.
XER Table Summary
Parses a Primavera P6 XER and returns the table inventory: field lists, record counts, P6 export header, project name and data date. The structural confirmation step every downstream tool relies on.
Six tools across the AACE-recognized methods.
Three AACE-recognized methods (windows analysis under MIP 3.3, collapsed as-built under §3.8, TIA fragnet under 52R-06), plus per-window concurrency, calendar-shaped execution, and slip-rate trending. Run independently on the same XER chain. When the windows result and the but-for result agree, that agreement is reported; when they diverge, the gap is reported, not smoothed.
Tools marked [CPP method] are CPP’s own extensions, not methods AACE or the SCL Protocol publish. They have not yet been through outside peer review, so in a contested matter CPP uses them to illustrate a point and never as the basis of an opinion.
Windows Analysis (Headline Tool)
Multi-snapshot forensic windows analysis: per-window completion shifts, slip register, critical-path duration growth, per-party attribution (Owner / Contractor / Concurrent / Force Majeure / Unattributed), and cumulative project drift.
Collapsed As-Built / But-For
Subtractive but-for analysis on the post-impact XER: per-event but-for finish, cumulative but-for finish, and a dual-method gap report that validates the windows-analysis result independently.
Independent in methodology (windows + collapsed are mathematically distinct approaches); both are computed by CPP’s open-source engine. See the independent-verification note and the published cross-validation results for the same-author caveat.
TIA Fragnet Insertion
Prospective fragnet insertion into a pre-impact baseline: per-fragnet completion impact in calendar AND project-calendar working days, plus cumulative impact across all fragnets.
Per-Window Concurrency Matrix
Window-by-window apportionment grid: how each window distributed its shift across the parties. Conservation-checked: column totals equal grand-total shift within rounding.
Worked-vs-On-time Timeline
Calendar-shaped per-activity day classifier: PROGRESS, GAIN, EXTENDED, VOID. Gives the trier-of-fact a calendar picture of how the project executed against how it was supposed to.
Slip Velocity & Acceleration
Per-window slip-rate trend on top of windows analysis: signed velocity (days per day), finite-difference acceleration, and centroid midpoint estimate. Honest probabilistic caveats embedded.
Why is this activity critical, and what does it drive?
Single-activity logic-trace investigation, with constraint-driven artificial-criticality detection cited per AACE 49R-06.
Driver-Chain Explorer
Traces driving predecessors back to project start (the "why critical" chain) and successors forward to finish (the "what it drives" chain). Detects constraint-driven artificial criticality, supports MCPM and near-critical paths.
P50, P80, and the maturity level behind them.
Monte Carlo SRA with sensitivity tornado, plus a maturity badge that places the SRA evidence on the five levels named in AACE 122R-22, with the right caveats.
Monte Carlo Schedule Risk
Probabilistic finish-date forecast: P10/P50/P80/P90 with nearest-rank percentiles. Triangular, BetaPERT, Uniform, Lognormal distributions. Per-activity sensitivity tornado correlated to project finish.
QRAMM-Aligned Maturity Reading
Places an SRA result on the five levels named in the AACE 122R-22 Quantitative Risk Analysis Maturity Model: level 1 Reactive, level 2 Ad-hoc, level 3 Centralized, level 4 Dynamic, level 5 Adaptive. Disclosed evidence, gaps to the next level, and a scope note. The RP assesses an organization, so a reading on one simulation run is our placement on its scale, not a QRAMM score.
From a folder of mixed evidence to a unified workbench.
The way real claim files actually arrive: schedule updates, owner correspondence, RFIs, change orders, and meeting minutes, all of it mixed together in one folder. This tool turns that into structured forensic output.
Evidence Ledger + Chain-Diff
Takes one folder of mixed evidence and produces: chronological evidence ledger, 14-category schedule manipulation chain-diff, per-activity rolling baseline, statistical-impossibility trust score, and a slip-to-evidence cross-reference.
Built to be run by Claude, not only clicked.
Most forensic software ships as a desktop app or a web dashboard: you click, wait and copy results out. CPP’s tools are also exposed through MCP, so Claude can run them in sequence, read their output and draft the analyst’s working notes. The analyst checks every figure before it goes anywhere.
Conversation-driven analysis
"Run windows analysis on these XERs, then a collapsed as-built validation, then summarize the cumulative drift and which window contributed most." That's one prompt to Claude, three tool calls, one paragraph back. The tools chain themselves.
Same tools, batched in Python
Every MCP tool also has a Python entry point in the underlying engine. Run a hundred Monte Carlo simulations across a portfolio, batch a year of monthly DCMA reports, automate the claim package. All of it runs on the same code path as the live demo.
JSON-safe outputs, deterministic math
Every tool returns structured JSON with raw values alongside rounded values, the standard it implements named in the response, and a methodology field explaining what the tool can and cannot conclude. Reproducible. Auditable. Defensible under cross-examination.
No lock-in, no per-seat licence
The analysis does not live inside a CPP interface. Connect the CPP MCP from your own AI client, self-host if your firm requires air-gapped tools, and read the engine itself: it is MIT open source. Weighing a subscription platform instead? CPP and SmartPM compared, on SmartPM’s own published pricing.
Each tool names the AACE recommended practice it implements.
No house-brand methods. Every forensic tool in the suite traces back to a published AACE Recommended Practice, DCMA standard, or peer-reviewed treatise: named in the tool output, traced in the dashboard, defensible on cross-examination.
Three steps. Same thirteen tools either way.
Hosted MCP at mcp.criticalpathpartners.ca. Pick your client, paste the URL or JSON, start using the tools. Full setup walkthrough on the Connect Claude page.
Install Claude (or your MCP client)
Claude.ai web (Pro / Max plan), Claude Desktop, Cursor, Cline. Any client that speaks MCP works. The hosted server handles both Streamable-HTTP and SSE transports.
Paste the MCP config
Claude (web, desktop and mobile): Customize → Connectors → Add custom connector. Cursor / Cline: paste the JSON into your MCP config file. Same endpoint, two transport flavors.
Start using the tools
Ask your AI: "What MCP tools are available from cpp-forensic?" You'll see all thirteen. From there, drop in an XER pair and ask for windows analysis, a DCMA-14 check, or a Monte Carlo, whatever you need.
Just want a quick health check?
The free screening runs a DCMA screening that scores 10 of the 14 points (11 with a baseline) and 29 other diagnostic sections entirely in your browser: no setup, no Claude, no install, and XER/XML never leave your machine. Add an earlier XER to switch on the comparison sections.
Resource-loaded schedule on shift or outage calendars?
Loaded XERs with rotating shifts or outage windows carry their own failure modes: remaining-duration drift, calendar-unit mismatches, and curves that disagree with the dates under them. There is a dedicated walkthrough of how CPP handles them.
New to forensic delay analysis?
What it is, the methods behind it, and what to look for in the deliverable, in plain language.
Will an AI-assisted analysis be admitted?
What Ontario's rules already require of an expert report, the four proposed rules on AI evidence, and what both mean for a delay analysis.
What does a half-step XER prove?
AACE 29R-03 MIP 3.4 in plain language: what a half-step isolates between two schedule updates.
Connect the toolkit. Or hire the analyst behind it.
Thirteen tools, JSON-safe, connectable from Claude. The deeper work runs through the analyst: expert reports, expert evidence, and claims built to be defended under cross-examination.