docs(history): log clarification of .sh escape-hatch mechanics
Some checks failed
CI / Lint & self-test (push) Has been cancelled
Some checks failed
CI / Lint & self-test (push) Has been cancelled
This commit is contained in:
parent
647c0f8b9e
commit
e50c842938
2 changed files with 19 additions and 1 deletions
|
|
@ -98,3 +98,21 @@ Drei Hebel umgesetzt:
|
|||
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.
|
||||
|
||||
### 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 54–58 (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 5–7 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`).
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
## 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
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue