---
name: measure-first-tests-the-design-premise-not-the-ticket
description: "A measure-first pass must test the DESIGN's premises, not the ticket's claims — the ticket does not know what the design assumed, and a premise true when written goes false by the time it matters (W5/#211, 2026-08-22)."
metadata: 
  node_type: memory
  type: feedback
  originSessionId: d497810c-a8a1-4e3c-bcaf-430e0b765898
  modified: 2026-08-22T09:05:04.517Z
---

2026-08-22, TURNKEY W5 (#211). doyle's v2 design rested on two premises HE wrote: (1) #209's S3
stamps local requests with the own node's hex, so an own-node-subject rule matches local traffic
through existing code; (2) the own-node spelling was DEAD pre-S3, "so assigning it meaning collides
with nothing." He asked me to measure the PREMISE rather than the filed instance.

Measured at the assembled head, `git show` on blobs, no build:
- **(1) TRUE.** `admit_local_delivery` passes `local_node_hex().unwrap_or_default()` as
  `origin_node`; `Subject::Node{node} => node == req.origin_node`. The mechanism is real.
- **(2) HALF-WRONG, AND THE HALF THAT WAS WRONG WAS THE CONCLUSION.** The deadness was true
  pre-S3. But #209 had since landed on the head, so the spelling was already LIVE — the feature's
  two ruled effects looked DELIVERED ALREADY, with no lane code at all. And "collides with nothing"
  was a claim about BEHAVIOUR while the collision was in the **RECORD**: the withdrawn v1 shape was
  written into six landed sites, one of them a **ratified REQ title** that prescribed the purpose of
  a tier the operator had since deleted — doc-stage evidence for a live requirement, contradicting
  the ruling it exists to record.

doyle's own summary, and the reason this is not a footnote: *"A measure-first pass that only checks
the ticket would have found none of that, because the ticket does not know what the design assumed."*

**Why:** a ticket states a problem; a design states ASSUMPTIONS about the tree, and assumptions decay
against a moving head while the design document does not. The premise was true when written and false
by the time it mattered — the same shape as [[stale-carried-forward-sentence]], but sitting in the
document that authorises the work rather than in a carried-forward note.

**How to apply:**
- Read the design BEFORE measuring, then measure the design's premises FIRST — before the ticket's
  claims, and before proposing any shape. Re-deriving from the issue text alone tends to reproduce
  the WITHDRAWN design, because the withdrawn one is the shape the original filing suggests.
- Split every premise into MECHANISM and CONCLUSION and measure them separately. Mine confirmed the
  mechanism and refuted the conclusion drawn from it; reporting "premise 2 holds" would have been
  true of the half nobody needed.
- When a premise says "collides with nothing," ask **collides with what population** — behaviour,
  or the RECORD? Census the STATERS as well as the enforcers
  ([[census-enforcers-and-staters-of-an-invariant]]): comments, module docs, test comments, and REQ
  titles are all staters, and a REQ title is doc-stage EVIDENCE, so a stale one makes a requirement
  contradict its own ruling.
- If the measurement says the effects are already delivered, say so in the deliverable's own voice
  and do NOT manufacture mechanism to match the ticket. **Delivered-but-unpinned and undelivered look
  identical from the issue tracker; only a cell tells them apart** — so the red-first cell is the
  deliverable whether it reds or greens (doyle's ruling).
- Report a premise correction as a premise correction, addressed to its author, and let the author
  reword their own text. doyle rewrote v2's premise and reserved the ratified REQ title's wording for
  himself rather than word it from my quotation of it.

Related: [[ruling-rests-on-a-premise]] (the facts a RULING rests on — this is its design-document
twin), [[census-enforcers-and-staters-of-an-invariant]], [[stale-carried-forward-sentence]],
[[correct-by-replacement-not-annotation]], [[read-source-at-the-measured-sha-not-the-default-tree]].
