Installationsanleitung für Menschen an die Instruktionen koppeln (INSTALL.md, DEVELOPMENT.md) #154

Closed
opened 2026-09-27 08:45:02 +00:00 by torben · 3 comments
Owner

Teilpaket von #140. Umgesetzt am 2026-10-02 in c77bda2 (8.0.0-beta.21). D12 war entschieden (Betreiber, 2026-09-28): so umsetzen wie empfohlen.

Warum

Betreiber (2026-09-27): Die Instruktionen unter instructions/ sind die einzige Quelle für den Installationsablauf. Die Anleitung für Menschen muss dazu passen, und stack-close soll das bei jeder Änderung an Installationsanweisungen gegenprüfen.

Analyse (#140): Eine gemeinsame Datei für Mensch und Agent ist nicht sinnvoll. Dagegen sprechen drei Dinge:

  • Sprache: Die Steuerungsebene ist englisch, INSTALL.md ist deutsch.
  • Lesart: Ein Agent liest jeden Satz als Anweisung. Genau in erklärende oder optionale Prosa hinein hat der Agent im analysierten Lauf improvisiert.
  • Bedarf: Der Mensch braucht Vorbereitung und Entscheidungen, der Agent Schritte, Stoppbedingungen und Exit-Codes.

Die Drift entsteht dort, wo INSTALL.md den Ablauf nacherzählt. Seit #153 tut sie das nicht mehr. Übrig blieben zwei aufzählbare Überschneidungen und etwas Prosa.

Was gebaut wurde

  1. Voraussetzungen als generierte Region. INSTALL.md trägt je Plattformwert von tools/prerequisites.txt eine Region: <!-- wikitool:prerequisites --> für all, <!-- wikitool:prerequisites-windows --> für windows. Jede Zeile ist sprachneutral: - **<label>** ≥ <minimum>. Das englische Feld „why" bleibt draußen. Der neue Befehl wikitool docs prerequisites [--apply] schreibt bestehende Regionen neu. Eine fehlende Region legt er nicht an, sondern bricht mit exit 1 ab, denn die Stelle im Dokument ist Sache der Anleitung. docs verify meldet eine fehlende, eine veraltete und eine verwaiste Region (Plattform ohne Tool).
  2. Setup-Fragen als Marker. Jede Stelle in instructions/setup-instance.md, an der der Agent fragt, trägt <!-- setup-question: <key> -->. Der passende Bullet in INSTALL.md § „Was der Agent dich fragt" trägt denselben Marker. Acht Schlüssel: identity, remote, kb-language, domain, personalization, environment, telemetry, task-tracker. docs verify vergleicht beide Mengen in beide Richtungen. Marker statt Frontmatter-Liste: Sie stehen dort, wo gefragt wird, und das Instruktionsschema (additionalProperties: false) bleibt unverändert.
  3. Zuordnung vor dem Publish. instructions/dev/doc-pull-through.md hat zwei neue Tabellenzeilen. Die erste ordnet preflight.md, setup-instance.md, bootstrap.md, upgrade-instance.md und tools/prerequisites.txt der Datei INSTALL.md zu und nennt, was docs verify davon mechanisch prüft. Die zweite ordnet dev/dev-setup.md der Datei DEVELOPMENT.md zu (ungeprüft).
  4. Nachprüfung in stack-close. Schritt 3 liest bei einem veröffentlichten Diff auf eine Installationsinstruktion die menschliche Anleitung erneut dagegen. Eine Abweichung wird als Folge-Issue gemeldet. Die Zuordnung selbst steht nur in doc-pull-through.md (Invariante 8).

Code: tools/chemenu/install_doc.py (Rendern, Marker lesen, beide Prüfungen), aufgerufen aus docs_verify.py; Tests in tools/chemenu/tests/test_install_doc.py.

Nicht im Umfang: die Zahl 95 (limit|install_dir_max) steht weiter als Prosa in INSTALL.md und setup-instance.md.

Akzeptanzkriterien

  • Ein Tool im Manifest, das in INSTALL.md fehlt, lässt docs verify fehlschlagen (test_a_manifest_tool_missing_from_install_doc_fails).
  • Eine neue Frage in setup-instance.md, die INSTALL.md nicht nennt, lässt docs verify fehlschlagen (test_a_question_the_install_doc_does_not_name_fails).
  • doc-pull-through.md und stack-close/SKILL.md nennen die Zuordnung, und instructions verify ist grün.

Verifikation

Lokal: docs verify grün, instructions verify grün, pytest 2016 bestanden / 3 übersprungen. CI auf c77bda2: Lauf 492 grün (verify-Job inkl. Versions-Gate und Replay als frische Instanz, pwsh-Job), Release-Lauf 493 grün mit übersprungenem Publish, da -beta. Nachprüfung nach dem Publish (stack-close Schritt 3): INSTALL.md gegen setup-instance.md gelesen, keine Abweichung; keine docs/-Seite betroffen.

Version

minor, im 8.0.0-Kandidaten (8.0.0-beta.21, #140 D19).

Teilpaket von #140. Umgesetzt am 2026-10-02 in `c77bda2` (8.0.0-beta.21). D12 war entschieden (Betreiber, 2026-09-28): so umsetzen wie empfohlen. ## Warum Betreiber (2026-09-27): Die Instruktionen unter `instructions/` sind die einzige Quelle für den Installationsablauf. Die Anleitung für Menschen muss dazu passen, und `stack-close` soll das bei jeder Änderung an Installationsanweisungen gegenprüfen. Analyse (#140): Eine gemeinsame Datei für Mensch und Agent ist nicht sinnvoll. Dagegen sprechen drei Dinge: - **Sprache:** Die Steuerungsebene ist englisch, `INSTALL.md` ist deutsch. - **Lesart:** Ein Agent liest jeden Satz als Anweisung. Genau in erklärende oder optionale Prosa hinein hat der Agent im analysierten Lauf improvisiert. - **Bedarf:** Der Mensch braucht Vorbereitung und Entscheidungen, der Agent Schritte, Stoppbedingungen und Exit-Codes. Die Drift entsteht dort, wo `INSTALL.md` den Ablauf nacherzählt. Seit #153 tut sie das nicht mehr. Übrig blieben zwei aufzählbare Überschneidungen und etwas Prosa. ## Was gebaut wurde 1. **Voraussetzungen als generierte Region.** `INSTALL.md` trägt je Plattformwert von `tools/prerequisites.txt` eine Region: `<!-- wikitool:prerequisites -->` für `all`, `<!-- wikitool:prerequisites-windows -->` für `windows`. Jede Zeile ist sprachneutral: `- **<label>** ≥ <minimum>`. Das englische Feld „why" bleibt draußen. Der neue Befehl `wikitool docs prerequisites [--apply]` schreibt bestehende Regionen neu. Eine fehlende Region legt er nicht an, sondern bricht mit exit 1 ab, denn die Stelle im Dokument ist Sache der Anleitung. `docs verify` meldet eine fehlende, eine veraltete und eine verwaiste Region (Plattform ohne Tool). 2. **Setup-Fragen als Marker.** Jede Stelle in `instructions/setup-instance.md`, an der der Agent fragt, trägt `<!-- setup-question: <key> -->`. Der passende Bullet in `INSTALL.md` § „Was der Agent dich fragt" trägt denselben Marker. Acht Schlüssel: `identity`, `remote`, `kb-language`, `domain`, `personalization`, `environment`, `telemetry`, `task-tracker`. `docs verify` vergleicht beide Mengen in beide Richtungen. Marker statt Frontmatter-Liste: Sie stehen dort, wo gefragt wird, und das Instruktionsschema (`additionalProperties: false`) bleibt unverändert. 3. **Zuordnung vor dem Publish.** `instructions/dev/doc-pull-through.md` hat zwei neue Tabellenzeilen. Die erste ordnet `preflight.md`, `setup-instance.md`, `bootstrap.md`, `upgrade-instance.md` und `tools/prerequisites.txt` der Datei `INSTALL.md` zu und nennt, was `docs verify` davon mechanisch prüft. Die zweite ordnet `dev/dev-setup.md` der Datei `DEVELOPMENT.md` zu (ungeprüft). 4. **Nachprüfung in `stack-close`.** Schritt 3 liest bei einem veröffentlichten Diff auf eine Installationsinstruktion die menschliche Anleitung erneut dagegen. Eine Abweichung wird als Folge-Issue gemeldet. Die Zuordnung selbst steht nur in `doc-pull-through.md` (Invariante 8). Code: `tools/chemenu/install_doc.py` (Rendern, Marker lesen, beide Prüfungen), aufgerufen aus `docs_verify.py`; Tests in `tools/chemenu/tests/test_install_doc.py`. Nicht im Umfang: die Zahl 95 (`limit|install_dir_max`) steht weiter als Prosa in `INSTALL.md` und `setup-instance.md`. ## Akzeptanzkriterien - [x] Ein Tool im Manifest, das in `INSTALL.md` fehlt, lässt `docs verify` fehlschlagen (`test_a_manifest_tool_missing_from_install_doc_fails`). - [x] Eine neue Frage in `setup-instance.md`, die `INSTALL.md` nicht nennt, lässt `docs verify` fehlschlagen (`test_a_question_the_install_doc_does_not_name_fails`). - [x] `doc-pull-through.md` und `stack-close/SKILL.md` nennen die Zuordnung, und `instructions verify` ist grün. ## Verifikation Lokal: `docs verify` grün, `instructions verify` grün, `pytest` 2016 bestanden / 3 übersprungen. CI auf `c77bda2`: Lauf 492 grün (verify-Job inkl. Versions-Gate und Replay als frische Instanz, pwsh-Job), Release-Lauf 493 grün mit übersprungenem Publish, da `-beta`. Nachprüfung nach dem Publish (stack-close Schritt 3): `INSTALL.md` gegen `setup-instance.md` gelesen, keine Abweichung; keine `docs/`-Seite betroffen. ## Version minor, im 8.0.0-Kandidaten (`8.0.0-beta.21`, #140 D19).
torben added the prio/plannedsize/Marea/processkind/decisionstatus/blocked labels 2026-09-27 08:45:02 +00:00
torben added kind/build and removed kind/decision labels 2026-09-28 16:54:55 +00:00
Author
Owner

Changelog:

  • Entschieden (Betreiber, 2026-09-28): D12 wie empfohlen. Darum kind/decision → kind/build.
  • Bleibt: status/blocked durch #153 und #151.
**Changelog:** - **Entschieden (Betreiber, 2026-09-28):** D12 wie empfohlen. Darum `kind/decision` → `kind/build`. - **Bleibt:** `status/blocked` durch #153 und #151.
torben removed the status/blocked label 2026-10-02 04:44:42 +00:00
Author
Owner

Changelog (2026-10-02): status/blocked ist entfernt. Beide Blocker sind erledigt: #153 (a6d07f9, beta.20) und das Manifest tools/prerequisites.txt aus #151, das im Baum liegt. Der erste Satz des Bodys sagt das jetzt; der Rest ist unverändert. Nach #140 ist dies das nächste Paket.

**Changelog (2026-10-02):** `status/blocked` ist entfernt. Beide Blocker sind erledigt: #153 (`a6d07f9`, beta.20) und das Manifest `tools/prerequisites.txt` aus #151, das im Baum liegt. Der erste Satz des Bodys sagt das jetzt; der Rest ist unverändert. Nach #140 ist dies das nächste Paket.
Author
Owner

Changelog (2026-10-02): Umgesetzt in c77bda2 (8.0.0-beta.21), CI-Läufe 492 und 493 grün. Der Body beschreibt jetzt das Gebaute statt des Plans. Er nennt zwei Designentscheidungen: Marker statt Frontmatter, und docs prerequisites platziert keine Region. Dazu stehen dort die Verifikation und alle drei Akzeptanzkriterien als erfüllt. Geschlossen.

**Changelog (2026-10-02):** Umgesetzt in `c77bda2` (8.0.0-beta.21), CI-Läufe 492 und 493 grün. Der Body beschreibt jetzt das Gebaute statt des Plans. Er nennt zwei Designentscheidungen: Marker statt Frontmatter, und `docs prerequisites` platziert keine Region. Dazu stehen dort die Verifikation und alle drei Akzeptanzkriterien als erfüllt. Geschlossen.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#154