{"node":{"id":"08fec8ba-2f02-444c-8edb-dfd9879cda51","handle":"08fe","type":"note","authorName":"Vincent Yeung","intent":"recipe","title":"Pattern: knowledge reconciliation","aiSummary":"After a session produces work, walk the tree and the session side by side: pull out every claim, mine the transcript for rulings and discoveries no block holds yet, sort each into agrees, correction or gap, check the touched blocks for drift, link the session to what it changed, and review a numbered list yourself before anything is written. Can be turned into a skill.","content":"**When:** a session has produced work — decisions, discoveries, rulings, fixes — and some of that has changed what the tree should say, or taught you something the tree does not yet know. Also after a stranger review, a production scan, or any time you look at the tree and suspect it has drifted from what the product actually does.\n\n**Built from:** re-alignment, saving state for next time, the clean summary.\n\n**What to know:** sessions are full of detail that never makes it to a block. A ruling you made, a design decision that explains why something works the way it does, a constraint someone hit, a capability that shipped without anyone updating the tree. That detail lives in the transcript and dies when the window closes. Meanwhile, blocks that were true when they were written drift as the product changes underneath them. Both problems have the same fix: walk the session and the tree side by side, find where they disagree, and fix the tree.\n\nThe code is the source of truth. When a block and the code disagree, the block is wrong.\n\n1. Start from whatever triggered it — a session transcript, an audit report, a review, a scan. Pull out every claim about what the product does, how it works, or what a person can do. Each claim is one line.\n2. Mine the session for what is worth keeping. Walk the transcript for rulings, decisions, discoveries, constraints, new capabilities — anything that is not already on a block. Each one is a candidate. Step 1 asks \"is the tree right?\" This step asks \"did we learn something the tree does not know yet?\"\n3. For each claim and candidate, find the block it belongs on. Three outcomes: the block exists and agrees (no action), the block exists and disagrees (mark it for correction), or no block covers it (mark it as a gap).\n4. Walk the other direction. Look at every block the session touched or that the trigger named. Does it say anything that is no longer true? A feature removed, a flow changed, a limit lifted. These are drift.\n5. For each correction, gap, and candidate, write what the block should say. Corrections are small — change the wrong sentence. Gaps need a decision: does this belong on an existing block, a new block, or nowhere? A block that would rot — one that describes something changing faster than anyone would update it — is not written. The code or the API spec is the record for those. Candidates from step 2 need the same decision: is this a durable fact someone would look for, or a moment that belongs only in the transcript?\n6. Link session blocks to what they touched. The session block gets edges to the memory blocks it changed, created, or relied on. The reason says what the session did. A future reader following the session finds what it touched; a reader on the memory block finds which session changed it.\n7. Nothing is written to the tree until you have reviewed it. The proposed changes and new blocks come to you as a numbered list, and you say yes, no, or reword for each item.\n\nA ruling or decision from the session belongs on the block it governs, not on its own block. A ruling with no home block is either a new block or stays in the transcript, and you decide which.\n\n**What it produces:** a tree that matches what the product actually does, session blocks linked to the blocks they touched, detail from the session that would otherwise be lost, and a list of what you decided not to document so the next reconciliation does not re-raise it.\n\n**If you audited the session first:** an audit works out what actually happened in the session. Finish it before you change the tree, then use what it found as the trigger for step 1. Without an audit, start from any of the other triggers in step 1.\n\n**Author's practice:** run this after any session longer than a day, or after shipping a feature. A long session always holds things that were discussed or discovered and never landed on a block.\n\n**As a skill:** ask the AI to turn this page into a skill that walks the session transcript, finds claims and candidates, compares them to the tree, and produces the numbered list for you to review.","capturedAt":"2026-09-16T12:45:02.314Z","createdAt":"2026-09-16T12:45:02.315Z","updatedAt":"2026-10-02T08:46:52.034Z","spanId":null,"contributor":null,"audiences":[{"kind":"public","createdAt":"2026-09-16T12:45:10.672Z"}],"fingerprint":"607120d57be3b711c783e9980926150bf244e9cddbf2a1194903e4f207cb6e72","revisionNo":"3","structureHash":"58ef3b17fa636b29192a0be140a7cb023fbb987c962b0b650e007c58704566c1","page":"https://lattris.com/by/b/memories/08fec8ba-2f02-444c-8edb-dfd9879cda51"},"links":[{"direction":"in","verb":"references","reason":"only if a session has produced work and you need to check whether the tree still matches what the product actually does","hash":"556ee64a828ef10b4b0fcde68e6e14f84bd7378e0459bab21d78155fbe6498b2","node":{"id":"331896d2-2e9d-46b1-b56c-048a18ee23eb","handle":"3318","type":"note","title":"Patterns: a library","aiSummary":"Index of the author's patterns, one page each, built from the basics. Any pattern can be turned into a skill by asking the AI. So far: the handover, re-alignment, the clean summary, plan-execute-review, saving state for next time, knowledge reconciliation, starting a new codebase, and making an existing module readable. Grows as pages are added.","erased":false,"href":"https://lattris.com/api/lattris/by/b/memories/331896d2-2e9d-46b1-b56c-048a18ee23eb?links=1","fingerprint":"fdb88831a4949e6d2796f6f2ec65f612903ec02e487ecea76821973013ef633c","revisionNo":"9","structureHash":"ebf9a8041d4dce367db54d851720a324d11c8ecd3a5256931024e47d01638c7f","intent":"recipe","authorName":"Vincent Yeung","page":"https://lattris.com/by/b/memories/331896d2-2e9d-46b1-b56c-048a18ee23eb"}}],"dictionary":{"lattris":"A personal knowledge base — how a person captures what they know as linked blocks they own and control. To understand how this knowledge base works: https://lattris.com/by/4/memories/lattris-a-memory-store-for-your-life-43ff","intents":"Every block can carry an intent — a label for how far you have taken the idea. The scale runs from noticing something to acting on it: noticed (something caught your attention), learning (you are working it out), truth (you are saying this is how things are), decision (you chose a course), action (you did it). Recipe sits outside that scale — it is not a stronger claim, it is a different kind of thing: a procedure, a how-to, a set of steps that ties other knowledge together. Intent is optional — leaving it blank just means you have not labelled it yet."},"instructions_to_ai":"This is a recipe from a personal knowledge base. Read it and apply it to what the person you're talking to is working on. Follow the linked blocks to explore further related topics if it might be useful to the user; open each at its page address. Start by letting the user know what the recipe is about and how it may benefit them."}