- .copilot-no-session entfernt: Session-Pflicht gilt auch fuer dieses Repo - .copilot-no-docs entfernt: Doku-Pflicht gilt, README + Docs sollen aktuell bleiben - copilot-instructions.md (beide): Session END explizit mit Check-6-Hinweis - docs/ADMIN.md: Opt-out Dateien dokumentiert, Troubleshooting aktualisiert - docs/USER.md: /check-consistency ergaenzt, Hook-Fehler Optionen aktualisiert - docs/MAINTAINER.md: Dateistruktur + Designentscheidungen aktuell
3.6 KiB
pre-commit Check 6: Session-Pflicht pro Commit – 2026-06-03
Aufgabe / Ziel
Check 6 verbessern: statt grober Datumsprüfung ("Session für heute vorhanden?")
soll geprüft werden ob eine *_session.md im konkreten Commit gestaged ist.
Außerdem: /history soll bestehende Session-Dateien lesen und nur ergänzen, nicht überschreiben.
Verlauf
Prompt 1
„Das ist kein guter check weil zu grob was ist wenn ich mehrere änderungen kurz hintereinander mache? Was für ideen hast du um das besser zu machen?"
Antwort 1
Drei Ansätze vorgestellt:
- A) Session-Datei muss im aktuellen Commit gestaged sein – präzise, direkter Zusammenhang zwischen Commit und Session. Nachteil: zwingt bei jedem Commit zu /history.
- B) Nur Warnung, kein Block – Agent wird erinnert, Mensch entscheidet.
- C) Session-Datei muss in den letzten 2h geändert worden sein – zeitfensterbasiert, willkürliche Grenze.
Vorschlag: A als Warnung (Kombination).
Prompt 2
(User wurde direkt vom Hook blockiert — Fehlermeldung)
Es existiert kein Agent-Log für heute (2026-06-02_*_session.md).
Antwort 2
Das Problem live demonstriert: heute = 3. Juni, Session-Datei vom 2. Juni → Hook
blockiert. Check 6 auf Warnung umgestellt (kein Block, prüft ob *_session.md
im aktuellen Stage ist).
Änderungen:
git-templates/hooks/pre-commit: Check 6 → Warnung statt Blockhistory/summary/PROJECT_CONTEXT.md: aktualisiert
Commit 6ab2614 – Quality Gate bestanden.
Prompt 3
„ich will das es bei jedem commit gestaged sein muss. es findet immer konversation statt die abgelegt werden soll. eben so muss der agent schauen was schon drin ist und nur das ergänzen was noch fehlt."
Antwort 3
Zwei Änderungen gleichzeitig:
Check 6 wieder als Block – aber jetzt korrekt: prüft ob *_session.md in den
gestagten Dateien des aktuellen Commits ist (nicht Kalendertag).
prompts/history.prompt.md überarbeitet:
- Schritt 1: Bestehende
YYYY-MM-DD_*_session.mdfür heute suchen und lesen - Wenn vorhanden: nur neuen Teil ergänzen (neue Prompts/Antworten seit letztem Eintrag)
- Ergebnis/Entscheidungen/Offene Punkte danach aktualisieren
- Wenn nicht vorhanden: neue Datei anlegen
.copilot-no-session für Setup-Repo angelegt (manuelle Commits ohne Chat-Kontext
sollen nicht blockiert werden).
Commit ca7f52b – Quality Gate bestanden, gepusht.
Prompt 4
„jetzt ist aber mein letzter promt immer noch nicht in der history..."
Antwort 4
Korrekt – heute ist der 3. Juni, bestehende Session-Datei ist vom 2. Juni.
Neue Session-Datei für heute angelegt: 2026-06-03_pre-commit-check6-session-pflicht_session.md
Ergebnis
Geänderte Dateien
| Datei | Änderung |
|---|---|
git-templates/hooks/pre-commit |
Check 6: Staged-Prüfung statt Datumsprüfung |
prompts/history.prompt.md |
Liest bestehende Session, ergänzt nur neuen Teil |
.copilot-no-session |
Neu: Opt-out für Setup-Repo |
history/summary/PROJECT_CONTEXT.md |
Aktualisiert |
Commits dieser Session
6ab2614– feat: pre-commit Check 6 (Warnung, Zwischenschritt)ca7f52b– fix: pre-commit Check 6 – Session-Datei muss in Commit gestaged sein
Entscheidungen
| Entscheidung | Begründung |
|---|---|
| Check 6 prüft gestagten Commit, nicht Kalendertag | Präziser: direkter Zusammenhang Commit ↔ Session |
/history ergänzt statt überschreibt |
Mehrere Commits in einer Session = kein Datenverlust |
.copilot-no-session im Setup-Repo |
Manuelle Fixes sollen nicht blockiert werden |
Offene Punkte
git copilot-updateausführen um neuen Hook + history.prompt.md in andere Repos zu distribuieren