Tutorials: INSTALL.md als englisches Installations-Tutorial, neues Tutorial „erste Quelle bis erste Antwort", README.md als Landeseite #191

Closed
opened 2026-10-06 17:45:30 +00:00 by torben · 2 comments
Owner

Paket D aus #185. #187 (Gerüst) und #190 (INSTALL.md/README.md auf ihre Tutorial-Teile reduziert) sind abgeschlossen; dieses Paket schließt den Umbau der Wurzeldokumente ab.

Stand: abgeschlossen. Gebaut und publiziert als 9.0.0-beta.7 in fe1de63 (PATCH auf dem laufenden Kandidaten), verifiziert durch CI-Lauf 591 (verify mit Fresh-Instance-Replay, pwsh) und Release-Lauf 592 (Veröffentlichung für den Beta-Kandidaten korrekt übersprungen). Die Abschlussprüfung zog zwei How-to-Seiten nach, 61e18dc, verifiziert durch CI-Lauf 594 (§ Abschlussprüfung). Ein Release ist nicht geschnitten – das entscheidet der Betreiber.

Was gebaut wurde

1. INSTALL.md bleibt an der Wurzel und ist das Installations-Tutorial – auf Englisch

Entscheidung: Die Datei wird nicht nach docs/tutorials/ verschoben. Ihr Name ist in instructions/setup-instance.md, tools/chemenu/install_doc.py (INSTALL_DOC), dist_cmd.ROOT_FILES und im Release-Ablauf verankert, und wer eine Instanz einrichten will, findet sie an der Wurzel zuerst. docs/tutorials/README.md listet INSTALL.md als erstes Tutorial.

  • Titel „Install a Chemenu instance“; Abschnitte übersetzt: § What you need first, § The sentence for the agent, § What the agent asks you, § When the agent stops, § Check the instance, § Next steps (früher „Danach“, verlinkt jetzt zuerst das neue Tutorial). Der Satz für den Agenten ist englisch.
  • Generierte Regionen (<!-- wikitool:prerequisites… -->) und die acht <!-- setup-question: <key> -->-Marker unverändert.
  • Verweise nachgezogen: instructions/dev/doc-pull-through.md (§ "What the agent asks you"); install_doc.py – Docstring (beide Dokumente englisch, AGENTS.md § File naming; die Begründungen für das Weglassen des why-Felds und für den Marker-Schlüssel neu gefasst, weil „zwei Sprachen“ nicht mehr trägt), der Abschnittsname steht jetzt in der Konstante QUESTIONS_SECTION und in der Meldung von check_setup_questions; dieselbe veraltete Begründung im docs prerequisites-Datensatz (docs_verify.py) → tools/CONTRACT.md und docs/reference/commands/types-instructions-and-docs.md regeneriert. Tests: Fixture englisch, neuer Test test_this_repos_install_doc_has_the_section_the_finding_names (die Überschrift, die die Meldung nennt, existiert in INSTALL.md), bestehender Fehlende-Frage-Test prüft den Abschnittsnamen in der Meldung.

2. Neues Tutorial docs/tutorials/first-source-to-first-answer.md

Acht Schritte in einer frischen Instanz: Beispielquelle nach incoming/ kopieren → „Ingest“ → sagen, was zählt (und dass nichts zu tun ist) → fidelity/authority beantworten (verbatim, reporting) → den Agenten publizieren lassen → ansehen, was entstand (raw/, Quellseite mit den zwei Antworten, Entitäts-/Konzeptseiten mit Fußnoten, kb/log.md) → in einer neuen Sitzung zwei Fragen stellen (eine mit Quellen beantwortbar, eine, für die die Wiki keine Quelle hat) → optional Obsidian. Leitplanke 1 aus #185 eingehalten: kein Schritt erzählt wiki-ingest nach.

  • Beispielquelle docs/tutorials/sample-source.md: 48 Zeilen, englisch, selbst verfasst, als erfunden gekennzeichnet; Entitäten Atlas (Dateiserver) und restic, Konzept 3-2-1-Regel, Beziehung Atlas nutzt restic.
  • Gegenüber dem Entwurf aus dem Durchspielen korrigiert: Schritt 5 hieß „Approve the publish“ und behauptete, ein erster Ingest löse das Mass-Update-Gate aus. Tut er nicht – generierte Indexe und Log zählen nicht, der Lauf hatte 11 Dateien, davon 5 gezählt. Schritt 5 heißt jetzt „Let the agent publish“ und nennt das Gate nur für größere Quellen. Schritt 3 sagt jetzt, dass der Agent die Capture-Fragen oft schon in derselben Nachricht stellt und den nicht getesteten Restore als Aufgabe anbieten kann.

