kerfmaster pin list · Big capabilities
recordStates what the code does today. Auditable against the code — this is the only type that can go stale.
Content last changed 2026-08-06 — computed from the item itself, not typed.
Contract — Cross-cutting stage
This contract describes the code as it runs today.
takes —
makes —
fails if A number in the code that the register never claimed; a register entry for a constant that no longer exists; a copy that no longer equals what it copies; an assumed number quoted to a customer as if it were measured.
Contract last changed 2026-08-06 — computed, not typed. Dated separately from the text above, so neither date can speak for the other.
Item 4g moved the machine and material numbers into tables. This is the other half: the numbers that stay in Python, and what stands behind each of them. evidence.json is the register; evidence.py audits it and generates the numbers view.
measured — read out of a file, a cut, or a specification we hold. decided — a person with the authority ruled it. assumed — nobody has confirmed it; someone chose a working value and it has not been wrong yet, which is not the same as being right. A second axis says what the number changes: cut, gate, report or cosmetic.
73 numbers: 7 measured, 8 decided, 58 assumed. Of the assumed ones, 46 change what the machine does or what passes a gate. Almost the whole healer — every corner threshold, every spur gate, every merge angle — is a value I chose and then checked against four files. validated_on records that checking and deliberately does NOT promote the number to measured: a value tuned until our own corpus passes is still an assumption, just a tested one.
Three of them are worth a human's attention. build_mvt_preview.SY, E and RHO are handbook figures for A36-class mild steel. Nobody has measured the shop's stock and nobody at the shop has confirmed them — and every weight in pounds and every bend claim we have ever put on a customer sheet comes out of them.
The register that describes the code is the thing that drifted 80 places behind it once already, so this one is built not to. It stores no values — only what kind of knowledge stands behind a number; the value itself is read live out of the source, so the two can never disagree. It reads the source by parsing, never importing (importing this project would rebuild the site as a side effect). And it reports three kinds of debt: stale (registered, no longer in the code), uncovered (in the code, never registered) and drifted (a number recorded as a copy of another that no longer equals it). Run python3 evidence.py; it exits non-zero if any is outstanding. It is level today.
The drift check already earns its place: vec_pipeline.JOG_DEG is a deliberate second copy of heal.JOG_DEG, and build_mvt_preview.LEAD_CLEAR is a sixth copy of a number that now lives in materials.json. Both are registered as copies, so the day one moves without the other, the audit says so.