docs(history): log clarification of .sh escape-hatch mechanics
Some checks failed
CI / Lint & self-test (push) Has been cancelled

This commit is contained in:
Conrad Schulz 2026-06-18 15:33:41 +02:00
parent 647c0f8b9e
commit e50c842938
2 changed files with 19 additions and 1 deletions

View file

@ -98,3 +98,21 @@ Drei Hebel umgesetzt:
3. **Template + Redeploy** — neue Repos erben die Regel; `~/.git-templates` nach Commit/Push neu deployt. 3. **Template + Redeploy** — neue Repos erben die Regel; `~/.git-templates` nach Commit/Push neu deployt.
Geänderte Dateien: `.github/copilot-instructions.md`, `git-templates/.github/copilot-instructions.md`, `/memories/shell-syntax.md` (User-Memory), History + PROJECT_CONTEXT. Geänderte Dateien: `.github/copilot-instructions.md`, `git-templates/.github/copilot-instructions.md`, `/memories/shell-syntax.md` (User-Memory), History + PROJECT_CONTEXT.
### Prompt 5
erkläre nochmal genau was du bei schritt 2 genau gemacht hast und wie er funktioniert.
### Antwort 5
Klargestellt, dass „Schritt 2" Hebel 2 meint (deterministischer Ausweg), nicht den Todo-Schritt. Erklärung der Mechanik: Der fish-Fehler `Unsupported use of '='` ist ein **Parse-Fehler** — entscheidend ist, welcher Parser den Text liest. Bei `bash datei.sh` zerlegt fish nur die triviale Zeile `bash datei.sh` (Kommando + Argument, kein `=`/`$()`/Keyword) und startet das bash-Binary; bash liest dann den Dateiinhalt mit bash-Grammatik. Fish sieht den Inhalt nie → der Fehler ist strukturell unmöglich. Shebang `#!/usr/bin/env bash` erklärt (Interpreter-Wahl bei direkter Ausführung, `env` findet bash portabel über PATH). Ehrliche Korrektur: Bei den Commits hatte ich **nicht** den `.sh`-Ausweg benutzt, sondern Teil 1 (triviale Einzelkommandos `git add`/`commit`/`push`); meine frühere Aussage „Hebel 2 angewandt" war unpräzise.
### Prompt 6
aber wo genau ist die anweisung oder der trigger .sh zu nutzen?
### Antwort 6
Exakter Ort genannt: `.github/copilot-instructions.md` Zeilen 5458 (Sektion „Terminal-Syntax (MANDATORY)"), identisch im Template. Wichtige ehrliche Einordnung: Der Trigger ist **kein mechanischer Trigger**, sondern eine Klassifikations-Bedingung in Prosa, die ich selbst im Moment des Kommando-Bauens anwenden muss (trivial vs. `=`/Schleife/Bedingung/mehrere Statements). Das ist LLM-Urteil — dieselbe Schwäche wie das ignorierte Default-Shell-Feld. Nur der **Mechanismus** (`bash datei.sh`, nachdem ich mich entschieden habe) ist deterministisch; der **Trigger** (entscheiden, `.sh` zu nutzen) ist es nicht. Echter Determinismus bräuchte eine ausführbare Schicht (z. B. fish-`function`-Wrapper, der Kommandos mit `=`/`for`/`if` abfängt) — aktuell nicht gebaut.
### Prompt 7
ok pass commit pushen
### Antwort 7
Working tree war sauber (in sync mit origin); die Prompts 57 waren reine Erklärungen ohne Code-Änderung. Laut Session-Protokoll trotzdem alle Prompts seit `647c0f8` ins History-Log ergänzt (diese Blöcke), `PROJECT_CONTEXT.md` Zeitstempel aktualisiert, dann committed und gepusht. Regel eingehalten: nur triviale fish-native Einzelkommandos (`git add`/`commit`/`push`).

View file

@ -8,7 +8,7 @@
## Aktueller Projektstatus ## Aktueller Projektstatus
**Letzte Aktualisierung:** 2026-06-18 Default-Shell-Feld eingeführt + lokal deployt; danach Terminal-Syntax-Regel als MANDATORY-Sektion gehärtet (Agent tippte trotz Feld POSIX in fish) + Memory-Notiz `shell-syntax.md` **Letzte Aktualisierung:** 2026-06-18 Default-Shell-Feld eingeführt + lokal deployt; danach Terminal-Syntax-Regel als MANDATORY-Sektion gehärtet (Agent tippte trotz Feld POSIX in fish) + Memory-Notiz `shell-syntax.md`. Klargestellt: der `.sh`-Ausweg ist beratend (LLM-Urteil), nur der Mechanismus `bash datei.sh` ist deterministisch
**Phase:** Produktion / stabil wird bei Bedarf erweitert **Phase:** Produktion / stabil wird bei Bedarf erweitert
--- ---