3. README.md als Landeseite

Einleitung, Getting started, Documentation (Tutorials-Zeile nennt INSTALL.md als Anfang), Your first ingestion (jetzt zwei Zeilen mit Link auf das neue Tutorial), Changelog, Resources, License – letztere drei hatte #190 bewusst stehen lassen, keine docs/-Seite trägt sie. 101 Zeilen.

Durchspiel-Test (Akzeptanzkriterium 3)

2026-10-07, Claude Code (claude -p, Standardmodell), Instanz aus dem dist export des Arbeitsbaums im Scratchpad, eingerichtet wie der CI-Schritt „The distribution works as a fresh instance“ (Vorlagen ohne Sentinel, dist adopt, Indexe). Basis-Commit in der Testinstanz per git commit, kein Remote.

  • Schritte 1–4: Der Agent stellte Takeaways, vier vorgeschlagene Seiten, die Aufgaben-Frage (bot den nicht getesteten Full-Restore als Aufgabe an) und fidelity/authority in einer Nachricht. Antwort wörtlich aus dem Tutorial.
  • Schritt 5: publish scheiterte zuerst am fehlenden origin (Eigenheit der Testinstanz – eine echte lokale Instanz klärt das im Setup), danach mit --no-push committet: 11 Dateien, kein Gate (→ Korrektur oben).
  • Schritt 6: Quellseite kb/sources/notes/Source - Home lab backups - how they work now.md mit fidelity: verbatim, authority: reporting, raw_files: [raw/2026/10/home-lab-backups.md]; Atlas (system), restic (tool), 3-2-1 backup rule (pattern), Kanten Atlas uses restic / implements 3-2-1; Fußnoten an den Fakten; Log-Eintrag.
  • Schritt 7, je neue Sitzung: Brand-Frage → Storage-Box als einzige Kopie außer Haus, 3-2-1-Regel, Quellen genannt. Restore-Dauer → „nobody has done one yet“, keine Schätzung, Quelle genannt.
  • Nebenbefund: Die Seiten-Typ-Specs, die dist export ausliefert, sind deutsch, obwohl kb/CONVENTIONS.md.template Englisch vorgibt; new schrieb deutsche Überschriften, der Agent hat sie von Hand angepasst. Nicht Teil dieses Pakets → #196.

Abschlussprüfung (stack-close)

  • Veraltete Aussagen gesucht: Verweise auf den früheren Stand („Nothing is here yet“ in docs/tutorials/README.md, deutsche Abschnittsnamen, „Your first ingestion“-Schritte) – außer der jetzt verlinkenden README-Überschrift keine Fundstelle. Gelesen ohne Abweichung: AGENTS.md (Bootstrap, File naming Punkt 3), docs/explanation/language-boundaries.md § The stack's human documentation, docs/explanation/architecture.md (Baum), docs/how-to/README.md, docs/how-to/troubleshoot.md (verweist für Preflight-Stopps weiter auf INSTALL.md), docs/dev/development.md, tools/README.md (install_doc.py-Zeile), der CHANGES.md-Abschnitt.
  • Eine Abweichung, nachgezogen: docs/how-to/ingest-a-source.md und docs/how-to/maintain-the-wiki.md sagten, ein Publish mit zehn oder mehr Dateien halte am Mass-Update-Gate – ohne dass generierte Dateien nicht zählen (git_publish.is_exempt/is_generated). Der Durchspiel-Test hat es widerlegt, und das neue Tutorial sagte es schon richtig. Beide Seiten nennen jetzt die Ausnahme (61e18dc, nur docs/, kein Bump nötig), CI-Lauf 594 grün.
  • Installationsinstruktionen: Der Diff berührt keine (setup-instance.md, preflight.md, bootstrap.md, upgrade-instance.md unverändert); INSTALL.md wurde beim Übersetzen Abschnitt für Abschnitt gegen setup-instance.md gelesen (Fragen, Gate beim ersten Commit, Neustart der Sitzung, Prüfreihenfolge) – keine Abweichung.

