Installation neu schneiden: nur noch Release aus Gitea; Weg B, C, D und upstream merge/verify entfallen #153

Closed
opened 2026-09-27 08:44:48 +00:00 by torben · 7 comments
Owner

Teilpaket von #140. Erledigt am 2026-10-01 mit a6d07f9 (8.0.0-beta.20) und der Doku-Korrektur danach. CI ist grün: Run 486 (verify mit Replay, pwsh mit PSScriptAnalyzer) und Run 487 (release, beim Beta-Kandidaten übersprungen).

Grundlage sind diese Entscheidungen: D2, D3, D5, D7 (2026-09-27), D11, D12, D17, D19, D26, D27 (2026-09-28), D32 (2026-09-30), D38–D41 (in #151, 2026-10-01) und E1–E6 (hier, 2026-10-01). Eingeflossen sind auch die Ergebnisse vom Windows-Zielsystem (#140 T1–T8) und die Handprüfung von #151.

Warum

Der analysierte Lauf über Weg D (#140) scheiterte an einer Anleitung, die in sich fehlerhaft war:

  • Schritt 3 brauchte wikitool vor dem venv.
  • Es fehlte, wie ein leeres Repo befüllt wird.
  • Es war offen, was vom Demo-Korpus stehen bleibt.
  • Rund 180 rm-Aufrufe standen gegen ein Budget von 60.
  • Dev-Skills und Demo-Persona landeten in der privaten Instanz.
  • Für Weg D stand ein falscher Telemetrie-Default da.

Entschieden (Betreiber):

  • Installiert wird nur noch über Releases (Weg A).
  • dist export ist ein Build-Werkzeug.
  • Ein Klon dieses Repos dient der Entwicklung.
  • Die Wege B, C und D entfallen samt upstream merge/verify.
  • Das ist ein Major-Bruch ohne Migration und ohne Übergang, weil keiner der Wege im Einsatz war.

Entscheidungen dieses Pakets (Betreiber, 2026-10-01)

  • E1 Die Installationsanweisung als Asset ist instructions/setup-instance.md selbst. Dazu kommt instructions/preflight.md als zweites Asset. Beide hängt release.yml aus dem exportierten Baum an. Eine eigene install.md gibt es nicht, sie wäre eine zweite Fassung von Schritt 0. Gitea 1.26 hat keinen festen „latest“-Download-Link (geprüft 2026-10-01). Der Installationssatz führt deshalb über …/api/v1/repos/torben/chemenu/releases/latest und browser_download_url.
  • E2 Download in Schritt 0: je Plattform ein Codeblock (Invoke-WebRequest … -OutFile bzw. curl -fLO), als zweite benannte Ausnahme neben D26.
  • E3 Neuer Befehl tools/wikitool dist adopt [<template>…]. Er übernimmt kb/*/COLLECTION.md.template und types/*.template und überschreibt nie ein vorhandenes Ziel. Er ersetzt for … cp in setup-instance.md, cp in upgrade-instance.md und die Schleife im CI-Replay.
  • E4 Shell-Neutralität per pytest. Die Regel steht in instructions/CONTRACT.md, der Test ist tools/chemenu/tests/test_instructions_shell.py. Ausnahmen sind D26 und E2 mit je einer Zeile pro Shell; instructions/migrations/ ist ausgenommen.
  • E5 Session-ID unter Copilot. Weder Copilot CLI noch der VS-Code-Agent-Modus setzt laut Doku eine Session-Variable (microsoft/vscode#311382, #265446; Copilot-CLI-Referenz; geprüft 2026-10-01). HARNESS_ENV_VARS bleibt deshalb unverändert. setup-instance.md Schritt 10 lässt die Zeile vor doctor setzen, session-setup.md begründet das. Die bash-Inline-Form entfällt; bei frischer Shell pro Aufruf wird die Zeile mit ; vorangestellt.
  • E6 Installiert wird direkt ins gegebene leere Verzeichnis, ohne chemenu/ (ändert D40). Erlaubt sind dort nur das Skript selbst und ein .git, ein leerer Klon des eigenen Repos ist also möglich. Entpackt wird in einen temporären Ordner im Ziel, danach wird hochgeschoben. Das Asset löscht sich selbst, wenn es im Ziel liegt. --into gilt mit derselben Regel. setup-instance.md ruft git init -b main nur auf, wenn noch kein Repo da ist; ein leerer Klon behält seinen origin.

Umgesetzt

  1. Entfernt wurden instructions/private-instance.md, commands/upstream_cmd.py samt Tests und Records sowie alle Verweise in Code, Tests, Instruktionen und Doku. ownership.is_stack_owned bleibt. Der Abschnitt „blind spot: upstream merge“ in gates.md ist weg. Das Publish-Remote-Gate bleibt, nur seine Begründung ist neu gefasst. Das 3.0.0-Migrationsdokument datiert seinen Verweis in Worten.
  2. INSTALL.md beschreibt genau einen Weg: Voraussetzungen (Windows mit pwsh 7, RemoteSigned, Git for Windows, höchstens 95 Zeichen, LongPathsEnabled nur als Alternative), den Satz für den Agenten, seine Fragen und jeden Stoppfall des Preflights in beiden Modi. Eine nummerierte Schrittfolge gibt es nicht. Die generierte Voraussetzungs-Region bleibt bei #154.
  3. DEVELOPMENT.md bekommt den Abschnitt Entwicklungsumgebung: Klon, Demo-Korpus und -Persona, Telemetrie an, dist export als Build- und Testwerkzeug, Release-Feed in einem privaten Repo. Neu dazu kommt instructions/dev/dev-setup.md, nicht ausgeliefert und von stack-dev und AGENTS.md (Strip-Block) erreichbar.
  4. setup-instance.md beginnt mit Schritt 0, der über das Release-Asset installiert (preflight.md lesen, laden, mit Bypass starten). Ab Schritt 1 geht es wie bisher weiter; die Schritte sind neu nummeriert.
  5. Release-Assets: release.yml hängt setup-instance.md und preflight.md neben Tarball, .sha256 und den beiden Preflight-Skripten an.
  6. Shell-neutral: angepasst sind setup-instance.md, session-setup.md, upgrade-instance.md, ingest-large-tree.md und mcp-read-server.md (Variablentabellen, zwei git-Zeilen, -m pip), außerdem der Hinweis, den work new ausgibt.
  7. bootstrap.md gilt jetzt für einen weiteren Checkout einer bestehenden Instanz (D11).
  8. upgrade-instance.md ist an Instanzen nur aus Releases angepasst. Der Klon-Weg ist entfernt. Der Offline-Weg verlässt sich auf die .sha256-Prüfung, die dist upgrade selbst macht. Für fehlende Templates gibt es dist adopt.
  9. Doku-Pull-Through: README.md (Getting started), EVALS.md (Telemetrie-Default), tools/README.md, tools/CONTRACT.md (neu generiert), AGENTS.md § Bootstrap, die Liste der docs-Seiten und der Strip-Block für Entwickler. docs/ownership-and-templates.md hat den neuen Abschnitt „Why an instance comes only from a release“.
  10. Nebenbei behoben: Unter bash zeigte der Asset-Modus beim zu langen Ordner C:\\Chemenu mit doppeltem Backslash.

Akzeptanzkriterien

  • In ausgelieferten Dateien steht upstream merge/upstream verify/private-instance nur noch als Rückblick: im 3.0.0-Migrationsdokument, außerdem in der Begründung unter docs/ und in einem Code-Kommentar in ownership.py. Die Abweichung vom Wortlaut ist bewusst, weil die Begründung ohne den Namen nicht trägt. Geprüft per grep über einen dist export; docs verify ist grün.
  • tools/wikitool upstream existiert nicht mehr; tools/wikitool -h | grep -c upstream gibt 0.
  • INSTALL.md enthält genau einen Weg und keine nummerierte Schrittfolge; DEVELOPMENT.md beschreibt Klon und dist export.
  • INSTALL.md nennt jeden Stoppfall des Preflights im Baum- und im Asset-Modus sowie die 95-Zeichen-Grenze.
  • instructions/dev/dev-setup.md existiert und fehlt im dist export-Baum (geprüft).
  • Codeblöcke ausgelieferter Instruktionen enthalten kein Heredoc, export, $(, sha256sum, curl oder tar und kein Inline-Env, && oder cp; Ausnahmen sind nur D26 und E2. Das prüft test_instructions_shell.py.
  • dist adopt übernimmt die Templates vollständig und überschreibt nie ein vorhandenes Ziel. Tests stehen in test_dist_cmd.py.
  • Der Asset-Modus installiert in ein leeres Verzeichnis oder eines mit nur .git. Ein anderes verweigert er mit Exit 1, ohne etwas zu ändern, und er hinterlässt keine Kopie von sich. Tests gibt es für sh und pwsh.
  • Ein Release-Lauf hängt setup-instance.md und preflight.md an. release.yml ist geändert und vom Workflow-Test abgedeckt. Am echten Release beobachtet ist das noch nicht: Das nächste Release ohne Suffix gehört zum Nachlauf in #140.
  • Das CI-Replay läuft gegen einen lokal gebauten Tarball über das Preflight-Skript mit --archive grün (Run 486), lokal auch in einen leeren Klon.
  • Installationssatz und setup-instance.md führen zu preflight.md, bevor der Preflight startet. Jeder pwsh-Aufruf des Preflights in ausgelieferten Dateien trägt den Bypass; das prüft test_instructions_shell.py.
  • Die session-id-Warnung unter Copilot ist bewusst beschrieben (E5). Ob sie nach der Einrichtung tatsächlich verschwindet, zeigt die Handprüfung im Nachlauf von #140.
  • Der Major-Bump trägt --breaking (entfernte Wege, upstream merge/verify, neues Ziel des Assets) und --no-migration; docs verify ist grün.

Geprüft

  • pytest: 2000 Tests bestanden, 3 übersprungen, Coverage 90,6 % (Untergrenze 85 %).
  • docs verify, instructions verify und lint sind grün.
  • Lokaler Replay in einen leeren Klon: doctor ohne FAIL, 15 Templates per dist adopt.
  • CI Run 486 (verify, pwsh mit PSScriptAnalyzer) und Run 487 sind grün.

Offen an anderer Stelle

  • #154 (Doku-Kopplung, generierte Voraussetzungs-Region) baut hierauf auf.
  • Der Asset-Weg am echten Release und Copilots session-id nach der Einrichtung gehören in den Nachlauf von #140.
  • Der Nebenbefund python3 in bug-report.md liegt in #166.
Teilpaket von #140. **Erledigt am 2026-10-01** mit `a6d07f9` (8.0.0-beta.20) und der Doku-Korrektur danach. CI ist grün: Run 486 (`verify` mit Replay, `pwsh` mit PSScriptAnalyzer) und Run 487 (`release`, beim Beta-Kandidaten übersprungen). Grundlage sind diese Entscheidungen: D2, D3, D5, D7 (2026-09-27), D11, D12, D17, D19, D26, D27 (2026-09-28), D32 (2026-09-30), D38–D41 (in #151, 2026-10-01) und E1–E6 (hier, 2026-10-01). Eingeflossen sind auch die Ergebnisse vom Windows-Zielsystem (#140 T1–T8) und die Handprüfung von #151. ## Warum Der analysierte Lauf über Weg D (#140) scheiterte an einer Anleitung, die in sich fehlerhaft war: - Schritt 3 brauchte `wikitool` vor dem venv. - Es fehlte, wie ein leeres Repo befüllt wird. - Es war offen, was vom Demo-Korpus stehen bleibt. - Rund 180 `rm`-Aufrufe standen gegen ein Budget von 60. - Dev-Skills und Demo-Persona landeten in der privaten Instanz. - Für Weg D stand ein falscher Telemetrie-Default da. Entschieden (Betreiber): - Installiert wird nur noch über Releases (Weg A). - `dist export` ist ein Build-Werkzeug. - Ein Klon dieses Repos dient der Entwicklung. - Die Wege B, C und D entfallen samt `upstream merge/verify`. - Das ist ein Major-Bruch ohne Migration und ohne Übergang, weil keiner der Wege im Einsatz war. ## Entscheidungen dieses Pakets (Betreiber, 2026-10-01) - **E1 Die Installationsanweisung als Asset ist `instructions/setup-instance.md` selbst.** Dazu kommt `instructions/preflight.md` als zweites Asset. Beide hängt `release.yml` aus dem exportierten Baum an. Eine eigene `install.md` gibt es nicht, sie wäre eine zweite Fassung von Schritt 0. Gitea 1.26 hat keinen festen „latest“-Download-Link (geprüft 2026-10-01). Der Installationssatz führt deshalb über `…/api/v1/repos/torben/chemenu/releases/latest` und `browser_download_url`. - **E2 Download in Schritt 0:** je Plattform ein Codeblock (`Invoke-WebRequest … -OutFile` bzw. `curl -fLO`), als zweite benannte Ausnahme neben D26. - **E3 Neuer Befehl `tools/wikitool dist adopt [<template>…]`.** Er übernimmt `kb/*/COLLECTION.md.template` und `types/*.template` und überschreibt nie ein vorhandenes Ziel. Er ersetzt `for … cp` in `setup-instance.md`, `cp` in `upgrade-instance.md` und die Schleife im CI-Replay. - **E4 Shell-Neutralität per pytest.** Die Regel steht in `instructions/CONTRACT.md`, der Test ist `tools/chemenu/tests/test_instructions_shell.py`. Ausnahmen sind D26 und E2 mit je einer Zeile pro Shell; `instructions/migrations/` ist ausgenommen. - **E5 Session-ID unter Copilot.** Weder Copilot CLI noch der VS-Code-Agent-Modus setzt laut Doku eine Session-Variable (microsoft/vscode#311382, #265446; Copilot-CLI-Referenz; geprüft 2026-10-01). `HARNESS_ENV_VARS` bleibt deshalb unverändert. `setup-instance.md` Schritt 10 lässt die Zeile vor `doctor` setzen, `session-setup.md` begründet das. Die bash-Inline-Form entfällt; bei frischer Shell pro Aufruf wird die Zeile mit `;` vorangestellt. - **E6 Installiert wird direkt ins gegebene leere Verzeichnis, ohne `chemenu/`** (ändert D40). Erlaubt sind dort nur das Skript selbst und ein `.git`, ein leerer Klon des eigenen Repos ist also möglich. Entpackt wird in einen temporären Ordner im Ziel, danach wird hochgeschoben. Das Asset löscht sich selbst, wenn es im Ziel liegt. `--into` gilt mit derselben Regel. `setup-instance.md` ruft `git init -b main` nur auf, wenn noch kein Repo da ist; ein leerer Klon behält seinen `origin`. ## Umgesetzt 1. **Entfernt** wurden `instructions/private-instance.md`, `commands/upstream_cmd.py` samt Tests und Records sowie alle Verweise in Code, Tests, Instruktionen und Doku. `ownership.is_stack_owned` bleibt. Der Abschnitt „blind spot: `upstream merge`“ in `gates.md` ist weg. Das Publish-Remote-Gate bleibt, nur seine Begründung ist neu gefasst. Das 3.0.0-Migrationsdokument datiert seinen Verweis in Worten. 2. **`INSTALL.md`** beschreibt genau einen Weg: Voraussetzungen (Windows mit pwsh 7, `RemoteSigned`, Git for Windows, höchstens 95 Zeichen, `LongPathsEnabled` nur als Alternative), den Satz für den Agenten, seine Fragen und jeden Stoppfall des Preflights in beiden Modi. Eine nummerierte Schrittfolge gibt es nicht. Die generierte Voraussetzungs-Region bleibt bei #154. 3. **`DEVELOPMENT.md`** bekommt den Abschnitt Entwicklungsumgebung: Klon, Demo-Korpus und -Persona, Telemetrie an, `dist export` als Build- und Testwerkzeug, Release-Feed in einem privaten Repo. Neu dazu kommt `instructions/dev/dev-setup.md`, nicht ausgeliefert und von `stack-dev` und `AGENTS.md` (Strip-Block) erreichbar. 4. **`setup-instance.md`** beginnt mit Schritt 0, der über das Release-Asset installiert (`preflight.md` lesen, laden, mit Bypass starten). Ab Schritt 1 geht es wie bisher weiter; die Schritte sind neu nummeriert. 5. **Release-Assets:** `release.yml` hängt `setup-instance.md` und `preflight.md` neben Tarball, `.sha256` und den beiden Preflight-Skripten an. 6. **Shell-neutral:** angepasst sind `setup-instance.md`, `session-setup.md`, `upgrade-instance.md`, `ingest-large-tree.md` und `mcp-read-server.md` (Variablentabellen, zwei `git`-Zeilen, `-m pip`), außerdem der Hinweis, den `work new` ausgibt. 7. **`bootstrap.md`** gilt jetzt für einen weiteren Checkout einer bestehenden Instanz (D11). 8. **`upgrade-instance.md`** ist an Instanzen nur aus Releases angepasst. Der Klon-Weg ist entfernt. Der Offline-Weg verlässt sich auf die `.sha256`-Prüfung, die `dist upgrade` selbst macht. Für fehlende Templates gibt es `dist adopt`. 9. **Doku-Pull-Through:** `README.md` (Getting started), `EVALS.md` (Telemetrie-Default), `tools/README.md`, `tools/CONTRACT.md` (neu generiert), `AGENTS.md` § Bootstrap, die Liste der docs-Seiten und der Strip-Block für Entwickler. `docs/ownership-and-templates.md` hat den neuen Abschnitt „Why an instance comes only from a release“. 10. **Nebenbei behoben:** Unter bash zeigte der Asset-Modus beim zu langen Ordner `C:\\Chemenu` mit doppeltem Backslash. ## Akzeptanzkriterien - [x] In ausgelieferten Dateien steht `upstream merge`/`upstream verify`/`private-instance` nur noch als Rückblick: im 3.0.0-Migrationsdokument, **außerdem in der Begründung unter `docs/` und in einem Code-Kommentar in `ownership.py`**. Die Abweichung vom Wortlaut ist bewusst, weil die Begründung ohne den Namen nicht trägt. Geprüft per `grep` über einen `dist export`; `docs verify` ist grün. - [x] `tools/wikitool upstream` existiert nicht mehr; `tools/wikitool -h | grep -c upstream` gibt 0. - [x] `INSTALL.md` enthält genau einen Weg und keine nummerierte Schrittfolge; `DEVELOPMENT.md` beschreibt Klon und `dist export`. - [x] `INSTALL.md` nennt jeden Stoppfall des Preflights im Baum- und im Asset-Modus sowie die 95-Zeichen-Grenze. - [x] `instructions/dev/dev-setup.md` existiert und fehlt im `dist export`-Baum (geprüft). - [x] Codeblöcke ausgelieferter Instruktionen enthalten kein Heredoc, `export`, `$(`, `sha256sum`, `curl` oder `tar` und kein Inline-Env, `&&` oder `cp`; Ausnahmen sind nur D26 und E2. Das prüft `test_instructions_shell.py`. - [x] `dist adopt` übernimmt die Templates vollständig und überschreibt nie ein vorhandenes Ziel. Tests stehen in `test_dist_cmd.py`. - [x] Der Asset-Modus installiert in ein leeres Verzeichnis oder eines mit nur `.git`. Ein anderes verweigert er mit Exit 1, ohne etwas zu ändern, und er hinterlässt keine Kopie von sich. Tests gibt es für sh und pwsh. - [x] Ein Release-Lauf hängt `setup-instance.md` und `preflight.md` an. `release.yml` ist geändert und vom Workflow-Test abgedeckt. Am echten Release beobachtet ist das noch nicht: Das nächste Release ohne Suffix gehört zum Nachlauf in #140. - [x] Das CI-Replay läuft gegen einen lokal gebauten Tarball über das Preflight-Skript mit `--archive` grün (Run 486), lokal auch in einen leeren Klon. - [x] Installationssatz und `setup-instance.md` führen zu `preflight.md`, bevor der Preflight startet. Jeder pwsh-Aufruf des Preflights in ausgelieferten Dateien trägt den Bypass; das prüft `test_instructions_shell.py`. - [x] Die `session-id`-Warnung unter Copilot ist bewusst beschrieben (E5). Ob sie nach der Einrichtung tatsächlich verschwindet, zeigt die Handprüfung im Nachlauf von #140. - [x] Der Major-Bump trägt `--breaking` (entfernte Wege, `upstream merge/verify`, neues Ziel des Assets) und `--no-migration`; `docs verify` ist grün. ## Geprüft - pytest: 2000 Tests bestanden, 3 übersprungen, Coverage 90,6 % (Untergrenze 85 %). - `docs verify`, `instructions verify` und `lint` sind grün. - Lokaler Replay in einen leeren Klon: `doctor` ohne FAIL, 15 Templates per `dist adopt`. - CI Run 486 (verify, pwsh mit PSScriptAnalyzer) und Run 487 sind grün. ## Offen an anderer Stelle - #154 (Doku-Kopplung, generierte Voraussetzungs-Region) baut hierauf auf. - Der Asset-Weg am echten Release und Copilots `session-id` nach der Einrichtung gehören in den Nachlauf von #140. - Der Nebenbefund `python3` in `bug-report.md` liegt in #166.
torben added the prio/plannedsize/Larea/distributionkind/decision labels 2026-09-27 08:44:48 +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): D11, D12, D17, D19, D26 und D27. Darum kind/decision → kind/build.
  • Update: läuft über dist upgrade --latest (#161).
  • INSTALL.md beschreibt jeden Stoppfall des Preflights.
  • Version: kein separates 7.1.0; alles erscheint in 8.0.0.
**Changelog:** - **Entschieden (Betreiber, 2026-09-28):** D11, D12, D17, D19, D26 und D27. Darum `kind/decision` → `kind/build`. - **Update:** läuft über `dist upgrade --latest` (#161). - **`INSTALL.md`** beschreibt jeden Stoppfall des Preflights. - **Version:** kein separates 7.1.0; alles erscheint in 8.0.0.
Author
Owner

Changelog: Ergebnisse vom Windows-Zielsystem (#140, 2026-09-30) in Punkt 2 und 5 eingearbeitet.

  • Windows-Voraussetzungen in INSTALL.md bestätigt: pwsh 7.6.6, RemoteSigned, Git Bash für Claude Code.
  • Neu: kurzer Installationsordner (T8, Grenze nach D32).
  • Stoppfälle werden aus #151 übernommen.
  • Release-Assets: Der Agent lädt sie ohne Browser, damit keine Markierung entsteht (T7).
  • Neues Kriterium zu Stoppfällen und Ordner.
  • #161 ist erledigt; die Abhängigkeit darauf ist aufgelöst.
  • Version: Der Kandidat ist schon 8.0.0-beta.x.
**Changelog:** Ergebnisse vom Windows-Zielsystem (#140, 2026-09-30) in Punkt 2 und 5 eingearbeitet. - **Windows-Voraussetzungen** in `INSTALL.md` bestätigt: pwsh 7.6.6, `RemoteSigned`, Git Bash für Claude Code. - **Neu: kurzer Installationsordner** (T8, Grenze nach D32). - **Stoppfälle** werden aus #151 übernommen. - **Release-Assets:** Der Agent lädt sie ohne Browser, damit keine Markierung entsteht (T7). - **Neues Kriterium** zu Stoppfällen und Ordner. - **#161** ist erledigt; die Abhängigkeit darauf ist aufgelöst. - **Version:** Der Kandidat ist schon 8.0.0-beta.x.
Author
Owner

Changelog: D32 entschieden (2026-09-30). INSTALL.md nennt jetzt eine konkrete Grenze: Der Installationsordner hat höchstens 95 Zeichen. Das Kriterium ist entsprechend geschärft.

**Changelog:** D32 entschieden (2026-09-30). `INSTALL.md` nennt jetzt eine konkrete Grenze: Der Installationsordner hat höchstens 95 Zeichen. Das Kriterium ist entsprechend geschärft.
Author
Owner

Zu Punkt 5: Das Anhängen von preflight.sh und preflight.ps1 an das Release übernimmt #151 Abschnitt C (D38, entschieden 2026-10-01). Das Skript bekommt dabei die URLs von Tarball und .sha256 desselben Releases eingetragen (D39). Hier bleibt die Installationsanweisung als Asset. Der Installationssatz aus D5 muss den Agenten das Preflight-Asset des neuesten Releases laden lassen, etwa über browser_download_url aus …/api/v1/repos/torben/chemenu/releases/latest. Das Skript selbst fragt den Feed nicht ab.

Zu Punkt 5: Das Anhängen von `preflight.sh` und `preflight.ps1` an das Release übernimmt #151 Abschnitt C (D38, entschieden 2026-10-01). Das Skript bekommt dabei die URLs von Tarball und `.sha256` desselben Releases eingetragen (D39). Hier bleibt die Installationsanweisung als Asset. Der Installationssatz aus D5 muss den Agenten das Preflight-Asset des neuesten Releases laden lassen, etwa über `browser_download_url` aus `…/api/v1/repos/torben/chemenu/releases/latest`. Das Skript selbst fragt den Feed nicht ab.
Author
Owner

Changelog: Stand nach #151 Abschnitt C und dessen Handprüfung (2026-10-01).

  • Punkt 4: Schritt 0 ist jetzt das Preflight-Asset. Es lädt das Release, prüft die sha256, entpackt nach chemenu/ und startet den Baum-Preflight. Das CI-Replay nutzt --archive.
  • Punkt 5: Das Anhängen der Preflight-Skripte ist durch #151 erledigt (D38/D39). Hier bleiben die Installationsanweisung als Asset und der Installationssatz, der das neueste Preflight-Asset lädt.
  • Punkt 2: Die Stoppfälle sind um den Asset-Modus und venv/pip ergänzt.
  • Neu, Punkt 10, mit zwei Kriterien: Befunde aus der Handprüfung:
    • Copilot hat den Preflight ohne Bypass-Präfix gestartet und den Anleitungsblock übersetzt statt darunter.
    • doctor warnt session-id unter Copilot.
  • Abhängigkeiten: #151 ist im Code fertig, das Paket also startbar. #164 betrifft den Nachlauf, nicht dieses Paket.
**Changelog:** Stand nach #151 Abschnitt C und dessen Handprüfung (2026-10-01). - **Punkt 4:** Schritt 0 ist jetzt das Preflight-Asset. Es lädt das Release, prüft die sha256, entpackt nach `chemenu/` und startet den Baum-Preflight. Das CI-Replay nutzt `--archive`. - **Punkt 5:** Das Anhängen der Preflight-Skripte ist durch #151 erledigt (D38/D39). Hier bleiben die Installationsanweisung als Asset und der Installationssatz, der das neueste Preflight-Asset lädt. - **Punkt 2:** Die Stoppfälle sind um den Asset-Modus und venv/pip ergänzt. - **Neu, Punkt 10, mit zwei Kriterien:** Befunde aus der Handprüfung: - Copilot hat den Preflight ohne Bypass-Präfix gestartet und den Anleitungsblock übersetzt statt darunter. - `doctor` warnt `session-id` unter Copilot. - **Abhängigkeiten:** #151 ist im Code fertig, das Paket also startbar. #164 betrifft den Nachlauf, nicht dieses Paket.
Author
Owner

Changelog: Design abgeschlossen (2026-10-01).

  • Neu: Abschnitt „Entscheidungen dieses Pakets“ mit E1–E6. E6 (direkt ins leere Verzeichnis, kein chemenu/) ändert D40.
  • Umfang: Liste der betroffenen Dateien auf d0f08d1 aktualisiert; Punkt 6 nennt die konkreten Instruktionen.
  • Kriterien: neue für dist adopt (E3) und das Ziel des Asset-Modus (E6). Das Shell-Kriterium ist auf Codeblöcke ohne Migrationsdokumente eingegrenzt (E4).
  • Neu: Nebenbefund python3 in bug-report.md, der in ein eigenes Issue gehört.
**Changelog:** Design abgeschlossen (2026-10-01). - **Neu:** Abschnitt „Entscheidungen dieses Pakets“ mit E1–E6. E6 (direkt ins leere Verzeichnis, kein `chemenu/`) ändert D40. - **Umfang:** Liste der betroffenen Dateien auf `d0f08d1` aktualisiert; Punkt 6 nennt die konkreten Instruktionen. - **Kriterien:** neue für `dist adopt` (E3) und das Ziel des Asset-Modus (E6). Das Shell-Kriterium ist auf Codeblöcke ohne Migrationsdokumente eingegrenzt (E4). - **Neu:** Nebenbefund `python3` in `bug-report.md`, der in ein eigenes Issue gehört.
Author
Owner

Changelog: Geschlossen (2026-10-01, a6d07f9, 8.0.0-beta.20; CI Run 486 und 487 grün).

  • Body: auf den Endstand gebracht; der Umfang steht jetzt als „Umgesetzt“.
  • Kriterien: alle abgehakt. Beim ersten gibt es eine bewusste Abweichung, weil docs/ und ein Code-Kommentar den Namen upstream merge als Rückblick behalten.
  • Nachlauf von #140: zwei Prüfungen sind dorthin verschoben, der Asset-Weg am echten Release und die Copilot-session-id.
  • Nebenbefund: liegt als #166 vor.
**Changelog:** Geschlossen (2026-10-01, `a6d07f9`, 8.0.0-beta.20; CI Run 486 und 487 grün). - **Body:** auf den Endstand gebracht; der Umfang steht jetzt als „Umgesetzt“. - **Kriterien:** alle abgehakt. Beim ersten gibt es eine bewusste Abweichung, weil `docs/` und ein Code-Kommentar den Namen `upstream merge` als Rückblick behalten. - **Nachlauf von #140:** zwei Prüfungen sind dorthin verschoben, der Asset-Weg am echten Release und die Copilot-`session-id`. - **Nebenbefund:** liegt als #166 vor.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#153