stack: Control-Plane-Sprache universell - Achse ist das Publikum, kein Instanz-Schalter (#103)
CI / verify (push) Failing after 45s
Release / release (push) Successful in 38s

Files changed:
- AGENTS.md
- CHANGES.md
- VERSION
- docs/language-boundaries.md
- kb/CONVENTIONS.md
- kb/CONVENTIONS.md.template
- tools/chemenu/commands/dist_cmd.py
This commit is contained in:
2026-09-15 16:58:55 +02:00
parent 05a75065ba
commit f350999053
7 changed files with 206 additions and 14 deletions
+11 -3
View File
@@ -308,9 +308,17 @@ def instance_owned_type_stems() -> set[str]:
The line is `root:`, and it was already in the frontmatter before anyone
drew it: `root: kb` means the type describes a page the instance writes, so
its prose, its template and its language are the instance's business.
Anything else - `instruction` (`root: repo`), `lint-report` (no `base_dir`
at all), `type-spec` itself - describes a stack artifact and ships verbatim.
the file is the instance's to change. Anything else - `instruction`
(`root: repo`), `lint-report` (no `base_dir` at all), `type-spec` itself -
describes a stack artifact and ships verbatim.
Ownership, not language. What such a file is *written in* is decided by who
reads each half, not by who owns the file: its `## Template` block and its
`layout:` titles become page text and follow `kb/CONVENTIONS.md`, while the
authoring guidance around them addresses an agent and stays English like the
rest of the control plane (AGENTS.md § File naming, types/type-spec.md
§ Who owns a type-spec). That the two halves share one file, and what it
costs, is docs/ownership-and-templates.md § Where the file boundary strains.
Read from `types/` rather than listed, so an instance adding its own page
type gets the same treatment without a code change.