kerfmaster pin list · Preflight — how files come in
rulingmixedA decision by Aristide or Jordan. True because it was decided; it can be superseded, but it cannot be stale.
Content last changed 2026-08-28 — computed from the item itself, not typed.
Contract — Scale & units stage
This contract states a decision, not an implementation.
takes identified-file
makes true-size
fails if Any scale that is inferred rather than stated — a guess here is wrong by a factor, not by a thou.
Contract last changed 2026-08-06 — computed, not typed. Dated separately from the text above, so neither date can speak for the other.
1 open question blocks this pin
Aristide, 2026-08-01: "The other thing we should check for is that in the file there is an indicator for a scaling. And if it's missing, we would need to flag it and ask it."
This is the single hardest blocker on vector input. It does not block the build — the vector front end is built and wired end to end (item 2c), and this gate is itself in the code: vec_pipeline.read() raises ScaleUnknown unless exactly one of width_in or scale is supplied (vec_pipeline.py:126-130). What it blocks is production use: no .ai file can be cut until a real dimension is stated. A wrong guess at scale scraps a sheet. There is no tolerance argument here and no clever default — a part at 92% is not a slightly worse part, it is scrap.
A DXF states its units ($INSUNITS) and its coordinates mean something in the world. An Illustrator file does not. It gives us points on an artboard, and both of our samples carry a 612×792 pt artboard — which is simply US Letter, the default, and tells us nothing whatsoever about how big the part should be.
$INSUNITS plus coordinate magnitude, sanity-checked against plausible part size. Vector art: a document set to inches or mm with an artboard sized to the art rather than to a sheet of paper.Require at least one of 1 and 2; prefer both and cross-check. When both are present, scale = stated ÷ measured, and if that ratio is not 1.000 within tolerance we stop and ask rather than picking a winner. Two independent sources that agree is the only state we should be comfortable in.
If the artboard is exactly 612×792 pt (Letter), 595×842 (A4), 792×1224 (Tabloid) or similar, that is near-proof nobody deliberately set the document size, and it should be treated as no scale indicator present even though a number exists. A custom artboard that hugs the artwork bounding box is a much better sign the customer drew to size — but still confirm, never assume.
Best fix is upstream: ship customers an Illustrator template preset to inches, 1:1, with the artboard at our common stock sizes and a layer named CUT. A customer who starts from the template cannot produce an ambiguous file. See 14e.
ANSWERED (Aristide, 2026-08-21): “They can pick at the start with a toggle: metric vs imperial.” The unit system is the customer’s explicit choice at the top of the upload form — never inferred. The stated-finished-dimension field (with the “drawn 1:1 at actual size” option) stays per 14d, consistent with the prep-page wording Aristide approved (“draw 1:1 or state the finished size — either works, tell us which”). Scale itself remains gated: the toggle names the UNITS; it still never names the SIZE.
⚑ Superseded as a threshold (Jordan, 2026-08-28 — ruling): “If your .300 is coming from a rule rather than the table we gave you, then you need to drop the .300 and use the table moving forward.” The 0.300" figure was his worked example of where clear-air fails, never a constant — the governing numbers are the Rev2 row’s own columns (lead_in; Small Threshold for small inside contours). Clear-air remains the physical placement rule. No 0.300 literal exists in code (verified same day).