docs: README-Typenbaum und language-boundaries auf den guidance-Split nachgezogen (#104)
CI / verify (push) Failing after 38s

Files changed:
- README.md
- docs/language-boundaries.md
This commit is contained in:
2026-09-15 18:25:18 +02:00
parent d49513bda6
commit 6eb3f84256
2 changed files with 24 additions and 13 deletions
+6 -4
View File
@@ -89,10 +89,12 @@ chemenu/
│ └── assets/ │ └── assets/
├── types/ # SCHEMA: the global type surface. Not a collection ├── types/ # SCHEMA: the global type surface. Not a collection
│ ├── type-spec.md # Root contract: anatomy, placement, adding a type │ ├── type-spec.md # Root contract: anatomy, placement, adding a type
│ ├── entity.md # Entity type contract + template (+ .schema.yaml) │ ├── type-guidance.md # Contract for the *.guidance.md files below
│ ├── concept.md # Concept type contract + template │ ├── entity.md # Entity type config + template (+ .schema.yaml)
│ ├── source.md # Source type contract + template │ ├── entity.guidance.md # Its stack-owned authoring prose, shipped verbatim
│ ├── comparison.md # Comparison type contract + template │ ├── concept.md # Concept type config + template (+ .guidance.md)
│ ├── source.md # Source type config + template (+ .guidance.md)
│ ├── comparison.md # Comparison type config + template (+ .guidance.md)
│ ├── instruction.md # Instruction type - lives outside kb/ via `root: repo` │ ├── instruction.md # Instruction type - lives outside kb/ via `root: repo`
│ └── lint-report.md # Contract-only: describes reports/, owns no directory │ └── lint-report.md # Contract-only: describes reports/, owns no directory
├── kb/ # OUTPUT: compiled knowledge. A namespace, not a collection ├── kb/ # OUTPUT: compiled knowledge. A namespace, not a collection
+18 -9
View File
@@ -16,7 +16,7 @@ and which argument for it turned out to be wrong.
- [Why the control plane's language is English](#why-the-control-planes-language-is-english) - [Why the control plane's language is English](#why-the-control-planes-language-is-english)
- [Why it is not a parameter](#why-it-is-not-a-parameter) - [Why it is not a parameter](#why-it-is-not-a-parameter)
- [What the KB language still decides](#what-the-kb-language-still-decides) - [What the KB language still decides](#what-the-kb-language-still-decides)
- [Where the line runs inside one file](#where-the-line-runs-inside-one-file) - [Where the line runs around a page type](#where-the-line-runs-around-a-page-type)
- [What would put this back on the table](#what-would-put-this-back-on-the-table) - [What would put this back on the table](#what-would-put-this-back-on-the-table)
<!-- /wikitool:toc --> <!-- /wikitool:toc -->
@@ -99,15 +99,24 @@ experiences:
So an operator who reads no English gets German pages and German answers from an agent reading So an operator who reads no English gets German pages and German answers from an agent reading
English instructions. The English is what the machinery is written in, not what it says back. English instructions. The English is what the machinery is written in, not what it says back.
## Where the line runs inside one file ## Where the line runs around a page type
One file shape carries both halves, and it is worth knowing which is which before editing it: a A page type's contract is where the two languages meet most closely, and it is worth knowing
page type-spec (`types/entity.md` and its three siblings). Its authoring guidance addresses an which part is which before editing any of it. Its authoring guidance addresses an agent and is
agent; its `## Template` block and `layout:` titles become the literal headings of pages; its English; its `## Template` block and `layout:` titles become the literal headings of pages and
field names and enum values are identifiers and are translated in neither direction. follow the KB language; its field names and enum values are identifiers and are translated in
[types/type-spec.md § Who owns a type-spec](../types/type-spec.md#who-owns-a-type-spec) has that neither direction.
split as a table, and [ownership-and-templates.md](ownership-and-templates.md) § "Where the file
boundary strains" has what it costs to keep two audiences in one file. The language line did not move when the *file* line did. A `root: kb` type-spec may now put its
authoring guidance in a separate, stack-owned `types/<name>.guidance.md` rather than carrying it
beside the template, but that split was made for ownership reasons - so an upgrade can improve
the guidance without overwriting what the instance chose - and it leaves this page's argument
untouched: each part is still written in the language its own reader needs, and a type-spec that
declares no `guidance:` keeps both halves in one file with exactly the same rule applying inside
it. [types/type-spec.md § Who owns a type-spec](../types/type-spec.md#who-owns-a-type-spec) has
the split as a table, and [ownership-and-templates.md](ownership-and-templates.md) § "Where the
file boundary used to strain" has what it cost to keep two audiences in one file for as long as
it did.
## What would put this back on the table ## What would put this back on the table