KAN › The method · lesson 3 of 7
Expose the uncertainty
A frame says what you believe. The Rumsfeld lens asks how you know it, and points at the one check that would change the plan.
Teaches from kan/rung-delivery.md, “Expose uncertainty: Rumsfeld”, and kan/6w-sdmr.md, “Establish evidence before choosing”.
The rule
“Use this lens to choose the next useful check, not to fill four boxes for every trivial edit.”
- Known knowns: name the relevant current facts and their sources, and do not confuse a written target with observed implementation.
- Known unknowns: name the question that can change the approach, who can answer it, and a bounded investigation.
- Unknown knowns: look for knowledge already in code, documentation or someone's experience, and revalidate it before relying on it.
- Unknown unknowns: do not invent a list of them; limit exposure with small increments, feedback, boundary checks and recoverable changes.
“Research ends with an answer or an evidenced limitation.” A finding is evidence as of when it was made: “A status document is evidence as of its last revision.”
Try it
Known unknowns
Name the question that can change the approach, who can answer it, and a bounded investigation. In the EchoEdu delivery: Which links break? A census of 4,567 links found 981 pointing at two deleted pages.
In the EchoEdu delivery
The Agile Agent Workflow lane opened at 10:13Z on 25 October, and its story asked for recovery gaps within fifteen minutes. That was a known unknown with a bounded check: resolve every internal link of the course's 172 pages the way the static server does. The census, sent as the first checkpoint (KAN CRS0RWvGVEETZ2), found 4,567 links. 981 of them pointed at two pages, the landing and /why, which commit 34e71b4d had deleted.
The fix was an unknown known: both pages were still in the repository's history, byte-identical at commit 90fe6504. Before relying on that, the lane revalidated it: it reran the census on a scratch copy with the two pages put back (4,627 links, none unresolved), and when it restored them in the tree it compared their blob hashes with the ones at 90fe6504.
The unknown unknown arrived in the way the rule expects, through a small step and a check at the boundary. Restoring the landing turned one row of an existing controller test red, because that row had pinned the old drift (a 404). Running the affected suites found it before anything landed.
Check yourself
- Which quadrant does the fact that the two pages exist in git history belong to, and what must happen before you rely on it?
- Why is the census a better first move than reading all 172 pages?
- How do you prepare for an unknown unknown, if you cannot list it?
Previous: Frame it with 6W · Next: Size it with FIB
Teaches ecd/kan at 2d1b5c8e, 25 October 2026.