# REUSABLE KNOWLEDGE

Harvested continuously during this cycle, not in one pass at the end (GOV-F7.5). Each item is PORTABLE: project-specific detail is stripped so it works on a different project and a different AI platform (GOV-F7.6).

## KN-001 — Generate every artefact from one Python data file

**The problem it solves.** Two hand-maintained copies of a fact are two facts: they diverge and nobody notices.

**The evidence it worked — the mistake it prevents.** In this project the study, the financial model, the dashboard, the Help Hub, 27 registers and the transfer pack are all projections of a single `project_data.py`. Three separate count mismatches were caught by this structure during the build, before delivery — the dashboard computed 20 High-confidence sources while a hand-written caption said 17.

**How to reuse it.** Put every register, every fact and every assumption in one plain data module. Make every deliverable a generator that reads it. Never let a generated file be the place a fact is first typed.

## KN-002 — Give the verifier a charter that says REFUTE, not CHECK

**The problem it solves.** An agent asked to 'check' a claim tends to confirm it. An agent asked to refute it, with a default verdict of NOT CONFIRMED, actually finds things.

**The evidence it worked — the mistake it prevents.** V2 was charged with refuting the labour cost and found the first pass had omitted WorkCover and the Victorian portable long service leave levy — a real 3.1% understatement of cost (DEF-002). V2 also refused to publish weekend rates it could not source, rather than extrapolating them (DEF-003).

**How to reuse it.** Charter every verifier with: default to NOT CONFIRMED; secondary sources give PARTIALLY CONFIRMED at best; you may not fill a gap with your own knowledge; you built nothing you are verifying.

## KN-003 — Write the negative test for your most important check

**The problem it solves.** A check that has never been seen to fail is not evidence, it is decoration.

**The evidence it worked — the mistake it prevents.** Checker C23 deliberately appends a line to a transfer-pack file, confirms C22 detects the change, then restores the file. Without it, C22 passing would mean nothing.

**How to reuse it.** For every check whose failure would be catastrophic, write a second check that breaks the thing on purpose and asserts the first check fires.

## KN-004 — Record the interpretation next to the request, in the requester's own words

**The problem it solves.** Your register records what you DID. Nothing else records what the requester MEANT, or the gap between them. An AI that quietly re-reads a request and records only the delivery is unfalsifiable.

**The evidence it worked — the mistake it prevents.** RQ-001 in this project holds Zaid's request verbatim, including its ambiguity ('develop the project' could have meant start the business), next to the narrower reading actually acted on. The ambiguity is visible and arguable rather than silently resolved.

**How to reuse it.** Log the request verbatim and unedited — typos, ambiguity and all — then log your interpretation beside it. Do not tidy the words. The ambiguity IS the evidence.

## KN-005 — Escape dollar signs before rendering charts with matplotlib

**The problem it solves.** Matplotlib parses `$...$` as mathtext, so every currency figure in a diagram is silently italicised and mangled. It renders without an error.

**The evidence it worked — the mistake it prevents.** Every diagram in this project rendered '$649-$1,825' as an italic subtraction until the Text layer was patched to escape dollar signs globally.

**How to reuse it.** Monkeypatch `matplotlib.text.Text.set_text` once at module level to replace `$` with `\$`, rather than escaping at every call site.

## KN-006 — When a primary source blocks automated reading, say so in the artefact

**The problem it solves.** The temptation is to quietly use a secondary source at the same stated confidence. That converts a known unknown into an invisible one.

**The evidence it worked — the mistake it prevents.** fairwork.gov.au, fwc.gov.au, sro.vic.gov.au and several NDIS Commission pages block robots. Every figure that came from a workaround is carried at Medium confidence with the reason written into the register, and the whole pattern is logged as ISS-001 with the fastest human fix named.

**How to reuse it.** Add a 'why below High' column to your source register and make it mandatory. Then have a script fail the build if any non-High row leaves it empty.

## KN-008 — Make the configuration register point at real files, and check it with a script

**The problem it solves.** The artefact you are most likely to forget to file is the one everything else is built to obey. It arrives as an attachment, gets read from wherever it landed, and is recorded as a configuration item on the assumption someone will file it later. Nobody does.

**The evidence it worked — the mistake it prevents.** In this project the Governance Standard was CI-001 and its recorded path in the outputs folder was empty. Thirty-one green checks and four independent verification passes all missed it, because the checker validated evidence paths but never configuration-item paths. The owner found it, in one sentence, by asking whether all the files were really on his computer.

**How to reuse it.** Write a check that opens every path in the configuration register and fails if one does not resolve. Then prove it can fail: move the file, watch the check go red, put it back. A register of pointers nobody dereferences is a list of intentions.

## KN-007 — Cost the unbillable work before believing the margin

**The problem it solves.** Every service business model looks viable until administration is priced. Gross margin per unit is the number people quote; contribution after unbillable work is the number that decides survival.

**The evidence it worked — the mistake it prevents.** In this project the difference is a 29% margin against a 9% one — and at a plausible administration ratio the margin is negative. That single line explains a published sector statistic (about half of providers loss-making) that the gross margin alone contradicts.

**How to reuse it.** In any service-business model, add an explicit 'unbillable hours per billable hour' driver, make it a yellow input cell, and show the sensitivity. If nobody publishes a benchmark for it, say so loudly.
