{"node":{"id":"5e2c67b7-ef98-47f4-9293-d4091b5242f6","handle":"5e2c","type":"note","authorName":"Lattris","intent":"recipe","title":"The house voice","aiSummary":"The checkable style rules for words on this tree: cut padding, say is and has, name the source or delete the claim, one word per thing, formatting is not emphasis, specificity over adjectives, and no record of when or who — followed by the scoring sections that grade a draft against them.","content":"**Delete the padding**\n\nCut padding words on sight — none of them carries information a plainer word does not. Add to the list when you catch another.\n\nSay `is` and `has`. Not \"serves as\", not \"boasts\", not \"acts as a\".\n\nA save also refuses the words on your account's own list. `lattris set banned-words --help` says how it matches and how to see the list. An override exists for the rare line that genuinely needs a blocked word; reach for it twice in a row and report it as a finding — the plainer word was there and you didn't look for it. Only the block that tests the refusal saves with the override on purpose. Any other block reaching for it is a finding to report.\n\nKill \"not just X, but Y\". Say the thing you mean.\n\nThree examples are not better than two because they are three. Write the number you actually have.\n\n**Say who**\n\nDo not leave a claim unowned. \"Experts believe\", \"studies show\", \"it is widely held\" — name the source or delete the claim.\n\nA run is the exception. A block carries a fact and its number, not the run that produced it. The run's number lives on its test's page, in the status line that each run rewrites with its latest result. To trace it, read the run's conversation, which is saved on the tree as a session.\n\n**One word per thing**\n\nPick a word and repeat it. Cycling through synonyms — block, then block, then block, then entry — makes a reader stop and check whether the subject changed. It did not, and now the reader has to work out what you meant.\n\n**Formatting is not emphasis**\n\nBold the few words that carry the weight, or none — not every noun. No decorative emoji, and headings in sentence case.\n\n**No chatbot**\n\nCut \"Great question\", \"Let's dive in\", \"I hope this helps\", \"In conclusion\", \"It's important to note\". A block has nobody to be polite to.\n\n**Be specific**\n\nAn adjective is often a fact you have not looked up. Instead of \"fast\", give the number: \"200ms\". Instead of \"several\", give the count: \"four\". Go and get the number.\n\n**Now, not when**\n\nA block says what is true now, not when that became true, who decided it, or which change made it so. A block body never carries:\n\n- a date\n- a pull request number\n- a commit hash\n- an ask id\n- who ruled, decided or approved it, the owner included\n\nDelete \"Owner ruling, 2026-09-03\" and \"shipped in PR 332\" on sight: the sentence they hang on is the fact, and it stands alone.\n\nThe trail lives elsewhere:\n\n- the close note names the PR and the block\n- the commit message names the ask\n- the conversation, saved on the tree as a session, holds what was said\n- `updatedAt` says when the block last changed\n\nA detail goes stale when someone outside this tree decides it and it changes without us: another party's version, price, interface or model name, or a measurement taken once on one machine. Leave it out, or say where that party publishes it. A state we decide stays, even a temporary one such as \"Lattris is invite-only for now\": when we change it, we change the page in the same step. \"Be specific\" above still holds for a number that stays true, like a limit the door enforces.\n\nA date appears only where the date is the fact, a block about an event on a day. No block is exempt.\n\n**How to get a check**\n\nTwo passes. Neither one catches what the other catches, so run both.\n\n*The edit pass.* Spawn a throwaway cold session — a fresh session with no memory of this one. Hand it this block and your draft, and ask for specific edits — the word, the line, the replacement. Keep the edits you agree with and drop the rest. This block is the authority; the reviewer is scratch, and its opinion carries no weight of its own.\n\n*The reader pass.* Spawn a second throwaway cold session and hand it the draft on its own. Give it no style rules — with rules, it starts editing instead of reading for meaning. Ask it two questions and nothing else:\n\n- What can you not explain back in your own words?\n- What is this telling someone to do?\n\nNever ask this one for edits. A reader who doesn't understand a word can't suggest a replacement for it — and asking them to is exactly what stops that problem from surfacing. This is also why the edit pass misses a word that means the wrong thing to the reader: every rule above tells you to point at and delete a word, but this fault has no word to point at.\n\nIf the reader cannot give the instruction back correctly, the draft is not ready.\n\nThe first question is about the words. A ten year old must understand the language.\n\n**Probe.** Handed the sentence \"this block serves as a testament to robust design\", a session that has read only this block must answer one question: what would you change, and why?\n\nNothing here points at what is wrong with it. If a reader cannot find the faults from the rules above, this block did not teach them.\n\n**Lists for lists.** A run of things named inside one sentence, duties, cases, steps, places, impacts, is a list, and it is written as dot points, one item per line. A reader should never have to unpack a sentence to find the four things it names. Two items can stay in a sentence; three or more are a list. An argument stays a paragraph, because bullets lose the reasoning that holds it together.\n\n## Question: the words\nScores: each sentence\nContext: the whole page\nAsk: Judge only the marked sentence. The rest of the page is shown so you can see whether a term was explained earlier on the page, and whether the marked sentence is naming words as examples of what to cut. Words inside quotation marks, or listed under a line such as \"Cut these\", are examples the writer points at; the writer is not using them. Which option describes the words the writer chose in the marked sentence?\nPasses: words_fine, only_names_an_example\nAct at: 0.5\n\n- `words_fine`: the writer's own words in the marked sentence are plain and have none of the faults below, e.g. 'Pick a word and repeat it.' This includes a reason that is still true tomorrow ('do Y, because X loses data'), a date that is itself the fact ('the launch is on 3 March'), a number that stays true until someone changes a rule ('a title holds at most 80 characters'), a fact given outright ('the save takes 200ms'), a state the owner decides and keeps current, even one said with 'for now' or 'currently' ('Lattris is invite-only for now', 'I plan with Fable on medium'), a claim made with no source mentioned at all, this knowledge base's own names (tree, door, root, branch, walk, block, link, ask), everyday words, and a sentence about some other person or session who is handed a draft ('Hand a second session the draft on its own.').\n- `only_names_an_example`: the only faulty words in the marked sentence are ones it quotes or lists as examples of what to cut or avoid, e.g. 'Cut these on sight: delve, pivotal', 'Not \"serves as\", not \"boasts\"', 'Delete \"shipped in PR 332\"', or a single bare word in a list under such a line.\n- `uses_a_word_to_cut`: the writer's own sentence, outside any quotation, uses a padding word or a chat phrase: delve, pivotal, landscape, testament, crucial, showcase, robust, seamless, leverage, \"serves as\", \"boasts\", \"acts as a\", \"not just X, but Y\", \"Great question\", \"Let's dive in\", \"I hope this helps\", \"In conclusion\", \"It's important to note\"; e.g. 'This page serves as a robust guide.'\n- `unnamed_source`: backs a claim with a source it does not name, e.g. 'experts believe the limit is too low', 'studies show', 'it is widely held'.\n- `names_the_checker`: mentions whatever checks the page: a gate by name or number, a score sheet, a rubric, an option name, the scorer or the decision model, e.g. 'Gate 2 lists the words to cut.'\n- `records_a_change`: says when, by whom or how the thing came to be so: a date, a pull request number, a commit hash, an ask id, who decided or approved it, or what used to be done, e.g. 'we used to do X, that caused problems, so now we do Y'.\n- `stale_detail`: gives a detail decided outside this knowledge base, which changes without its owner deciding anything: another party's version, price, interface or model name, or a measurement taken once on one machine, e.g. 'the SDK installs version 0.7.0', 'a call costs under USD 0.00002', 'one decision took 15 ms on this graphics card', 'the newest Claude model is Opus 5'. A state the owner decides and keeps current is never this, however temporary it sounds.\n- `vague_where_a_fact_exists`: the writer's own sentence says 'fast', 'several', 'many', 'some' or the like where a number or a name exists and would stay true, e.g. 'the save is fast', 'several routes changed'.\n- `untaught_term`: uses a technical term, an abbreviation or a made-up label that a newcomer would not know and that nothing earlier on the page explains, e.g. 'cold session', 'captured session', 'STATUS line'.\n- `not_you`: speaks about whoever is reading this page in the third person, as 'the reader', 'readers', 'the user', 'whoever reads this' or 'a session reading it', where it could say 'you', e.g. 'The reader should check the limit first.'\n\nExpect:\n- \"Cut these on sight: delve, pivotal, landscape, testament, crucial, showcase, robust, seamless, leverage.\" -> only_names_an_example\n- \"Not \"serves as\", not \"boasts\", not \"acts as a\".\" -> only_names_an_example\n- \"Cut \"Great question\", \"Let's dive in\", \"I hope this helps\", \"In conclusion\", \"It's important to note\".\" -> only_names_an_example\n- \"Delete \"Owner ruling, 2026-09-03\" and \"shipped in PR 332\" on sight: the sentence they hang on is the fact, and it stands alone.\" -> only_names_an_example\n- \"Gate 2 lists the words to cut and grows the list as new ones turn up.\" -> names_the_checker\n- \"We used to allow drafts here, which caused duplicates, so drafts are now refused.\" -> records_a_change\n- \"a captured session holds the conversation\" -> untaught_term\n- \"Whoever reads this tree was not there when it was written, and an AI session reading it knows nothing else and will act on what it finds.\" -> not_you\n- \"If a save is refused over a word, pick a plainer one.\" -> words_fine\n- \"Write for someone who was not in the room.\" -> words_fine\n- \"Lattris is invite-only for now.\" -> words_fine\n- \"On lattris.com, photos and videos cannot be uploaded for now.\" -> words_fine\n- \"I plan with Fable on medium effort and review with it again.\" -> words_fine\n- \"Today this installs version 0.7.0 of the SDK.\" -> stale_detail\n- \"Each call costs under USD 0.00002 at TypeSafe's price.\" -> stale_detail\n- \"One decision takes 15 to 26 ms on an RTX 4070 SUPER.\" -> stale_detail\n- \"The newest Claude model is Opus 5.\" -> stale_detail\n\n## Question: how the sentence says it\nScores: each sentence\nContext: the passage\nAsk: Judge only the marked sentence. The rest of the passage is shown so you can see what the marked sentence refers to. Words inside quotation marks are examples the writer points at, and they are not judged. Which option describes how the marked sentence says its one thing?\nPasses: says_it_plainly, only_quotes_an_example\nAct at: 0.5\n\n- `says_it_plainly`: a plain fact, a plain instruction, or a rule with its reason, in words that mean what they say, e.g. 'A space does not, so a phrase cannot be banned.', 'An argument stays a paragraph, because bullets lose the reasoning.' Being short, or having 'because' or 'so' in it, is no fault. This includes three short things that finish a sentence, such as 'your labels, your shorthand, or what happened three messages ago'; a rule joined to its own reason, which is one idea; this knowledge base's own names (tree, door, root, branch, walk, block, link, ask) used as names ('the door refuses'); and a saying a ten year old uses ('out of date').\n- `only_quotes_an_example`: the only figure, saying or row of items in the marked sentence sits inside words it quotes as examples, e.g. 'Not \"serves as\", not \"boasts\", not \"acts as a\".'\n- `figure_of_speech`: uses a word for something it is not. Read every word in its everyday meaning; if the sentence is then false or makes no sense, pick this, e.g. 'A list of branches is not a mirror of its edges', 'a count is a photograph', '\"several\" is a shrug'.\n- `made_to_be_quoted`: every word means what it says, but the sentence is shaped to sound wise and not to tell you what to do: a general truth in two balanced halves ('rules turn a reader into an editor, and an editor stops reading for meaning'), a flat verdict ('A claim nobody owns is not knowledge.'), or a clause added only for effect ('and the only one'). It fails even when a real reason is inside it.\n- `list_in_a_sentence`: names four or more items of one kind in a row, or three steps the reader must carry out one by one, which dot points would show one per line, e.g. 'A date, a PR number, a commit hash and an ask id each belong elsewhere.', 'Open the page, pick the account, then press delete.'\n- `hard_to_follow`: has to be read twice: it holds two or more separate ideas joined by 'and', a semicolon, a colon or a dash, or every word is known and a ten year old still could not say back what it tells them, e.g. 'The token lapses, and the cache is per region; retry — unless it is a draft, which the log shows.'\n\nExpect:\n- \"A list of branches in a block's body is not a mirror of its edges.\" -> figure_of_speech\n- \"Give it no style rules: rules turn a reader into an editor, and an editor stops reading for meaning.\" -> made_to_be_quoted\n- \"A claim nobody owns is not knowledge.\" -> made_to_be_quoted\n- \"A run is the exception, and the only one.\" -> made_to_be_quoted\n- \"A space does not, so a phrase cannot be banned.\" -> says_it_plainly\n- \"An argument stays a paragraph, because bullets lose the reasoning that holds it together.\" -> says_it_plainly\n- \"If a save is refused over a word, pick a plainer one.\" -> says_it_plainly\n- \"They don't know your labels, your shorthand, or what happened three messages ago.\" -> says_it_plainly\n- \"Not \"serves as\", not \"boasts\", not \"acts as a\".\" -> only_quotes_an_example\n- \"A date, a PR number, a commit hash and an ask id each belong somewhere other than a block's body, and each has one home:\" -> list_in_a_sentence\n\n## Question: the passage read in one go\nScores: each passage\nContext: the whole page\nAsk: Judge only the marked passage, read from start to end in one go. The rest of the page is shown so you can see whether the marked passage opens the page or a section. Words inside quotation marks, or set out as examples of what to avoid, are not the writer's own and are not judged. Which option describes the marked passage?\nPasses: reads_fine, only_shows_an_example\nAct at: 0.5\n\n- `reads_fine`: none of the below. A passage that opens by telling you what to do passes ('Write for someone who was not in the room.'), and so do dot points of separate items of one kind, such as words to cut, places or questions to ask, and a list you need in full, such as every word to cut.\n- `only_shows_an_example`: the only fault in the marked passage is inside an example it shows of what to avoid, e.g. 'Cycling through synonyms — block, then note, then entry — makes you stop and check whether the subject changed.'\n- `slow_opening`: only for a passage that opens the page or a section: its first sentence describes the page, a situation or 'whoever reads this' and tells you nothing you can act on, e.g. 'How words go out on this tree.', 'This page holds what isn't already covered elsewhere.'\n- `clipped_run`: three or more sentences in a row are all very short and about the same length, so they read as a drum beat, e.g. 'Not every noun. No decorative emoji. Headings in sentence case.'\n- `contrast_shape`: the writer's own sentences are built as 'X, not Y' or 'X is A; Y is B' where saying X alone would do, e.g. 'say the shape of a thing, not a count that will drift', 'a block carries a fact, never the run that produced it'.\n- `argument_cut_into_points`: the dot points are steps of one line of reasoning, each needing the one before, so the 'because' or 'so' between them is gone, e.g. '- The cache is per region. - A write lands in one region. - Read twice after a write.'\n- `third_example`: the writer gives three or more examples of one point where two would show it, e.g. 'A vague word hides a fact: \"fast\", \"several\", \"many\", \"soon\".'\n- `one_thing_many_names`: the writer's own sentences call one thing by two or more different words, such as block in one sentence, note in the next, entry after that.\n- `formatting_as_emphasis`: bold on a whole sentence inside running text, on the first words of every point, or on many nouns; or a decorative emoji; or a heading that capitalises a word that is no name, e.g. '**Every block** needs a **title** and a **summary**.', 'How To Get A Check'.\n\nExpect:\n- \"Whoever reads this tree was not there when it was written, and an AI session reading it knows nothing else and will act on what it finds.\" -> slow_opening\n- \"How words go out on this tree. The block rules say what a block must be; this is the checklist behind them, and every item is checkable — you can point at the word and delete it.\" -> slow_opening\n- \"This page holds what isn't already covered elsewhere: the exception to naming a source, where a change's trail belongs, and how to check a draft before it goes out.\" -> slow_opening\n- \"Write for someone who was not in the room. They don't know your labels, your shorthand, or what happened three messages ago.\" -> reads_fine\n- \"If a save is refused over a word, pick a plainer one.\" -> reads_fine\n- \"Pick a word and repeat it. Cycling through synonyms — block, then note, then entry — makes you stop and check whether the subject changed. It did not.\" -> only_shows_an_example\n- \"Bold the few words that carry the weight, or none. Not every noun. No decorative emoji. Headings in sentence case.\" -> clipped_run\n- \"The same rule cuts any detail so specific it goes stale as the system changes: say the shape of a thing, not a count that will drift.\" -> contrast_shape","capturedAt":"2026-08-31T07:02:57.306Z","createdAt":"2026-08-31T07:02:57.309Z","updatedAt":"2026-10-02T09:07:00.012Z","spanId":null,"contributor":null,"audiences":[{"kind":"public","createdAt":"2026-09-02T12:11:22.747Z"}],"fingerprint":"1e546e16634e87a3782c91183eafcc1ff62e143da7806f54d4e6f9306b14fd95","revisionNo":"9","structureHash":"823c034c7a816b6380bca5ed7a63f192d5d2a05db755926279efe5465834d0b1","page":"https://lattris.com/by/4/memories/5e2c67b7-ef98-47f4-9293-d4091b5242f6"},"links":[{"direction":"in","verb":"references","reason":"only if you are on grounding and need the rule that names the source or deletes the claim","hash":"b5a40a40161f86c557386e8e2eab115039935927a5ef967a23d7ac9c59d3c104","node":{"id":"468a417b-254c-41d6-b50a-0698c9f78bad","handle":"468a","type":"note","title":"Bringing what your AI already knows into Lattris: a recipe of recipes","aiSummary":"The newcomer's map: seven practices for moving months of an AI's context into a tree it can act on, each a paragraph pointing at the block that teaches it or saying plainly that no block does. Setting up, choosing a root, backfilling, precedence, grounding, testing, growing.","erased":false,"href":"https://lattris.com/api/lattris/by/4/memories/468a417b-254c-41d6-b50a-0698c9f78bad?links=1","fingerprint":"c9980a23e8c63ef63251a47fd1ccba8cea82149d9792d40b215714432d124b54","revisionNo":"2","structureHash":"85ed8c465fc95fa5065ca09d0421524d6c3ed617e09797449f8a4ce8b44cd5e3","intent":"recipe","authorName":"Lattris","page":"https://lattris.com/by/4/memories/468a417b-254c-41d6-b50a-0698c9f78bad"}},{"direction":"in","verb":"references","reason":"only if you are writing or editing any words that will ship on this tree","hash":"8e9c2b455beaff36180cc4bbdb66807412b53aec5f08e910b4cfb14c74c165f1","node":{"id":"c48fd7bb-e65d-4ad1-9bf1-0c591bac4c10","handle":"c48f","type":"note","title":"What a block is — the rules of this tree","aiSummary":"Three rule sets — what a block must be, how to write one, and how the tree changes shape (grow before create, split, merge, move-never-recreate, re-check reasons) — plus the rule that a block never records a secret, and the scoring sections that grade a draft against all of it.","erased":false,"href":"https://lattris.com/api/lattris/by/4/memories/c48fd7bb-e65d-4ad1-9bf1-0c591bac4c10?links=1","fingerprint":"429c841ac006a14589cda66d7c79eb006e7d8db280aecca2e37eca3020f31c9f","revisionNo":"9","structureHash":"82fc3f6af5fa72ae4e344990a3e532902436faf7ab567b5c2888e8e6436437f5","intent":"recipe","authorName":"Lattris","page":"https://lattris.com/by/4/memories/c48fd7bb-e65d-4ad1-9bf1-0c591bac4c10"}}],"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."}