About

Who

Charley Forey. Iowa State University alumnus. This is independent research carried out alone. There is no company, no funding, no employees and no customer.

No PE licence, no AACE PSP, no CFCC. That is a real limitation and it bounds what this can be, deliberately: it is a tool, not an opinion. It reports what a clause says and what the file contains. It does not render a professional judgment about whether a schedule is reasonable, whether a delay is excusable, or who is responsible — and in the places where a specification asks for exactly that judgment, it refuses to answer and hands the evidence to the person who is qualified to.

The governing sentence for the whole project: it supplies a computation; a person supplies the opinion.

Why it exists

Reading a specification and checking a schedule against it is work that is done by hand, by people who are expensive, in the first hours of a review, before anything interesting happens. The mechanical part of that is a computation. The part that decides a dispute is not, and no tool should pretend otherwise.

Both halves are on this site. The what it does page is the first half. The what this cannot do page is longer, and that proportion is the honest one.

What is built on

The CPM engine in cpmcore is a fork of MassingPlan's core package (github.com/MassingCloud/massingplan), used under the MIT licence and vendored into this tree — which is the use its authors designed it for. Changes made in the fork are recorded in the repository. Attribution travels with it in the repository's notice file.

That disclosure appears here because it should be made on the first page anybody outside the project reads, rather than only in files nobody outside the project sees.

The engine has no third-party runtime dependencies of any kind, which is enforced as a build failure rather than as a convention. That is a choice about vendorability and about removing an entire class of supply-chain question from a security review. It is not a boast.

What is used, and by what right

Comparison engines, JDKs, corpus files and jars are fetched by pinned, hash-verified scripts and never committed. What the repository contains is the fetch script, the manifest and the provenance record — never the payload. The obligation to pass on a notice attaches to distribution, and none of it is distributed.

Most of the source repositories the schedule corpus comes from state no licence, which is a finding and not a permission. Nothing was downloaded in bulk, no account was created and no terms were accepted; two candidate sources were stopped at exactly the point where proceeding would have required one of those, and are recorded as blocked rather than as negatives.

The standards this tool implements are a mix. GAO's Schedule Assessment Guide and the UFGS sections are United States federal works and carry no copyright. AACE, ASCE, SCL and the rest are copyrighted private-body standards. A rule pack may implement the method and must never carry the expression — so the packs cite clause numbers and state conditions rather than reproducing text, and shipped output measures zero words of any restricted standard.

The discipline, stated so it can be checked

This project's credibility rests on a small number of habits, and they are worth naming because they are checkable rather than asserted:

What is wanted

Two things, and neither is a sale.

Schedule files that a CPM engine can be tested against. Specifically: a sanitised derivative of a file from a project where no dispute exists or is anticipated, sanitised by you rather than by anyone here. Activity names, WBS names, resource names, costs and narratives are all irrelevant — what is needed is the computed columns against the input columns. Ten such files would settle the accuracy question. A realistic expectation for six months of asking is three to eight; anybody promising more has not tried.

Half an hour of a reviewer's time, telling us which of these clauses actually get enforced and which are ignored. That is the one that could kill the idea, which is why it is asked first.

Before you send anything. Where a project is in dispute or a dispute is anticipated, route the file through your counsel of record rather than here. Analysis produced outside a litigation instruction may not attract work-product protection, and a file handed to a third party is a disclosure your opponent can ask about. "Completed" is not the test — a project can be finished and its claim still live. The question is whether a dispute exists or is anticipated, not whether the work is done.

How this compares to what you already have

The honest difference, in one sentence: those tools check whether a schedule is good against a general-purpose metric library with configurable thresholds; this one checks whether a schedule complies with the clause in your contract, cites the clause, and refuses to score the clauses it could not reach.

Three things follow from that, and each is checkable:

And what they do better, which should be said first. The established products have cloud authorisations, security certifications, web interfaces, far larger metric libraries, and years of production use across real portfolios. This has a command line, no interface, no certifications and no users. On any question of maturity they win, and saying so is what makes the rest of the comparison believable.

This site describes competitors only from their own published pages, on a stated date, and never characterises how any of them computes anything internally.

Are you reading the standards correctly?

Sometimes, probably not. That is a real question only the people who wrote them can settle. If you spot a misreading, that is the most useful thing you could send back.

Contact

Charley Forey — charley.s.forey@gmail.com

Source: web/pages/about.md. Source commit date: 2026-09-06.

See it in practice

Follow the evidence, from the schedule to the finding.

Explore the worked example