rd13_copilot_setup/history/prompts/2026-06-03_pre-commit-check6-session-pflicht_session.md
Conrad Schulz 5f35c90f0d feat: Agent fuehrt /history automatisch vor jedem Commit aus
- copilot-instructions.md (beide): Session END = automatisch, kein expliziter /history-Aufruf noetig
- Agent schreibt session.md + staged history/ selbst vor git commit
2026-06-03 06:26:51 +00:00

5 KiB
Raw Blame History

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 Block
  • history/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.md fü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
post-commit Git-Block entfernt Dirty Working Tree nach jedem Commit war unerwünscht; kein Mehrwert
Agent führt /history automatisch aus Kein expliziter Aufruf nötig; Agent macht es vor jedem Commit selbst

Offene Punkte

  • git copilot-update ausführen um neuen Hook + history.prompt.md + copilot-instructions.md in andere Repos zu distribuieren

Nachtrag: post-commit Git-Block entfernt + Agent-History automatisiert

Commits: 2d318f3, d9508f7

Was geändert wurde

post-commit Hook → no-op (exit 0):

  • Git-Block wurde nach jedem Commit automatisch an _session.md angehängt
  • Erzeugte Dirty Working Tree nach jedem Commit (35 Zeilen unstaged)
  • Kein echtes Problem lösbar: Session-Inhalt fehlt trotzdem wenn Agent nicht aktiv war
  • Entscheidung: Hook entfernt, stattdessen Agent-Automatisierung

copilot-instructions.md (beide) → Session END automatisch:

  • Vorher: "Führe /history im Copilot Chat aus" (erforderte expliziten Benutzer-Aufruf)
  • Jetzt: "Der Agent führt dies automatisch am Ende jeder Aufgabe aus, bevor er git commit ausführt"
  • Agent wartet nicht mehr auf /history-Aufruf

Bereinigungen:

  • deploy.sh: post-commit nicht mehr installiert
  • copilot-update.fish: post-commit nicht mehr kopiert
  • README.md, docs/MAINTAINER.md, prompts/history.prompt.md: alle Referenzen entfernt
  • Auto-Stub 2026-06-03_master_ca7f52b.md gelöscht
  • Git-Block aus dieser Session-Datei entfernt