--- # wikitool:template-unfilled - delete this line once the file is answered. language: en profile: none sections: links: Relationships footnotes: Footnotes --- # kb/ - Authoring Conventions of This Instance The decisions [kb/CONTRACT.md](CONTRACT.md) deliberately does not make. The contract holds what the code enforces and is identical in every instance; this file holds what *this* instance chooses, and no other instance has to agree with a word of it. **It binds all the same.** Everything below applies to every page under `kb/`, exactly as the contract does. The difference is ownership, not authority: a rule here is changed by editing this file, a rule there by changing the stack. Ready-made answers to every section below - including a complete German profile - are in [instructions/kb-profiles.md](../instructions/kb-profiles.md). That catalogue is a palette, not an enum: adopt an entry, adapt it, or write your own. What is written *here* is what holds. The frontmatter above is the one machine-read part. `sections:` names the headings the two generated regions render under. Safe to change at any time - each region is located by its marker pair, so a rename re-renders words and nothing else. ## Language Pages are written in **{language}**. This binds `kb/` and the authoring surface that shapes it - the page type-specs `types/entity.md`, `types/concept.md`, `types/source.md` and `types/comparison.md`, whose `## Template` blocks are the body skeleton every new page starts from. `raw/` is untouched ([raw/CONTRACT.md](../raw/CONTRACT.md)), and the control plane stays English: `AGENTS.md`, the stage contracts, this file, `instructions/`, and the type-specs for non-page artifacts. Which line is prose and which is an identifier - and therefore what is translated at all - is the contract's rule, not this file's: see [kb/CONTRACT.md ยง Language and identifiers](CONTRACT.md#language-and-identifiers). {Which established foreign-language technical terms stay untranslated inside this instance's prose, and where the vocabulary for that is looked up. Delete this paragraph if the KB language is the one those terms are already in.} ### Section headings The two generated regions render under the frontmatter's headings. An author never writes inside them - they are rebuilt from frontmatter on every write. Any *other* heading is ordinary prose. ## Naming - {Title form - words and spaces, or kebab-case, or the subject's own spelling.} - {Singular or plural for entities.} - {How a comparison page's title reads.} - {The ADR prefix, if this instance files decisions as pages.} - {What to name a thing: projects, systems, tools, technologies, people.} The one naming fact that is *not* a choice, and therefore lives in the contract: the filename stem is the page title, and `[[wikilinks]]` must match it exactly. ## Tone {The register pages are written in, in one line.} - {Words and constructions this instance refuses, with examples in the KB language.} Good: {one sentence that is what this instance wants.} Bad: {the same sentence written the way it must not be.} ## Relationship labels **Not this file's to list, and not localized.** A label is a machine value in `related:`, drawn from [instructions/link-taxonomy.md](../instructions/link-taxonomy.md) and authorised per destination in each `kb//COLLECTION.md`'s `outbound:` block. ## Confidence rubric `confidence_base` is set by hand and `confidence` is derived from it - that mechanism is the contract's. What the number *means* is this instance's: {the base score, what raises it, and by how much} {How to hedge in prose at a low score, in the KB language.} ## Keeping this file honest Change it when a convention actually changes. `wikitool doctor` FAILs on a missing or unfilled file, and `wikitool docs verify` refuses a `sections:` block that does not name both regions.