Version

PATCH – keine Schnittstelle ändert sich; tools/ nur in Docstrings, Meldungen, einem Datensatztext und Tests. Drop-in in beide Richtungen. version bump --patch --impact medium: 9.0.0-beta.7; CHANGES.md mit Bump-Titel plus Themenabschnitt „Tutorials: installation in English, and a first source to a first answer (#191)“. Der Nachzieh-Commit 61e18dc berührt nur docs/ und braucht keinen Bump.

Akzeptanzkriterien

  • INSTALL.md ist vollständig englisch; install_doc-Checks grün; docs prerequisites meldet „already current“; die Menge der setup-question-Schlüssel ist unverändert (acht).
  • grep -rn "Was der Agent dich fragt\|Was vorher da sein muss\|Wenn der Agent anhält" außerhalb von CHANGES.md, kb/, raw/, reports/ findet nichts.
  • Das Tutorial lässt sich in einer frischen, per dist export erzeugten Instanz von Anfang bis Ende durchspielen – § Durchspiel-Test.
  • README.md hat höchstens 150 Zeilen (101) und keinen Abschnitt, dessen Inhalt eine Seite unter docs/ schon trägt.
  • docs/tutorials/README.md listet beide Tutorials.
  • dist export + docs verify im Zielbaum grün (nach dist adopt und kb/CONVENTIONS.md aus der Vorlage); docs/tutorials/ mit allen drei Dateien im Export, docs/dev/ nicht. In CI zusätzlich der Schritt „The distribution works as a fresh instance“ in Lauf 591.
  • pytest (2433 bestanden, 3 übersprungen), docs verify, instructions verify lokal grün; CI-Lauf 591 (fe1de63) grün, Release-Lauf 592 grün mit übersprungener Veröffentlichung; CI-Lauf 594 (61e18dc) grün.
Paket D aus #185. #187 (Gerüst) und #190 (`INSTALL.md`/`README.md` auf ihre Tutorial-Teile reduziert) sind abgeschlossen; dieses Paket schließt den Umbau der Wurzeldokumente ab. **Stand: abgeschlossen.** Gebaut und publiziert als **9.0.0-beta.7** in `fe1de63` (PATCH auf dem laufenden Kandidaten), verifiziert durch CI-Lauf [591](https://gitea.nehmer.net/torben/chemenu/actions/runs/591) (`verify` mit Fresh-Instance-Replay, `pwsh`) und Release-Lauf [592](https://gitea.nehmer.net/torben/chemenu/actions/runs/592) (Veröffentlichung für den Beta-Kandidaten korrekt übersprungen). Die Abschlussprüfung zog zwei How-to-Seiten nach, `61e18dc`, verifiziert durch CI-Lauf [594](https://gitea.nehmer.net/torben/chemenu/actions/runs/594) (§ Abschlussprüfung). Ein Release ist nicht geschnitten – das entscheidet der Betreiber. ## Was gebaut wurde ### 1. `INSTALL.md` bleibt an der Wurzel und *ist* das Installations-Tutorial – auf Englisch Entscheidung: Die Datei wird **nicht** nach `docs/tutorials/` verschoben. Ihr Name ist in `instructions/setup-instance.md`, `tools/chemenu/install_doc.py` (`INSTALL_DOC`), `dist_cmd.ROOT_FILES` und im Release-Ablauf verankert, und wer eine Instanz einrichten will, findet sie an der Wurzel zuerst. `docs/tutorials/README.md` listet `INSTALL.md` als erstes Tutorial. - Titel „Install a Chemenu instance“; Abschnitte übersetzt: § What you need first, § The sentence for the agent, § What the agent asks you, § When the agent stops, § Check the instance, § Next steps (früher „Danach“, verlinkt jetzt zuerst das neue Tutorial). Der Satz für den Agenten ist englisch. - Generierte Regionen (`<!-- wikitool:prerequisites… -->`) und die acht `<!-- setup-question: <key> -->`-Marker unverändert. - Verweise nachgezogen: `instructions/dev/doc-pull-through.md` (§ "What the agent asks you"); `install_doc.py` – Docstring (beide Dokumente englisch, `AGENTS.md` § File naming; die Begründungen für das Weglassen des `why`-Felds und für den Marker-Schlüssel neu gefasst, weil „zwei Sprachen“ nicht mehr trägt), der Abschnittsname steht jetzt in der Konstante `QUESTIONS_SECTION` und in der Meldung von `check_setup_questions`; dieselbe veraltete Begründung im `docs prerequisites`-Datensatz (`docs_verify.py`) → `tools/CONTRACT.md` und `docs/reference/commands/types-instructions-and-docs.md` regeneriert. Tests: Fixture englisch, neuer Test `test_this_repos_install_doc_has_the_section_the_finding_names` (die Überschrift, die die Meldung nennt, existiert in `INSTALL.md`), bestehender Fehlende-Frage-Test prüft den Abschnittsnamen in der Meldung. ### 2. Neues Tutorial `docs/tutorials/first-source-to-first-answer.md` Acht Schritte in einer frischen Instanz: Beispielquelle nach `incoming/` *kopieren* → „Ingest“ → sagen, was zählt (und dass nichts zu tun ist) → `fidelity`/`authority` beantworten (`verbatim`, `reporting`) → den Agenten publizieren lassen → ansehen, was entstand (`raw/`, Quellseite mit den zwei Antworten, Entitäts-/Konzeptseiten mit Fußnoten, `kb/log.md`) → in einer neuen Sitzung zwei Fragen stellen (eine mit Quellen beantwortbar, eine, für die die Wiki keine Quelle hat) → optional Obsidian. Leitplanke 1 aus #185 eingehalten: kein Schritt erzählt `wiki-ingest` nach. - **Beispielquelle** `docs/tutorials/sample-source.md`: 48 Zeilen, englisch, selbst verfasst, als erfunden gekennzeichnet; Entitäten Atlas (Dateiserver) und restic, Konzept 3-2-1-Regel, Beziehung Atlas nutzt restic. - **Gegenüber dem Entwurf aus dem Durchspielen korrigiert:** Schritt 5 hieß „Approve the publish“ und behauptete, ein erster Ingest löse das Mass-Update-Gate aus. Tut er nicht – generierte Indexe und Log zählen nicht, der Lauf hatte 11 Dateien, davon 5 gezählt. Schritt 5 heißt jetzt „Let the agent publish“ und nennt das Gate nur für größere Quellen. Schritt 3 sagt jetzt, dass der Agent die Capture-Fragen oft schon in derselben Nachricht stellt und den nicht getesteten Restore als Aufgabe anbieten kann. ### 3. `README.md` als Landeseite Einleitung, *Getting started*, *Documentation* (Tutorials-Zeile nennt `INSTALL.md` als Anfang), *Your first ingestion* (jetzt zwei Zeilen mit Link auf das neue Tutorial), *Changelog*, *Resources*, *License* – letztere drei hatte #190 bewusst stehen lassen, keine `docs/`-Seite trägt sie. 101 Zeilen. ## Durchspiel-Test (Akzeptanzkriterium 3) 2026-10-07, **Claude Code** (`claude -p`, Standardmodell), Instanz aus dem `dist export` des Arbeitsbaums im Scratchpad, eingerichtet wie der CI-Schritt „The distribution works as a fresh instance“ (Vorlagen ohne Sentinel, `dist adopt`, Indexe). Basis-Commit in der Testinstanz per `git commit`, kein Remote. - Schritte 1–4: Der Agent stellte Takeaways, vier vorgeschlagene Seiten, die Aufgaben-Frage (bot den nicht getesteten Full-Restore als Aufgabe an) und `fidelity`/`authority` in **einer** Nachricht. Antwort wörtlich aus dem Tutorial. - Schritt 5: `publish` scheiterte zuerst am fehlenden `origin` (Eigenheit der Testinstanz – eine echte lokale Instanz klärt das im Setup), danach mit `--no-push` committet: 11 Dateien, **kein Gate** (→ Korrektur oben). - Schritt 6: Quellseite `kb/sources/notes/Source - Home lab backups - how they work now.md` mit `fidelity: verbatim`, `authority: reporting`, `raw_files: [raw/2026/10/home-lab-backups.md]`; `Atlas` (system), `restic` (tool), `3-2-1 backup rule` (pattern), Kanten Atlas `uses` restic / `implements` 3-2-1; Fußnoten an den Fakten; Log-Eintrag. - Schritt 7, je neue Sitzung: Brand-Frage → Storage-Box als einzige Kopie außer Haus, 3-2-1-Regel, Quellen genannt. Restore-Dauer → „nobody has done one yet“, keine Schätzung, Quelle genannt. - **Nebenbefund:** Die Seiten-Typ-Specs, die `dist export` ausliefert, sind deutsch, obwohl `kb/CONVENTIONS.md.template` Englisch vorgibt; `new` schrieb deutsche Überschriften, der Agent hat sie von Hand angepasst. Nicht Teil dieses Pakets → **#196**. ## Abschlussprüfung (`stack-close`) - **Veraltete Aussagen gesucht:** Verweise auf den früheren Stand („Nothing is here yet“ in `docs/tutorials/README.md`, deutsche Abschnittsnamen, „Your first ingestion“-Schritte) – außer der jetzt verlinkenden README-Überschrift keine Fundstelle. Gelesen ohne Abweichung: `AGENTS.md` (Bootstrap, File naming Punkt 3), `docs/explanation/language-boundaries.md` § The stack's human documentation, `docs/explanation/architecture.md` (Baum), `docs/how-to/README.md`, `docs/how-to/troubleshoot.md` (verweist für Preflight-Stopps weiter auf `INSTALL.md`), `docs/dev/development.md`, `tools/README.md` (`install_doc.py`-Zeile), der `CHANGES.md`-Abschnitt. - **Eine Abweichung, nachgezogen:** `docs/how-to/ingest-a-source.md` und `docs/how-to/maintain-the-wiki.md` sagten, ein Publish mit zehn oder mehr Dateien halte am Mass-Update-Gate – ohne dass generierte Dateien nicht zählen (`git_publish.is_exempt`/`is_generated`). Der Durchspiel-Test hat es widerlegt, und das neue Tutorial sagte es schon richtig. Beide Seiten nennen jetzt die Ausnahme (`61e18dc`, nur `docs/`, kein Bump nötig), CI-Lauf 594 grün. - **Installationsinstruktionen:** Der Diff berührt keine (`setup-instance.md`, `preflight.md`, `bootstrap.md`, `upgrade-instance.md` unverändert); `INSTALL.md` wurde beim Übersetzen Abschnitt für Abschnitt gegen `setup-instance.md` gelesen (Fragen, Gate beim ersten Commit, Neustart der Sitzung, Prüfreihenfolge) – keine Abweichung. ## Version **PATCH** – keine Schnittstelle ändert sich; `tools/` nur in Docstrings, Meldungen, einem Datensatztext und Tests. Drop-in in beide Richtungen. `version bump --patch --impact medium`: **9.0.0-beta.7**; `CHANGES.md` mit Bump-Titel plus Themenabschnitt „Tutorials: installation in English, and a first source to a first answer (#191)“. Der Nachzieh-Commit `61e18dc` berührt nur `docs/` und braucht keinen Bump. ## Akzeptanzkriterien - [x] `INSTALL.md` ist vollständig englisch; `install_doc`-Checks grün; `docs prerequisites` meldet „already current“; die Menge der `setup-question`-Schlüssel ist unverändert (acht). - [x] `grep -rn "Was der Agent dich fragt\|Was vorher da sein muss\|Wenn der Agent anhält"` außerhalb von `CHANGES.md`, `kb/`, `raw/`, `reports/` findet nichts. - [x] Das Tutorial lässt sich in einer frischen, per `dist export` erzeugten Instanz von Anfang bis Ende durchspielen – § Durchspiel-Test. - [x] `README.md` hat höchstens 150 Zeilen (101) und keinen Abschnitt, dessen Inhalt eine Seite unter `docs/` schon trägt. - [x] `docs/tutorials/README.md` listet beide Tutorials. - [x] `dist export` + `docs verify` im Zielbaum grün (nach `dist adopt` und `kb/CONVENTIONS.md` aus der Vorlage); `docs/tutorials/` mit allen drei Dateien im Export, `docs/dev/` nicht. In CI zusätzlich der Schritt „The distribution works as a fresh instance“ in Lauf 591. - [x] `pytest` (2433 bestanden, 3 übersprungen), `docs verify`, `instructions verify` lokal grün; CI-Lauf 591 (`fe1de63`) grün, Release-Lauf 592 grün mit übersprungener Veröffentlichung; CI-Lauf 594 (`61e18dc`) grün.
torben added the prio/plannedsize/Marea/distributionkind/buildstatus/blocked labels 2026-10-06 17:45:30 +00:00
torben removed the status/blocked label 2026-10-07 03:36:20 +00:00
Author
Owner

Changelog: Gebaut, publiziert als 9.0.0-beta.7 in fe1de63, CI 591/Release 592 grün. status/blocked entfernt (#187, #190 geschlossen). Body vom Plan auf „Was gebaut wurde“ umgeschrieben; neu: § Durchspiel-Test (Claude Code, frische Instanz) mit zwei Korrekturen am Tutorial (Schritt 5: erster Ingest löst das Gate nicht aus; Schritt 3: Capture-Fragen kommen oft in derselben Nachricht) und dem Nebenbefund deutscher Seitengerüste in englischen Instanzen → #196. Zusätzlich gegenüber dem Plan: Konstante install_doc.QUESTIONS_SECTION mit Test, und die veraltete Zwei-Sprachen-Begründung im docs prerequisites-Datensatz. Alle Kriterien abgehakt.

**Changelog:** Gebaut, publiziert als 9.0.0-beta.7 in `fe1de63`, CI 591/Release 592 grün. `status/blocked` entfernt (#187, #190 geschlossen). Body vom Plan auf „Was gebaut wurde“ umgeschrieben; neu: § Durchspiel-Test (Claude Code, frische Instanz) mit zwei Korrekturen am Tutorial (Schritt 5: erster Ingest löst das Gate nicht aus; Schritt 3: Capture-Fragen kommen oft in derselben Nachricht) und dem Nebenbefund deutscher Seitengerüste in englischen Instanzen → #196. Zusätzlich gegenüber dem Plan: Konstante `install_doc.QUESTIONS_SECTION` mit Test, und die veraltete Zwei-Sprachen-Begründung im `docs prerequisites`-Datensatz. Alle Kriterien abgehakt.
Author
Owner

Changelog: Abschlussprüfung ergänzt (§ Abschlussprüfung): eine Abweichung gefunden und nachgezogen – ingest-a-source.md und maintain-the-wiki.md nennen jetzt, dass generierte Dateien nicht zum Mass-Update-Gate zählen (61e18dc, CI 594 grün). Sonst keine veraltete Aussage. Stand auf „abgeschlossen“; geschlossen.

**Changelog:** Abschlussprüfung ergänzt (§ Abschlussprüfung): eine Abweichung gefunden und nachgezogen – `ingest-a-source.md` und `maintain-the-wiki.md` nennen jetzt, dass generierte Dateien nicht zum Mass-Update-Gate zählen (`61e18dc`, CI 594 grün). Sonst keine veraltete Aussage. Stand auf „abgeschlossen“; geschlossen.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#191