# Assumption & Evidence Audit

Separates what a document has evidence for from what it is assuming, and ranks the assumptions by what they would cost if they are wrong.

## Deliverable

One Markdown document, `assumption-register.md`, in the structure set out under **Output** below. It feeds **Reversibility & Blast Radius Assessment** and any record written about the decision it audited.

## Required inputs

- **The document to audit** — a plan, a proposal or a decision record. Its statements are the unit of work.
- **The decision or commitment it supports** — what the assumptions are load-bearing for.
- **The people whose statements the document carries** — named, so a confidence can be asked for rather than invented.

If the document or the commitment it supports is absent, stop and report it. If the people are named but cannot be reached, proceed with every confidence marked `unstated`; the audit never supplies a confidence of its own, because an invented confidence is indistinguishable, later, from one a person gave.

## Optional inputs

- The source material the document cites: measurements, transcripts, contracts, tickets, logs
- Earlier versions of the same document, and what changed between them
- The people who would be affected if a given assumption is wrong
- The budget or time available for testing assumptions
- Assumptions already tested elsewhere, with their results

Absent optional inputs do not stop the audit. Each becomes a line saying what could not be checked and who holds the material that would check it.

## Execution

**1 — Split the document into statements.** One line per claim the document makes. A sentence carrying two claims becomes two lines; a claim spread across several paragraphs is recorded once, with every place it appears.

**2 — Classify each statement.** `evidenced` when a source was supplied that a reader could go and check, `assumed` when it was not, `contested` when the supplied sources disagree. A statement everyone agrees with and nobody has measured is `assumed` — agreement is not evidence.

**3 — Attach the source to every evidenced statement.** What the evidence is, where it lives, its date, and who produced it. Evidence whose location cannot be handed back to a reader is downgraded to `assumed`, and the downgrade is recorded with its reason.

**4 — Record each confidence as its holder stated it.** For every assumption: who holds it, and the confidence they state, in their words. Where nobody was asked, write `unstated`. The audit assigns no confidence of its own, at any point, for any reason.

**5 — Establish what is load-bearing.** For each assumption: what fails if it is wrong, how far that failure reaches, and whether the commitment can proceed without it. Rank the register by that cost rather than by likelihood — a cheap certainty matters less than an expensive maybe.

**6 — Define the cheapest test.** For each assumption in rank order: the smallest action that would confirm or refute it, who can run it, and what it needs. Where no action would settle it before the commitment is made, write `untestable before commitment` and say so plainly.

**7 — Report back to the document.** List the statements the audited document should change: downgrades, missing sources, contested claims. Return them as edits for its author to make. Never edit the audited document from inside the audit.

## Output

`assumption-register.md`, in this order:

- **1. Document audited** — what it is, its version or date, and who wrote it
- **2. Evidenced statements** — statement, evidence, where it lives, its date, who produced it
- **3. Assumptions** — in rank order: statement, who holds it, the confidence they stated or `unstated`
- **4. Load-bearing analysis** — per assumption: what fails if it is wrong, how far it reaches, whether the commitment can proceed without it
- **5. Tests** — per assumption: the cheapest action that would settle it, who can run it, what it needs
- **6. Contested statements** — the claim, each source, and what they disagree about
- **7. Untestable assumptions** — those that cannot be settled before the commitment, and what that means for it
- **8. Edits requested** — the changes the audited document needs, one line each
- **9. What could not be checked** — material that was not available, and who holds it

## Validation

The register is ready when all of these hold:

- Every statement in the audited document appears once, in section 2, 3 or 6
- Every evidenced statement names a source a reader could go and check
- Every confidence in section 3 is attributed to a person, or reads `unstated`
- Section 3 is ordered by the cost in section 4, not by likelihood
- Every assumption in section 3 has a line in section 5 or in section 7
- No confidence, likelihood or cost figure appears that no input supplied

Fail the run if the audit assigns a confidence nobody stated, or if a statement of the audited document is missing from the register.

## Failure handling

- **No document supplied** — stop. Report that the audit has no input, and that a register cannot be assembled from a conversation about a document.
- **The named people cannot be reached** — audit the document as written, mark every confidence `unstated`, and list in section 9 who must supply them before the register is used to commit anything.
- **No access to the cited sources** — classify on what the document itself provides, downgrade every uncheckable citation to `assumed`, and state in section 9 that no citation was verified.
- **Sources contradict each other** — record both in section 6 with both names, and do not choose. A contested statement is a finding, not untidiness to be resolved.
- **Partial material** — register what the material supports, mark the rest `NOT AUDITED — pending <material>`, and deliver.
