Paket A aus #185 (Design, Entscheidungen E1–E5, N1–N3 dort). Die übrigen Pakete hängen von diesem ab.
Stand: abgeschlossen. Gebaut und publiziert als 9.0.0-beta.1 in d66a3f6 (Kandidat von 8.1.0-beta.2 eskaliert), verifiziert durch CI-Lauf 576 (verify mit Fresh-Instance-Replay, pwsh) und Release-Lauf 577 (Veröffentlichung für den Beta-Kandidaten korrekt übersprungen). Die Abschlussprüfung fand zwei veraltete Stellen und zog sie in 9.0.0-beta.2, 01c888d, nach (Punkt 11); verifiziert durch CI-Lauf 578 und Release-Lauf 579, beide grün. Ein Release ist nicht geschnitten – das entscheidet der Betreiber.
Was gebaut wurde
docs/ ist die Wurzel der menschlichen Doku nach Diátaxis, mit einem nicht ausgelieferten Entwicklerteil; die Erklärseiten sind ohne Kompatibilitäts-Stub umgezogen (N2 (b): bewusst MAJOR).
Verzeichnisse:docs/tutorials/, docs/how-to/, docs/reference/, docs/explanation/, docs/dev/. Jeder der vier Bereiche hat eine kurze englische README.md: die drei leeren sagen, was hingehört und wo das Material bis dahin steht; docs/explanation/README.md listet die sieben Seiten. docs/dev/ hat keine README (nur development.md).
Umzug der sieben Seiten nach docs/explanation/ per git mv, Namen unverändert, kein Stub. Inhalt unverändert außer der Linktiefe (../ → ../../) – Ausnahme language-boundaries.md, siehe Punkt 6.
Fundstellen nachgezogen in AGENTS.md, CLAUDE.md, README.md, types/type-guidance.md, instructions/CONTRACT.md, instructions/ingest-queue.md, instructions/gtd-weekly-review/SKILL.md, instructions/dev/stack-mode.md, instructions/dev/stack-close/SKILL.md, instructions/migrations/6.0.0-type-guidance-split.md, kb/CONVENTIONS.md und kb/CONVENTIONS.md.template, tools/CONTRACT.md (über docs contract --apply), task_cmd.py, new_page.py, dist_cmd.py, tasks/protocol.py, Tests (test_toc.py, test_git_publish.py, test_dist_cmd.py). Gegenüber der Design-Liste: raw/CONTRACT.md, instructions/wiki-ingest/SKILL.md, git_publish.py nennen keinen der sieben Pfade – ihre docs/…-Treffer sind Beispielpfade erfasster Repos (docs/runbook.md) bzw. generische Erwähnungen von docs/ und blieben unverändert; toc.py brauchte erst in der Abschlussprüfung eine Änderung (Punkt 11).
DEVELOPMENT.md → docs/dev/development.md, englisch übersetzt (E3), mit generiertem TOC. Verweise nachgezogen: README.md (Strip-Block und Baum), INSTALL.md (Strip-Block), instructions/dev/dev-setup.md, instructions/dev/doc-pull-through.md, instructions/dev/stack-close/SKILL.md, AGENTS.md § File naming (Zeile DEVELOPMENT.md entfällt, geht in der neuen docs/dev/-Zeile auf), docs_verify.STAGE_READMES.
dist export schließt docs/dev/ aus:dist_cmd.DOCS_DEV_ONLY (Ausschluss per exaktem Pfad, nicht per Name), Kommentar am ROOT_FILES-Tupel und in build_plan, dist export-Datensatz und Docstring.
AGENTS.md: § File naming mit Zeilen docs/<area>/<name>.md (vier Bereiche) und docs/dev/<name>.md (nicht ausgeliefert); Absatz „docs/ carries no normative sentence" auf die vier Arten Doku und den Layout-Check; „Six explanation pages…" auf die neuen Pfade. „Two languages, and which is which" hat einen dritten Punkt: die menschliche Doku des Stacks (README.md, INSTALL*.md, EVALS.md, alles unter docs/) ist englisch, unabhängig von language:; CHANGES.md ist nicht erfasst. § Changelog nennt docs/tutorials|how-to|reference|dev/ bei den menschlichen Dokumenten; der „andere Takt" gilt für docs/explanation/. Zusätzlich:docs/explanation/language-boundaries.md hat einen Abschnitt „The stack's human documentation" mit der Begründung zu E3 (keine einzelne Instanz, deren Sprache sie folgen könnte; generierte Teile aus englischen Quellen) und einen eigenen Auslöser für ein Wiederaufrollen (vom Stack gepflegte, geprüfte Übersetzungen).
instructions/dev/doc-pull-through.md: Zeile für menschlich bediente Abläufe nennt INSTALL-MCP.md und die Seiten unter docs/tutorials|how-to|reference/; die Begründungszeile zeigt auf docs/explanation/; die frühere DEVELOPMENT.md-Zeile ist die docs/dev/development.md-Zeile (auch für den Release-Ablauf).
Neuer docs verify-Checkcheck_docs_layout: jede Datei unter docs/ liegt in einem von DOCS_AREAS (tutorials, how-to, reference, explanation, dev); direkt in docs/ oder in einem anderen Verzeichnis ist ein Fehler; ohne docs/ grün. Notiz und Failure im docs verify-Datensatz, Erfolgszeile nennt ihn.
Wegweiser## Documentation in README.md zwischen Getting started und Architecture, verlinkt die vier Bereichs-READMEs.
Migrationsdokumentinstructions/migrations/9.0.0-docs-diataxis.md (manual: true, migrates_to: 9.0.0, migration_kind: mechanical, obligation: required): Baseline per git grep/docs verify in Dateien, sed-Umschreibung nur in nicht-Seiten-Dateien (kb/-Seiten bewusst ausgenommen, Entscheidungspunkt), Prüfung gegen die Baseline, migrate done 9.0.0 --pages 0. instructions/upgrade-instance.md tut es generisch, aber Schritt 9 (docs verify vor dem Publish) wäre sonst ein Stopp gewesen: Er lässt jetzt einen Fehler stehen, den die Release-Notes einer Pflichtmigration zuordnen, und Schritt 13 führt docs verify zusätzlich aus. In diesem Repo ist die Migration angewandt und mit migrate done 9.0.0 verbucht (.wikitool-kb.json → 9.0.0).
Abschlussprüfung (stack-close): zwei Stellen beschrieben docs/ noch in seiner Rolle vor 9.0.0 und sind nachgezogen – die Zeile in AGENTS.md § Routing („docs/ (why the stack is built the way it is…)") und das Zitat der File-naming-Zelle im Docstring von tools/chemenu/toc.py. INSTALL.md gegen das geänderte upgrade-instance.md gelesen: der Abschnitt „Eine Instanz aktualisieren" erzählt die Schritte bewusst nicht nach, also keine Abweichung und kein Folge-Issue. Die übrigen docs/explanation/-Seiten, tools/README.md, EVALS.md und die Dev-Instruktionen machen keine Aussage, die der Umzug falsch gemacht hätte.
Bekannter Übergangszustand:INSTALL.md und INSTALL-MCP.md sind noch deutsch und widersprechen damit der Sprachregel, bis #191 bzw. #190 sie übersetzen – so in #185 zerlegt.
Version
MAJOR – 9.0.0, Kandidat 9.0.0-beta.2. Mit dem Betreiber in #185 besprochen (N2); Alternativen Stub (MINOR) und Liegenlassen (MINOR, Ausnahme) waren vorgelegt.
Was bricht:docs verify in jeder bestehenden Instanz meldet nach dem Upgrade einen toten Link in ihrer eigenen kb/CONVENTIONS.md (../docs/language-boundaries.md), weil das Upgrade die instanzeigene Datei nicht anfasst und die alte Seite als „retired" löscht.
Was eine Instanz tun muss: das Migrationsdokument aus Punkt 10 ausführen (Schritt 12 des Upgrades).
CHANGES.md-Eintrag: Breaking-Zeile, **Migration:** required - instructions/migrations/9.0.0-docs-diataxis.md, Bump mit --impact high plus der Nachzieh-Bump aus Punkt 11 (--impact low), Themenabschnitt „Doku-Gerüst nach Diátaxis unter docs/ (#187)".
Akzeptanzkriterien
docs/ enthält keine Datei direkt unter sich; die sieben Erklärseiten liegen unter docs/explanation/, Inhalt unverändert außer Pfaden (Commit zeigt sie als Umbenennungen, 79–100 % Ähnlichkeit; language-boundaries.md 79 % wegen des neuen Abschnitts aus Punkt 6).
Der grep über den Baum (ohne CHANGES.md, kb/log.md, commonplace/, raw/, reports/) findet nur Pfade mit docs/explanation/ – einzige Ausnahmetools/chemenu/tests/test_docs_verify.py, dessen Upgrade-Test den alten Link absichtlich als Ausgangszustand enthält.
dist export in ein leeres Verzeichnis: docs/dev/ und DEVELOPMENT.md fehlen, docs/explanation/*.md und die vier Bereichs-READMEs sind da; docs verify im exportierten Baum ist grün, nachdem die Vorlagen übernommen sind (dist adopt, kb/CONVENTIONS.md aus der Vorlage mit entferntem Platzhalter – vorher meldet es nur die bekannten nicht übernommenen Vorlagen, nichts zu docs/). CI-Schritt „The distribution works as a fresh instance" in den Läufen 576 und 578 grün.
Der neue Check scheitert in Tests mit einer Datei direkt unter docs/ und in einem Nicht-Bereich, und ist im Repo grün (test_docs_verify.py, test_dist_cmd.py::test_plan_never_includes_docs_dev).
AGENTS.md nennt die Sprachregel für menschliche Stack-Doku an genau einer Stelle (§ File naming, Punkt 3); instructions verify und docs verify sind grün.
DEVELOPMENT.md gibt es nicht mehr an der Wurzel; docs/dev/development.md ist englisch, kein Verweis zeigt auf den alten Pfad (außer historischen CHANGES.md-Einträgen).
Ein Test belegt das Upgrade-Szenario: test_the_9_0_0_upgrade_breaks_an_old_conventions_link_until_the_migration_ran – alter Link nach dem Upgrade tot, nach der sed-Umschreibung, die der Test im Migrationsdokument wörtlich wiederfindet, grün.
CHANGES.md-Eintrag des Kandidaten trägt Breaking- und Migrationszeile; Themenabschnitt.
pytest (2360 bestanden, 3 übersprungen – normal und in leerer Umgebung), docs verify, instructions verify lokal grün; CI-Läufe 576 (d66a3f6) und 578 (01c888d) grün, Release-Läufe 577/579 grün mit übersprungener Veröffentlichung.
Nicht in diesem Paket
Neue Inhalte in den Bereichen (C, D), Übersetzung von INSTALL.md/INSTALL-MCP.md (#191, #190), generierte Referenz (B1, B2), Wiki-Spiegel (E). tools/README.md bleibt, wo es ist (verzeichnislokale Entwickler-Doku nach § File naming).
Paket A aus #185 (Design, Entscheidungen E1–E5, N1–N3 dort). Die übrigen Pakete hängen von diesem ab.
**Stand: abgeschlossen.** Gebaut und publiziert als **9.0.0-beta.1** in `d66a3f6` (Kandidat von `8.1.0-beta.2` eskaliert), verifiziert durch CI-Lauf [576](https://gitea.nehmer.net/torben/chemenu/actions/runs/576) (`verify` mit Fresh-Instance-Replay, `pwsh`) und Release-Lauf [577](https://gitea.nehmer.net/torben/chemenu/actions/runs/577) (Veröffentlichung für den Beta-Kandidaten korrekt übersprungen). Die Abschlussprüfung fand zwei veraltete Stellen und zog sie in **9.0.0-beta.2**, `01c888d`, nach (Punkt 11); verifiziert durch CI-Lauf [578](https://gitea.nehmer.net/torben/chemenu/actions/runs/578) und Release-Lauf [579](https://gitea.nehmer.net/torben/chemenu/actions/runs/579), beide grün. Ein Release ist nicht geschnitten – das entscheidet der Betreiber.
## Was gebaut wurde
`docs/` ist die Wurzel der menschlichen Doku nach Diátaxis, mit einem nicht ausgelieferten Entwicklerteil; die Erklärseiten sind ohne Kompatibilitäts-Stub umgezogen (N2 (b): bewusst MAJOR).
1. **Verzeichnisse:** `docs/tutorials/`, `docs/how-to/`, `docs/reference/`, `docs/explanation/`, `docs/dev/`. Jeder der vier Bereiche hat eine kurze englische `README.md`: die drei leeren sagen, was hingehört und wo das Material bis dahin steht; `docs/explanation/README.md` listet die sieben Seiten. `docs/dev/` hat keine README (nur `development.md`).
2. **Umzug** der sieben Seiten nach `docs/explanation/` per `git mv`, Namen unverändert, kein Stub. Inhalt unverändert außer der Linktiefe (`../` → `../../`) – Ausnahme `language-boundaries.md`, siehe Punkt 6.
3. **Fundstellen nachgezogen** in `AGENTS.md`, `CLAUDE.md`, `README.md`, `types/type-guidance.md`, `instructions/CONTRACT.md`, `instructions/ingest-queue.md`, `instructions/gtd-weekly-review/SKILL.md`, `instructions/dev/stack-mode.md`, `instructions/dev/stack-close/SKILL.md`, `instructions/migrations/6.0.0-type-guidance-split.md`, `kb/CONVENTIONS.md` und `kb/CONVENTIONS.md.template`, `tools/CONTRACT.md` (über `docs contract --apply`), `task_cmd.py`, `new_page.py`, `dist_cmd.py`, `tasks/protocol.py`, Tests (`test_toc.py`, `test_git_publish.py`, `test_dist_cmd.py`). Gegenüber der Design-Liste: `raw/CONTRACT.md`, `instructions/wiki-ingest/SKILL.md`, `git_publish.py` nennen keinen der sieben Pfade – ihre `docs/…`-Treffer sind Beispielpfade erfasster Repos (`docs/runbook.md`) bzw. generische Erwähnungen von `docs/` und blieben unverändert; `toc.py` brauchte erst in der Abschlussprüfung eine Änderung (Punkt 11).
4. **`DEVELOPMENT.md` → `docs/dev/development.md`**, englisch übersetzt (E3), mit generiertem TOC. Verweise nachgezogen: `README.md` (Strip-Block und Baum), `INSTALL.md` (Strip-Block), `instructions/dev/dev-setup.md`, `instructions/dev/doc-pull-through.md`, `instructions/dev/stack-close/SKILL.md`, `AGENTS.md` § File naming (Zeile `DEVELOPMENT.md` entfällt, geht in der neuen `docs/dev/`-Zeile auf), `docs_verify.STAGE_READMES`.
5. **`dist export` schließt `docs/dev/` aus:** `dist_cmd.DOCS_DEV_ONLY` (Ausschluss per exaktem Pfad, nicht per Name), Kommentar am `ROOT_FILES`-Tupel und in `build_plan`, `dist export`-Datensatz und Docstring.
6. **`AGENTS.md`:** § File naming mit Zeilen `docs/<area>/<name>.md` (vier Bereiche) und `docs/dev/<name>.md` (nicht ausgeliefert); Absatz „`docs/` carries no normative sentence" auf die vier Arten Doku und den Layout-Check; „Six explanation pages…" auf die neuen Pfade. „Two languages, and which is which" hat einen dritten Punkt: die menschliche Doku des Stacks (`README.md`, `INSTALL*.md`, `EVALS.md`, alles unter `docs/`) ist englisch, unabhängig von `language:`; `CHANGES.md` ist nicht erfasst. § Changelog nennt `docs/tutorials|how-to|reference|dev/` bei den menschlichen Dokumenten; der „andere Takt" gilt für `docs/explanation/`. **Zusätzlich:** `docs/explanation/language-boundaries.md` hat einen Abschnitt „The stack's human documentation" mit der Begründung zu E3 (keine einzelne Instanz, deren Sprache sie folgen könnte; generierte Teile aus englischen Quellen) und einen eigenen Auslöser für ein Wiederaufrollen (vom Stack gepflegte, geprüfte Übersetzungen).
7. **`instructions/dev/doc-pull-through.md`:** Zeile für menschlich bediente Abläufe nennt `INSTALL-MCP.md` und die Seiten unter `docs/tutorials|how-to|reference/`; die Begründungszeile zeigt auf `docs/explanation/`; die frühere `DEVELOPMENT.md`-Zeile ist die `docs/dev/development.md`-Zeile (auch für den Release-Ablauf).
8. **Neuer `docs verify`-Check** `check_docs_layout`: jede Datei unter `docs/` liegt in einem von `DOCS_AREAS` (`tutorials`, `how-to`, `reference`, `explanation`, `dev`); direkt in `docs/` oder in einem anderen Verzeichnis ist ein Fehler; ohne `docs/` grün. Notiz und Failure im `docs verify`-Datensatz, Erfolgszeile nennt ihn.
9. **Wegweiser** `## Documentation` in `README.md` zwischen *Getting started* und *Architecture*, verlinkt die vier Bereichs-READMEs.
10. **Migrationsdokument** `instructions/migrations/9.0.0-docs-diataxis.md` (`manual: true`, `migrates_to: 9.0.0`, `migration_kind: mechanical`, `obligation: required`): Baseline per `git grep`/`docs verify` in Dateien, `sed`-Umschreibung nur in nicht-Seiten-Dateien (`kb/`-Seiten bewusst ausgenommen, Entscheidungspunkt), Prüfung gegen die Baseline, `migrate done 9.0.0 --pages 0`. **`instructions/upgrade-instance.md`** tut es generisch, aber Schritt 9 (`docs verify` vor dem Publish) wäre sonst ein Stopp gewesen: Er lässt jetzt einen Fehler stehen, den die Release-Notes einer Pflichtmigration zuordnen, und Schritt 13 führt `docs verify` zusätzlich aus. In diesem Repo ist die Migration angewandt und mit `migrate done 9.0.0` verbucht (`.wikitool-kb.json` → 9.0.0).
11. **Abschlussprüfung (`stack-close`):** zwei Stellen beschrieben `docs/` noch in seiner Rolle vor 9.0.0 und sind nachgezogen – die Zeile in `AGENTS.md` § Routing („`docs/` (why the stack is built the way it is…)") und das Zitat der File-naming-Zelle im Docstring von `tools/chemenu/toc.py`. `INSTALL.md` gegen das geänderte `upgrade-instance.md` gelesen: der Abschnitt „Eine Instanz aktualisieren" erzählt die Schritte bewusst nicht nach, also keine Abweichung und kein Folge-Issue. Die übrigen `docs/explanation/`-Seiten, `tools/README.md`, `EVALS.md` und die Dev-Instruktionen machen keine Aussage, die der Umzug falsch gemacht hätte.
**Bekannter Übergangszustand:** `INSTALL.md` und `INSTALL-MCP.md` sind noch deutsch und widersprechen damit der Sprachregel, bis #191 bzw. #190 sie übersetzen – so in #185 zerlegt.
## Version
**MAJOR – 9.0.0**, Kandidat `9.0.0-beta.2`. Mit dem Betreiber in #185 besprochen (N2); Alternativen Stub (MINOR) und Liegenlassen (MINOR, Ausnahme) waren vorgelegt.
- **Was bricht:** `docs verify` in jeder bestehenden Instanz meldet nach dem Upgrade einen toten Link in ihrer eigenen `kb/CONVENTIONS.md` (`../docs/language-boundaries.md`), weil das Upgrade die instanzeigene Datei nicht anfasst und die alte Seite als „retired" löscht.
- **Was eine Instanz tun muss:** das Migrationsdokument aus Punkt 10 ausführen (Schritt 12 des Upgrades).
- `CHANGES.md`-Eintrag: Breaking-Zeile, `**Migration:** required - instructions/migrations/9.0.0-docs-diataxis.md`, Bump mit `--impact high` plus der Nachzieh-Bump aus Punkt 11 (`--impact low`), Themenabschnitt „Doku-Gerüst nach Diátaxis unter `docs/` (#187)".
## Akzeptanzkriterien
- [x] `docs/` enthält keine Datei direkt unter sich; die sieben Erklärseiten liegen unter `docs/explanation/`, Inhalt unverändert außer Pfaden (Commit zeigt sie als Umbenennungen, 79–100 % Ähnlichkeit; `language-boundaries.md` 79 % wegen des neuen Abschnitts aus Punkt 6).
- [x] Der `grep` über den Baum (ohne `CHANGES.md`, `kb/log.md`, `commonplace/`, `raw/`, `reports/`) findet nur Pfade mit `docs/explanation/` – **einzige Ausnahme** `tools/chemenu/tests/test_docs_verify.py`, dessen Upgrade-Test den alten Link absichtlich als Ausgangszustand enthält.
- [x] `dist export` in ein leeres Verzeichnis: `docs/dev/` und `DEVELOPMENT.md` fehlen, `docs/explanation/*.md` und die vier Bereichs-READMEs sind da; `docs verify` im exportierten Baum ist grün, nachdem die Vorlagen übernommen sind (`dist adopt`, `kb/CONVENTIONS.md` aus der Vorlage mit entferntem Platzhalter – vorher meldet es nur die bekannten nicht übernommenen Vorlagen, nichts zu `docs/`). CI-Schritt „The distribution works as a fresh instance" in den Läufen 576 und 578 grün.
- [x] Der neue Check scheitert in Tests mit einer Datei direkt unter `docs/` und in einem Nicht-Bereich, und ist im Repo grün (`test_docs_verify.py`, `test_dist_cmd.py::test_plan_never_includes_docs_dev`).
- [x] `AGENTS.md` nennt die Sprachregel für menschliche Stack-Doku an genau einer Stelle (§ File naming, Punkt 3); `instructions verify` und `docs verify` sind grün.
- [x] `DEVELOPMENT.md` gibt es nicht mehr an der Wurzel; `docs/dev/development.md` ist englisch, kein Verweis zeigt auf den alten Pfad (außer historischen `CHANGES.md`-Einträgen).
- [x] Ein Test belegt das Upgrade-Szenario: `test_the_9_0_0_upgrade_breaks_an_old_conventions_link_until_the_migration_ran` – alter Link nach dem Upgrade tot, nach der `sed`-Umschreibung, die der Test im Migrationsdokument wörtlich wiederfindet, grün.
- [x] `CHANGES.md`-Eintrag des Kandidaten trägt Breaking- und Migrationszeile; Themenabschnitt.
- [x] `pytest` (2360 bestanden, 3 übersprungen – normal und in leerer Umgebung), `docs verify`, `instructions verify` lokal grün; CI-Läufe 576 (`d66a3f6`) und 578 (`01c888d`) grün, Release-Läufe 577/579 grün mit übersprungener Veröffentlichung.
## Nicht in diesem Paket
Neue Inhalte in den Bereichen (C, D), Übersetzung von `INSTALL.md`/`INSTALL-MCP.md` (#191, #190), generierte Referenz (B1, B2), Wiki-Spiegel (E). `tools/README.md` bleibt, wo es ist (verzeichnislokale Entwickler-Doku nach § File naming).
Changelog: Body vom Plan auf den gebauten Stand umgeschrieben – 9.0.0-beta.1 in d66a3f6, CI-Läufe 576/577 grün, alle Kriterien abgehakt. Abweichungen vom Design: docs/explanation/ bekam ebenfalls eine README (vier Bereichs-READMEs); upgrade-instance.md Schritt 9 lässt einen von einer Pflichtmigration vorhergesagten docs verify-Fehler stehen, Schritt 13 prüft docs verify; language-boundaries.md hat die Begründung zur Sprachregel für menschliche Doku; die Fundstellenliste ist korrigiert (raw/CONTRACT.md, wiki-ingest, git_publish.py, toc.py brauchten nichts); der Regressionstest ist die eine bewusste Ausnahme im Prüf-grep. INSTALL.md/INSTALL-MCP.md bleiben bis #191/#190 deutsch.
**Changelog:** Body vom Plan auf den gebauten Stand umgeschrieben – 9.0.0-beta.1 in `d66a3f6`, CI-Läufe 576/577 grün, alle Kriterien abgehakt. Abweichungen vom Design: `docs/explanation/` bekam ebenfalls eine README (vier Bereichs-READMEs); `upgrade-instance.md` Schritt 9 lässt einen von einer Pflichtmigration vorhergesagten `docs verify`-Fehler stehen, Schritt 13 prüft `docs verify`; `language-boundaries.md` hat die Begründung zur Sprachregel für menschliche Doku; die Fundstellenliste ist korrigiert (`raw/CONTRACT.md`, `wiki-ingest`, `git_publish.py`, `toc.py` brauchten nichts); der Regressionstest ist die eine bewusste Ausnahme im Prüf-`grep`. `INSTALL.md`/`INSTALL-MCP.md` bleiben bis #191/#190 deutsch.
Changelog: Abschlussprüfung – AGENTS.md § Routing und der Docstring in toc.py beschrieben docs/ noch in der Rolle vor 9.0.0 und sind in 9.0.0-beta.2 (01c888d, CI-Lauf 578 grün) nachgezogen (neuer Punkt 11). INSTALL.md gegen upgrade-instance.md gelesen, keine Abweichung. Der Body steht im Endzustand; Issue geschlossen.
**Changelog:** Abschlussprüfung – `AGENTS.md` § Routing und der Docstring in `toc.py` beschrieben `docs/` noch in der Rolle vor 9.0.0 und sind in 9.0.0-beta.2 (`01c888d`, CI-Lauf 578 grün) nachgezogen (neuer Punkt 11). `INSTALL.md` gegen `upgrade-instance.md` gelesen, keine Abweichung. Der Body steht im Endzustand; Issue geschlossen.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Paket A aus #185 (Design, Entscheidungen E1–E5, N1–N3 dort). Die übrigen Pakete hängen von diesem ab.
Stand: abgeschlossen. Gebaut und publiziert als 9.0.0-beta.1 in
d66a3f6(Kandidat von8.1.0-beta.2eskaliert), verifiziert durch CI-Lauf 576 (verifymit Fresh-Instance-Replay,pwsh) und Release-Lauf 577 (Veröffentlichung für den Beta-Kandidaten korrekt übersprungen). Die Abschlussprüfung fand zwei veraltete Stellen und zog sie in 9.0.0-beta.2,01c888d, nach (Punkt 11); verifiziert durch CI-Lauf 578 und Release-Lauf 579, beide grün. Ein Release ist nicht geschnitten – das entscheidet der Betreiber.Was gebaut wurde
docs/ist die Wurzel der menschlichen Doku nach Diátaxis, mit einem nicht ausgelieferten Entwicklerteil; die Erklärseiten sind ohne Kompatibilitäts-Stub umgezogen (N2 (b): bewusst MAJOR).docs/tutorials/,docs/how-to/,docs/reference/,docs/explanation/,docs/dev/. Jeder der vier Bereiche hat eine kurze englischeREADME.md: die drei leeren sagen, was hingehört und wo das Material bis dahin steht;docs/explanation/README.mdlistet die sieben Seiten.docs/dev/hat keine README (nurdevelopment.md).docs/explanation/pergit mv, Namen unverändert, kein Stub. Inhalt unverändert außer der Linktiefe (../→../../) – Ausnahmelanguage-boundaries.md, siehe Punkt 6.AGENTS.md,CLAUDE.md,README.md,types/type-guidance.md,instructions/CONTRACT.md,instructions/ingest-queue.md,instructions/gtd-weekly-review/SKILL.md,instructions/dev/stack-mode.md,instructions/dev/stack-close/SKILL.md,instructions/migrations/6.0.0-type-guidance-split.md,kb/CONVENTIONS.mdundkb/CONVENTIONS.md.template,tools/CONTRACT.md(überdocs contract --apply),task_cmd.py,new_page.py,dist_cmd.py,tasks/protocol.py, Tests (test_toc.py,test_git_publish.py,test_dist_cmd.py). Gegenüber der Design-Liste:raw/CONTRACT.md,instructions/wiki-ingest/SKILL.md,git_publish.pynennen keinen der sieben Pfade – ihredocs/…-Treffer sind Beispielpfade erfasster Repos (docs/runbook.md) bzw. generische Erwähnungen vondocs/und blieben unverändert;toc.pybrauchte erst in der Abschlussprüfung eine Änderung (Punkt 11).DEVELOPMENT.md→docs/dev/development.md, englisch übersetzt (E3), mit generiertem TOC. Verweise nachgezogen:README.md(Strip-Block und Baum),INSTALL.md(Strip-Block),instructions/dev/dev-setup.md,instructions/dev/doc-pull-through.md,instructions/dev/stack-close/SKILL.md,AGENTS.md§ File naming (ZeileDEVELOPMENT.mdentfällt, geht in der neuendocs/dev/-Zeile auf),docs_verify.STAGE_READMES.dist exportschließtdocs/dev/aus:dist_cmd.DOCS_DEV_ONLY(Ausschluss per exaktem Pfad, nicht per Name), Kommentar amROOT_FILES-Tupel und inbuild_plan,dist export-Datensatz und Docstring.AGENTS.md: § File naming mit Zeilendocs/<area>/<name>.md(vier Bereiche) unddocs/dev/<name>.md(nicht ausgeliefert); Absatz „docs/carries no normative sentence" auf die vier Arten Doku und den Layout-Check; „Six explanation pages…" auf die neuen Pfade. „Two languages, and which is which" hat einen dritten Punkt: die menschliche Doku des Stacks (README.md,INSTALL*.md,EVALS.md, alles unterdocs/) ist englisch, unabhängig vonlanguage:;CHANGES.mdist nicht erfasst. § Changelog nenntdocs/tutorials|how-to|reference|dev/bei den menschlichen Dokumenten; der „andere Takt" gilt fürdocs/explanation/. Zusätzlich:docs/explanation/language-boundaries.mdhat einen Abschnitt „The stack's human documentation" mit der Begründung zu E3 (keine einzelne Instanz, deren Sprache sie folgen könnte; generierte Teile aus englischen Quellen) und einen eigenen Auslöser für ein Wiederaufrollen (vom Stack gepflegte, geprüfte Übersetzungen).instructions/dev/doc-pull-through.md: Zeile für menschlich bediente Abläufe nenntINSTALL-MCP.mdund die Seiten unterdocs/tutorials|how-to|reference/; die Begründungszeile zeigt aufdocs/explanation/; die frühereDEVELOPMENT.md-Zeile ist diedocs/dev/development.md-Zeile (auch für den Release-Ablauf).docs verify-Checkcheck_docs_layout: jede Datei unterdocs/liegt in einem vonDOCS_AREAS(tutorials,how-to,reference,explanation,dev); direkt indocs/oder in einem anderen Verzeichnis ist ein Fehler; ohnedocs/grün. Notiz und Failure imdocs verify-Datensatz, Erfolgszeile nennt ihn.## DocumentationinREADME.mdzwischen Getting started und Architecture, verlinkt die vier Bereichs-READMEs.instructions/migrations/9.0.0-docs-diataxis.md(manual: true,migrates_to: 9.0.0,migration_kind: mechanical,obligation: required): Baseline pergit grep/docs verifyin Dateien,sed-Umschreibung nur in nicht-Seiten-Dateien (kb/-Seiten bewusst ausgenommen, Entscheidungspunkt), Prüfung gegen die Baseline,migrate done 9.0.0 --pages 0.instructions/upgrade-instance.mdtut es generisch, aber Schritt 9 (docs verifyvor dem Publish) wäre sonst ein Stopp gewesen: Er lässt jetzt einen Fehler stehen, den die Release-Notes einer Pflichtmigration zuordnen, und Schritt 13 führtdocs verifyzusätzlich aus. In diesem Repo ist die Migration angewandt und mitmigrate done 9.0.0verbucht (.wikitool-kb.json→ 9.0.0).stack-close): zwei Stellen beschriebendocs/noch in seiner Rolle vor 9.0.0 und sind nachgezogen – die Zeile inAGENTS.md§ Routing („docs/(why the stack is built the way it is…)") und das Zitat der File-naming-Zelle im Docstring vontools/chemenu/toc.py.INSTALL.mdgegen das geänderteupgrade-instance.mdgelesen: der Abschnitt „Eine Instanz aktualisieren" erzählt die Schritte bewusst nicht nach, also keine Abweichung und kein Folge-Issue. Die übrigendocs/explanation/-Seiten,tools/README.md,EVALS.mdund die Dev-Instruktionen machen keine Aussage, die der Umzug falsch gemacht hätte.Bekannter Übergangszustand:
INSTALL.mdundINSTALL-MCP.mdsind noch deutsch und widersprechen damit der Sprachregel, bis #191 bzw. #190 sie übersetzen – so in #185 zerlegt.Version
MAJOR – 9.0.0, Kandidat
9.0.0-beta.2. Mit dem Betreiber in #185 besprochen (N2); Alternativen Stub (MINOR) und Liegenlassen (MINOR, Ausnahme) waren vorgelegt.docs verifyin jeder bestehenden Instanz meldet nach dem Upgrade einen toten Link in ihrer eigenenkb/CONVENTIONS.md(../docs/language-boundaries.md), weil das Upgrade die instanzeigene Datei nicht anfasst und die alte Seite als „retired" löscht.CHANGES.md-Eintrag: Breaking-Zeile,**Migration:** required - instructions/migrations/9.0.0-docs-diataxis.md, Bump mit--impact highplus der Nachzieh-Bump aus Punkt 11 (--impact low), Themenabschnitt „Doku-Gerüst nach Diátaxis unterdocs/(#187)".Akzeptanzkriterien
docs/enthält keine Datei direkt unter sich; die sieben Erklärseiten liegen unterdocs/explanation/, Inhalt unverändert außer Pfaden (Commit zeigt sie als Umbenennungen, 79–100 % Ähnlichkeit;language-boundaries.md79 % wegen des neuen Abschnitts aus Punkt 6).grepüber den Baum (ohneCHANGES.md,kb/log.md,commonplace/,raw/,reports/) findet nur Pfade mitdocs/explanation/– einzige Ausnahmetools/chemenu/tests/test_docs_verify.py, dessen Upgrade-Test den alten Link absichtlich als Ausgangszustand enthält.dist exportin ein leeres Verzeichnis:docs/dev/undDEVELOPMENT.mdfehlen,docs/explanation/*.mdund die vier Bereichs-READMEs sind da;docs verifyim exportierten Baum ist grün, nachdem die Vorlagen übernommen sind (dist adopt,kb/CONVENTIONS.mdaus der Vorlage mit entferntem Platzhalter – vorher meldet es nur die bekannten nicht übernommenen Vorlagen, nichts zudocs/). CI-Schritt „The distribution works as a fresh instance" in den Läufen 576 und 578 grün.docs/und in einem Nicht-Bereich, und ist im Repo grün (test_docs_verify.py,test_dist_cmd.py::test_plan_never_includes_docs_dev).AGENTS.mdnennt die Sprachregel für menschliche Stack-Doku an genau einer Stelle (§ File naming, Punkt 3);instructions verifyunddocs verifysind grün.DEVELOPMENT.mdgibt es nicht mehr an der Wurzel;docs/dev/development.mdist englisch, kein Verweis zeigt auf den alten Pfad (außer historischenCHANGES.md-Einträgen).test_the_9_0_0_upgrade_breaks_an_old_conventions_link_until_the_migration_ran– alter Link nach dem Upgrade tot, nach dersed-Umschreibung, die der Test im Migrationsdokument wörtlich wiederfindet, grün.CHANGES.md-Eintrag des Kandidaten trägt Breaking- und Migrationszeile; Themenabschnitt.pytest(2360 bestanden, 3 übersprungen – normal und in leerer Umgebung),docs verify,instructions verifylokal grün; CI-Läufe 576 (d66a3f6) und 578 (01c888d) grün, Release-Läufe 577/579 grün mit übersprungener Veröffentlichung.Nicht in diesem Paket
Neue Inhalte in den Bereichen (C, D), Übersetzung von
INSTALL.md/INSTALL-MCP.md(#191, #190), generierte Referenz (B1, B2), Wiki-Spiegel (E).tools/README.mdbleibt, wo es ist (verzeichnislokale Entwickler-Doku nach § File naming).Changelog: Body vom Plan auf den gebauten Stand umgeschrieben – 9.0.0-beta.1 in
d66a3f6, CI-Läufe 576/577 grün, alle Kriterien abgehakt. Abweichungen vom Design:docs/explanation/bekam ebenfalls eine README (vier Bereichs-READMEs);upgrade-instance.mdSchritt 9 lässt einen von einer Pflichtmigration vorhergesagtendocs verify-Fehler stehen, Schritt 13 prüftdocs verify;language-boundaries.mdhat die Begründung zur Sprachregel für menschliche Doku; die Fundstellenliste ist korrigiert (raw/CONTRACT.md,wiki-ingest,git_publish.py,toc.pybrauchten nichts); der Regressionstest ist die eine bewusste Ausnahme im Prüf-grep.INSTALL.md/INSTALL-MCP.mdbleiben bis #191/#190 deutsch.Changelog: Abschlussprüfung –
AGENTS.md§ Routing und der Docstring intoc.pybeschriebendocs/noch in der Rolle vor 9.0.0 und sind in 9.0.0-beta.2 (01c888d, CI-Lauf 578 grün) nachgezogen (neuer Punkt 11).INSTALL.mdgegenupgrade-instance.mdgelesen, keine Abweichung. Der Body steht im Endzustand; Issue geschlossen.