The document map — start from your question, not from the directory
Written 5 September 2026 against revision 0918e55, which is the revision the
counts below were taken at. Several documents were being written while this
was counted, so the totals move; the shape does not, and the shape is what
this page is for.
This repository tracks ~~two hundred and twenty-five~~ two hundred and
sixty-six markdown files — recounted 6 September 2026 at revision d3356c2
with git ls-files '*.md', forty-one above the figure this page was written
against, in one day. Every one of them carries its evidence, which is the reason
there are so many and the reason none should be deleted. It is also why nobody
can find anything: an index of that many filenames is a second problem, not a
solution to the first.
The recount corrects the total only. The four-part breakdown at the end of this
page is left at its original figures and is not restated over the new
denominator: those parts were hand-classified at 0918e55 and nobody has
re-classified the files added since, so writing the new total under the old
parts would be arithmetic nobody ran. The paragraph carries a dated note saying
so.
So this page is organised by the question a reader arrives with. Find your question, read the two or three documents under it in the order given, and stop. Everything else in the tree is there to be reached from a citation inside one of them, not to be browsed.
A note on how to read any figure you meet on the way: engine/quality/FIGURE-BINDING.md
names the owning document for every number this project publishes about itself.
If two pages disagree, the owner wins and the other page is stale. Read the owner.
If you are deciding whether to trust this tool
Can I trust the dates it computes? This is the question the whole repository is arranged around, and the honest answer is a measured one rather than a reassuring one.
Read engine/oracle/README.md first. It sets out the seven independent tiers of
evidence and, more usefully, states what each tier cannot prove. Then read
engine/oracle/corpus/SWEEP-2.md, which owns the agreement figure against real
Primavera P6 exports and carries every superseded level struck and dated beneath
the live one. Then read engine/oracle/corpus/P6-SELF.md, which measures how
much agreement is achievable at all before anything is fixed — a ceiling that
turns out to cut against us rather than for us. Three documents, in that order,
and you will know more about this engine's accuracy than the vendor of any
commercial equivalent will tell you about theirs.
What will it get wrong on my file? docs/LIMITATIONS.md is the page the
entire posture rests on: everything unproved, everything impossible, and why.
engine/quality/PROJECTION-BLINDNESS.md is the sharper half — the survey of
rules that answered confidently about a population they could not see, and what
was done about it.
What does an opposing expert do with this in a deposition?
engine/quality/CROSS-EXAMINATION.md ranks the attacks. engine/quality/DEPOSITION.md
reviews the committed demo reports against Federal Rule of Evidence 702.
credentialing/LEGAL-POSTURE.md states what may and may not be claimed while
the founder is unlicensed, as numbered rules rather than as sentiment.
Can I reproduce your numbers? docs/ANSWER-TABLE.md is the reproduction
record and its mapping to P6's own columns. engine/quality/REPRODUCIBILITY.md
separates what a third party can re-run from what they must take on faith.
engine/quality/DETERMINISM.md measures sameness along five axes, and names the
one axis where only the control caught the problem.
engine/quality/THE-RECORD.md audits the record/verify pair itself: what a
record captures, what verify detects against a forged one, and the threat
model including who it does not defend against.
engine/quality/WHAT-IS-VERIFIED.md is the map of the verification machinery
as a whole, which nobody had drawn until 5 September.
What has never been run? Ask this before the reproduction question rather
than after it, because it changes what the answer to that one is worth.
docs/LIMITATIONS.md §13 states it: continuous integration has not executed a
step since 3 September, 284 commits have landed since, and the reproduction
matrix across three Pythons and two platforms has never executed once in the
life of this repository. engine/quality/CI-AUDIT.md is the audit that found
it and names the cause. Cross-version and cross-platform determinism are
therefore assumed and not verified; what is measured is five hash seeds on one
Windows machine running one interpreter.
Is any of this real? docs/IS-THIS-REAL.md is written for a hostile
engineer and every figure on it names its owning file.
If you are going to run it
I have never run it. Start at docs/INSTALL.md, which names the failure
modes rather than assuming none. Then docs/GETTING-STARTED.md, written for a
scheduler and not for a programmer. Then demo/README.md, which is a worked
example whose every transcript is captured from a real run and pinned by a test.
I have a report and I do not know what it is telling me.
docs/READING-A-REPORT.md explains what each section claims, and in particular
what a NOT_EVALUATED finding obliges you to do rather than allows you to
ignore. engine/quality/ABOVE-THE-SCORE.md explains why the reservations come
before the score and not after it, and
engine/quality/A-FIGURE-AND-ITS-CONDITION.md is the sweep of every surface
that prints a figure, asking of each whether the condition qualifying it is on
the same surface and ahead of it — the class this repository has now found eight
times, most recently a score printed for a schedule whose logic is a loop and a
slip total stated in elapsed days beside a split counted in working ones.
The report says it could not decide most of the clauses, and that is most of
what I got back. That is the correct output on a file with no contract terms,
and the command that turns it into a worklist is construct unanswered,
which groups the abstentions by the input a person would have to supply rather
than by the rule that wanted it. docs/FIRST-RUN.md is the record of somebody
not finding it, which is the reason it is named here rather than left in the
command table. construct clause then asks one clause what it looks at and
what would settle it.
How does this schedule look before any specification is applied?
construct health runs the DCMA fourteen-point screening metrics from
cpmcore/health.py, audited clause by clause against DCMA-EA PAM 200.1. Two
things about it are load-bearing and neither is obvious. It is the one command
that never exits 1, because GAO-16-89G appendix VII states that DCMA's
thresholds are indicators rather than compliance triggers, and a gate built on
them would be a gate the standard disclaims. And all fourteen checks were
implemented and no command could reach them until 5 September, while
forensic/rules/gao.py was already printing an instruction to run a command
that did not exist — engine/quality/UNREACHABLE.md is the survey that found
that and the seventy-odd other capabilities measured the same way, and it is
worth reading as a method rather than as a defect list.
Which clauses does it actually check? docs/CONFORMANCE.md owns the rule
count and the pack table, and its section on what the packs do not check is
the part worth reading twice. docs/RULE-DEPENDENCE.md partitions every rule by
what its verdict depends on: whether it reads a fact out of your file, whether
it merely needs the schedule to have been calculated, or whether it inherits the
CPM arithmetic and therefore inherits the agreement figure too.
Two of your standards disagree about my schedule. docs/CONFLICTS.md lists
the places where two authority packs decide the same question differently, and
engine/quality/PATH-SHIFT.md works one of them through in detail.
Is the delay analysis real, or is it a checklist? docs/METHODS.md states
which AACE method implementation protocols the engine runs.
engine/quality/MIP-COVERAGE.md tests that claim step by step against the
recommended practice. engine/oracle/injection/MATRIX.md asks the only question
that settles it: hand a method a delay it was built to find, and see whether it
finds it.
What jobs can I actually do end to end? docs/WORKFLOWS.md walks five of
them at the command line and says where each one breaks.
If you are joining this tree as a developer or an agent
Read CLAUDE.md in full before you touch anything. It is not style
guidance; every line in it is the shortest form of a lesson that cost somebody a
night, and most of them are about git, mutation harnesses and shared temporary
files rather than about code.
Then, before you write a check: engine/quality/UNFALSIFIABLE.md on
assertions that cannot fail, engine/quality/PROJECTION-BLINDNESS.md on rules
that cannot observe the thing they answer about, and
engine/quality/FIGURE-BINDING.md on what it means for a published number to be
bound rather than merely watched. Those three are one argument in three forms
and the argument is the house standard.
Before you quote a number: engine/quality/FIGURE-BINDING.md again, for the
owner. Before you cite a line of code: engine/quality/CITATION-ROT.md, which
measured how often our own citations point at the wrong thing, and why a symbol
name survives editing where a line number does not.
Before you run a measurement: engine/quality/MUTATION-REPORT.md for the
harness patterns, and CLAUDE.md's sections on mutating a copy and on control
arms. A run that looks like a measurement and measured nothing is the failure
this tree has shipped most often.
What is unfinished? docs/OPEN-ITEMS.md is the deduplicated ledger of
everything outstanding. ROADMAP.md says where the code stands against the
plan, with the gate each next item is waiting on. docs/CAPABILITY-GAPS.md says
what a buyer would pay for that the product cannot do.
Where does the engine's own design live? engine/README.md for the
overview, engine/CHANGES-FROM-UPSTREAM.md for every deviation from the
MassingPlan core it was forked from, and engine/design/SUB-DAY-TIME.md for the
one large migration that was designed and refused three times.
That refusal is no longer current, and this paragraph said it was until
5 September. engine/oracle/corpus/SUBDAY-REVIEW.md is now a dated record of
the argument for leaving the axis alone, and the live document is
engine/oracle/corpus/SUBDAY-DECISION.md, which re-priced the decision, found
§5's most valuable argument wrong in its decisive clause, and stages the
migration as steps A, B, C and D with a pass/fail gate on each. Step A is the
document itself; step B landed on 5 September — Instant is now a count of
minutes rather than of days, whole-day semantics are unchanged, and the corpus
report came out byte-identical across two independently pinned pairs. Step C is
partly executed: engine/src/cpmcore/boundary.py gives the boundary algebra
named constructors and eleven call sites in five modules are routed through
them. Read SUBDAY-DECISION.md §8 for the plan of record and §11 for what step
B did and did not buy; three pages that recommended against the axis carry their
recommendation struck and dated rather than deleted.
If you are looking at this as a business
README.md at the root is the product overview. docs/POSITIONING.md states
the buyer, the one sentence, the four claims that are provable and the five that
are not. business/BUSINESS-PLAN.md is the operating plan with its falsifiable
conditions; business/MOAT.md concludes there is no moat today and shows its
working; business/RISKS.md carries the register including the risks that have
already materialised.
If the question is "who else does this", read
business/COMPETITIVE-LANDSCAPE.md before any of them and before any sales
conversation. It segments the field by the forensic-versus-predictive boundary
with a URL and a retrieval date on every row, records the service-substitute
prices that set our ceiling, and — the reason it exists — lists in §7 every
claim elsewhere in this tree that it contradicts or fails to support, including
two sentences in outreach/ that were being said out loud and are now struck.
It also names the closest competitor found in any pass: an MIT-licensed,
offline, AACE-canonical forensic CPM engine that no previous research round saw. outreach/ holds what is said to whom — the one-pager,
the objection handbook, the demo scripts, the public-records letters, and
outreach/CLAIMS-REGISTER.md, which ties every asserted sentence in the
outward-facing material back to the file that owns it.
If the question is which organizations, and not which channel, that is
outreach/TARGET-LIST.md — 111 named organizations across state DOTs, federal
owners, claims consultancies, construction law firms and the professional
bodies, each with the published business channel, the source URL and the date it
was retrieved. It is the enumeration GTM.md and CONTRACTOR-SCHEDULERS.md
deliberately do not contain: those two name the channel and the buyer's role,
this one names the door. Read it for its "not confirmed" rows as much as its
verified ones — a fifth of the state list failed on a tool boundary rather than
on evidence, and the page says which is which.
If the question is in what order, with what letter, how many times, and when
to stop, that is outreach/CAMPAIGN.md. GTM.md names the channels,
TARGET-LIST.md names the doors, and this one is the campaign across them:
nineteen approaches over six weeks, a different message for the DOT engineer,
the claims consultant, the construction lawyer, the contractor scheduler and the
federal owner, a cadence with a stop rule that can actually fire, a
disqualification rule, and one registered falsifiable prediction scored on
31 October 2026. It is written against three facts that post-date most of
outreach/: the lead is named-agency-clause conformance, nothing is distributed
so no message may imply obtainability, and the practitioner count is zero. Its
demo is ready to run: outreach/DEMO-SCRIPT.md names project XV01 and its score
lines are bound to the committed outputs. outreach/APPROACH-LOG.md is the
append-only record for outreach attempts.
If the question is a licence or a copyright, two files answer it and neither
is the other. business/LICENSING-POSTURE.md is the inbound position — what
this repository borrows, under what licence, and whether the obligations are
discharged — and it owns the fork-compliance record and the third-party
inventory. business/COPYRIGHT-AUDIT.md is narrower and outbound: of the
material that actually leaves this machine, which carries a copyright problem,
with the public-facing set defined by evidence and counted. business/SELLING-ON-PREM.md
owns the outbound licence decision itself, which is the founder's and is open.
If the question is whether the public website can go live,
business/PUBLICATION-GATE.md is the ordered gate — each item measured rather
than assumed, marked as a founder decision or a work item, and stating what it
blocks: the whole site, one page, or nothing. It answers the narrow question the
founder's no-download decision leaves, and it is deliberately not the general
"can we go public" question: its last section states what publishing this site
does not force, because opening the repository, distributing a build and
granting a licence are three separate decisions that are routinely conflated.
Read it alongside web/BLOCKED.md, which owns what the site may not say, and
web/CLAIM-SOURCES.md, which owns what holds each claim up.
Where the record is kept, and why it looks like clutter
Two dense areas hold most of the file count, and both are working records rather than documentation in the ordinary sense.
engine/oracle/corpus/ holds forty-eight files and is the investigation of
the agreement gap: one document per mechanism, each naming what it measured,
what it refuted, and what it handed back. Do not read it as a set. Read
SWEEP-2.md for the level, APPORTIONMENT.md for how the gap decomposes, and
CEILING-PLAN.md for how the rest of the directory joins up. The others are
reached from those three.
engine/quality/ holds sixty-nine files and is the audit record: one
document per pass, each ranking what it found and stating what was refused.
FIGURE-BINDING.md, PROJECTION-BLINDNESS.md, MUTATION-REPORT.md and
VERDICT-YIELD.md are the four with standing beyond their own pass.
corpus/reports/ holds the origin research — the versions of the idea that
were tried and abandoned. Its own README.md says plainly that these are
historical and unmaintained, which is the right treatment: they record how the
problem was understood before it was understood correctly.
OVERNIGHT.md, engine/REVIEW.md, engine/REVIEW-2.md,
engine/quality/SYSTEM-STATE.md and engine/oracle/injection/PREDICTIONS.md
are dated snapshots and must not be read as current. PREDICTIONS.md in
particular was written before the run it predicts and has deliberately never
been edited since, which is the only thing that makes it evidence.
A struck figure is kept on purpose. This tree supersedes a number by keeping
it, striking it and dating it, so the record of how something was understood
survives. That convention has one trap, recorded in CLAUDE.md: a struck row is
still a row a parser can read, and a naive selector once took a stale figure for
a day. If you are reading with a script, skip struck rows and assert that
exactly one live answer survives.
The inventory in one paragraph
Of the two hundred and twenty-five tracked markdown files at 0918e55, roughly
sixty-five are written for the outside reader or a buyer's technical reviewer,
roughly twenty for someone running the tool, roughly one hundred and ten for a
developer or an agent working in the tree, and roughly twenty are dated records
kept deliberately and not to be read as current. The boundary between the last
two is a judgement rather than a fact — most audit documents in
engine/quality/ are both. The full per-file classification, the contradictions
found while making it, and what was struck, are in
engine/quality/DOC-AUDIT.md.
Read 6 September 2026 and deliberately not corrected. The denominator above
has moved from two hundred and twenty-five to two hundred and sixty-six, and the
four parts under it have not been re-derived. Scaling them, or writing the new
total in front of the old parts, would produce a paragraph that reads current
and was never measured. The parts stand as classified at 0918e55; the live
total is at the top of this page. Re-deriving them is a hand classification of
forty-one files and is owed rather than done.
Source: docs/DOCUMENT-MAP.md. Source commit date: 2026-09-06.