kerfmaster pin list · The interface — recorded intent (build later)
recordStates what the code does today. Auditable against the code — this is the only type that can go stale.
Content last changed 2026-09-01 — computed from the item itself, not typed.
Ruling B (Aristide, 2026-09-01): the operator indicates whether a typed program number is used once (the sequence does not advance -- the DEFAULT) or starts a new sequence from there (progseq restarts at it, autos continue from it). Garbage/negative was already a 400 at the door (block 2); reserved, apparently-used and sequence-rewinding numbers are YELLOW warnings, never a block -- the operator's call posts, per aid-the-operator.
next_onum(operator, keep, mode) returns (number, source, warnings) under the shop-wide progseq lock. use_once records source 'operator (used once -- the sequence did not move)' and remembers ahead-of-sequence numbers in progseq's used_once list so the auto skips them exactly like reserved ranges (pruned once the sequence passes them). new_sequence records 'operator (new sequence from here)' and sets last = the number, warning when that rewinds behind the last used (future autos will re-issue). A KEPT number re-warns a reserved range on every re-post.extra_findings -- stage-level findings the audit cannot know, injected as top-of-file (CONTAINS N WARNINGS) callouts with no spot markers; the transparency recheck still compares the audit's own anomalies only. Recorded in post.json / postnest.json under onum.warnings, counted into the stage's yellow + flagged status, rendered as yellow rows in the drawer. The audit's own findings list stays the audit's -- onum warnings never masquerade as audit results.onum_mode = 'use_once' | 'new_sequence', validated at the door in honest words (garbage or a mode with no onum = plain 400, touching nothing). Both post and postnest (sheet 1) take it.