docs: session history 2026-06-02 review-fixes + requirements engineering
This commit is contained in:
parent
a959d76850
commit
8ec4038dc5
3 changed files with 214 additions and 2 deletions
|
|
@ -272,3 +272,37 @@ fix: alle --no-verify Referenzen entfernt + pre-commit Nummerierung
|
||||||
|
|
||||||
---
|
---
|
||||||
*Git-Block automatisch generiert durch post-commit hook.*
|
*Git-Block automatisch generiert durch post-commit hook.*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Git Commit
|
||||||
|
|
||||||
|
| Feld | Wert |
|
||||||
|
|---|---|
|
||||||
|
| Datum | 2026-06-02 17:51:41 |
|
||||||
|
| Branch | `master` |
|
||||||
|
| Commit | `a959d768505ba3ac807fcf2031f8a615a0351e0b` |
|
||||||
|
| Autor | Conrad Schulz <conradschulz@me.com> |
|
||||||
|
|
||||||
|
### Commit Message
|
||||||
|
|
||||||
|
```
|
||||||
|
feat: requirements engineering + konsistenz-check
|
||||||
|
```
|
||||||
|
|
||||||
|
### Geänderte Dateien
|
||||||
|
|
||||||
|
| Status | Datei |
|
||||||
|
|---|---|
|
||||||
|
| M | .github/copilot-instructions.md |
|
||||||
|
| M | git-templates/.github/copilot-instructions.md |
|
||||||
|
| A | git-templates/docs/requirements/REQUIREMENTS.md |
|
||||||
|
| M | git-templates/history/summary/PROJECT_CONTEXT.md |
|
||||||
|
| M | git-templates/hooks/pre-commit |
|
||||||
|
| M | history/prompts/2026-06-02_copilot-update-auto-deploy_session.md |
|
||||||
|
| M | history/summary/PROJECT_CONTEXT.md |
|
||||||
|
| A | prompts/check-consistency.prompt.md |
|
||||||
|
| M | prompts/requirements.prompt.md |
|
||||||
|
|
||||||
|
---
|
||||||
|
*Git-Block automatisch generiert durch post-commit hook.*
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,176 @@
|
||||||
|
# Review-Fixes + Requirements Engineering – 2026-06-02
|
||||||
|
|
||||||
|
## Aufgabe / Ziel
|
||||||
|
|
||||||
|
1. 7 identifizierte Review-Findings beheben (vom Vorgespräch genehmigt)
|
||||||
|
2. Vollständige Konsistenzprüfung aller Dateien
|
||||||
|
3. Requirements Engineering System aufbauen: persistente REQUIREMENTS.md + `/check-consistency` Prompt + pre-commit Check 5
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verlauf
|
||||||
|
|
||||||
|
### Prompt 1
|
||||||
|
„ja löse alle probleme" (User hatte 7 Probleme aus dem Review genehmigt)
|
||||||
|
|
||||||
|
Die 7 Probleme aus dem Review:
|
||||||
|
1. `pre-commit` Zeile 10: `# Bypass (bewusst): git commit --no-verify` → entfernen
|
||||||
|
2. Orphan-Datei `history/prompts/2026-06-02_master_55fee83.md` → löschen
|
||||||
|
3. Beide `copilot-instructions.md` Zeile 57: `YYYY-MM-DD_beschreibung.md` → `YYYY-MM-DD_beschreibung_session.md`
|
||||||
|
4. `pre-commit` Check 2: `.copilot-no-docs` Opt-out analog zu `.copilot-no-tests`
|
||||||
|
5. `prompts/history.prompt.md`: `{{DATUM}}`/`{{TITEL}}` erklären + Append-Verhalten korrigieren
|
||||||
|
6. `scripts/copilot-bootstrap.sh`: Hinweis auf `git copilot-update` für Hook-Updates
|
||||||
|
7. `prompts/history.prompt.md`: falscher Claim „wird nur neuer Inhalt hinzugefügt" → korrigieren
|
||||||
|
|
||||||
|
### Antwort 1
|
||||||
|
Alle betroffenen Stellen gelesen (copilot-instructions.md beide, pre-commit, history.prompt.md, copilot-bootstrap.sh).
|
||||||
|
|
||||||
|
`multi_replace_string_in_file` mit 6 gleichzeitigen Änderungen:
|
||||||
|
- `git-templates/hooks/pre-commit`: `--no-verify`-Kommentar → neutraler Kommentar; Check 2 Bedingung ergänzt um `[ ! -f ".copilot-no-docs" ]`
|
||||||
|
- Beide `copilot-instructions.md`: `_session.md`-Suffix in Agent-History-Sektion
|
||||||
|
- `prompts/history.prompt.md`: `{{DATUM}}`/`{{TITEL}}` durch feste Beschreibung ersetzt + Append-Verhalten korrekt formuliert
|
||||||
|
- `scripts/copilot-bootstrap.sh`: Hinweis auf `git copilot-update` mit Erklärung ergänzt
|
||||||
|
|
||||||
|
Terminal: Orphan-Stub gelöscht, `.copilot-no-docs` angelegt, lokaler Hook aktualisiert.
|
||||||
|
|
||||||
|
### Prompt 2
|
||||||
|
Quality Gate blockiert beim Commit: `PROJECT_CONTEXT.md nicht aktualisiert`
|
||||||
|
|
||||||
|
### Antwort 2
|
||||||
|
`history/summary/PROJECT_CONTEXT.md` aktualisiert:
|
||||||
|
- „Letzte Aktualisierung" auf Review-Findings gesetzt
|
||||||
|
- Neuer Eintrag in Erledigte Aufgaben
|
||||||
|
- Architekturentscheidung `--no-verify Escape` → `Kein --no-verify nirgendwo` ersetzt
|
||||||
|
|
||||||
|
Commit `fb1a01b` – Quality Gate bestanden, gepusht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Prompt 3
|
||||||
|
„Prüfe noch mal alles auf Widersprüche und Fehler ob jetzt auch wirklich alles kongruent ist."
|
||||||
|
|
||||||
|
### Antwort 3
|
||||||
|
Vollständige Konsistenzprüfung aller Dateien durchgeführt.
|
||||||
|
|
||||||
|
**5 Widersprüche gefunden:**
|
||||||
|
|
||||||
|
| # | Datei | Problem |
|
||||||
|
|---|---|---|
|
||||||
|
| A | `git-templates/hooks/pre-commit` | Check 1 + 2 sagten `[1/3]`/`[2/3]` obwohl 4 Checks existieren |
|
||||||
|
| B | Beide `copilot-instructions.md` DoD | `(oder Bypass bewusst begründet)` noch vorhanden |
|
||||||
|
| C | `docs/USER.md` FAQ | `--no-verify` als Option empfohlen |
|
||||||
|
| D | `docs/ADMIN.md` | „Hook deaktivieren (pro Commit)" Abschnitt + Troubleshooting mit `--no-verify` |
|
||||||
|
| E | `docs/MAINTAINER.md` | `--no-verify` als „Escape-Valve" beschrieben, ADR-Eintrag veraltet |
|
||||||
|
|
||||||
|
Alle 5 behoben per `multi_replace_string_in_file`.
|
||||||
|
|
||||||
|
Commit `d31db90` – Quality Gate bestanden, gepusht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Prompt 4
|
||||||
|
„Füge noch einen Check hinzu dass die KI beim Committen nochmal überprüfen soll dass alles kongruent ist. Und einen Part mit Requirement Engineering – die Agenten sollen einen expliziten Ort schaffen in dem sie alle verstandenen Anforderungen abspeichern und verwalten."
|
||||||
|
|
||||||
|
### Antwort 4
|
||||||
|
Plan (7 Punkte):
|
||||||
|
1. pre-commit Check 5: REQUIREMENTS.md unstaged-Prüfung
|
||||||
|
2. Template `git-templates/docs/requirements/REQUIREMENTS.md`
|
||||||
|
3. Beide `copilot-instructions.md`: Requirements-Sektion + DoD + Before-starting
|
||||||
|
4. `prompts/requirements.prompt.md`: liest + schreibt persistente Datei
|
||||||
|
5. `prompts/check-consistency.prompt.md`: neuer `/check-consistency` Prompt
|
||||||
|
6. `git-templates/history/summary/PROJECT_CONTEXT.md` Template: Requirements-Pfad
|
||||||
|
7. Lokalen Hook aktualisieren + Commit
|
||||||
|
|
||||||
|
**Umsetzung:**
|
||||||
|
|
||||||
|
`git-templates/hooks/pre-commit`:
|
||||||
|
- Header: 5 Checks dokumentiert
|
||||||
|
- Check 5 eingefügt: prüft ob `docs/requirements/REQUIREMENTS.md` unstaged Änderungen hat
|
||||||
|
- Opt-out: `.copilot-no-requirements`
|
||||||
|
- Summary-Zähler: `von 4` → `von 5`
|
||||||
|
|
||||||
|
`git-templates/docs/requirements/REQUIREMENTS.md` (neu):
|
||||||
|
- Template mit: Nutzer-Rollen, User Stories (US-NNN Format), ACs (Given/When/Then), NFRs-Tabelle, Out-of-Scope, Offene Fragen, Änderungshistorie
|
||||||
|
|
||||||
|
`prompts/check-consistency.prompt.md` (neu):
|
||||||
|
- 3 Check-Abschnitte: Code vs. Requirements, Code vs. Docs, Code vs. Code
|
||||||
|
- Strukturiertes Ergebnis-Format (✓ Konsistent / ✗ Widersprüche / ⚠ Offene Punkte)
|
||||||
|
|
||||||
|
`prompts/requirements.prompt.md`:
|
||||||
|
- Liest `docs/requirements/REQUIREMENTS.md` zuerst
|
||||||
|
- Schreibt vollständiges Ergebnis zurück nach dem Workshop
|
||||||
|
- `git add docs/requirements/REQUIREMENTS.md` am Ende
|
||||||
|
|
||||||
|
Beide `copilot-instructions.md`:
|
||||||
|
- Neue Sektion `Requirements (/docs/requirements/)` in Project Structure Conventions
|
||||||
|
- Before-starting: Punkt 1 = REQUIREMENTS.md lesen
|
||||||
|
- DoD: Requirements-Konsistenz prüfen + Datei aktualisieren
|
||||||
|
|
||||||
|
`git-templates/history/summary/PROJECT_CONTEXT.md`: `Requirements:`-Pfad ergänzt
|
||||||
|
|
||||||
|
Commit `a959d76` – Quality Gate bestanden, gepusht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Prompt 5
|
||||||
|
„ok wo finde ich jetzt die letzten Prompts und unsere Konversation von gerade?"
|
||||||
|
|
||||||
|
### Antwort 5
|
||||||
|
Erklärung der zwei Orte:
|
||||||
|
- **Konversations-History**: `history/prompts/2026-06-02_copilot-update-auto-deploy_session.md` (post-commit hängt Git-Blöcke an, vollständiger Inhalt kommt via `/history`)
|
||||||
|
- **Prompts (Slash-Befehle)**: `~/.vscode-server/data/User/prompts/` – `check-consistency.prompt.md` noch nicht deployed, benötigt `git copilot-update`
|
||||||
|
|
||||||
|
### Prompt 6
|
||||||
|
User führt `git copilot-update` aus → deployed.
|
||||||
|
|
||||||
|
### Prompt 7
|
||||||
|
„wie führe ich history aus?"
|
||||||
|
|
||||||
|
### Antwort 7
|
||||||
|
Erklärt: `/history` in VS Code Copilot Chat eintippen.
|
||||||
|
|
||||||
|
### Prompt 8
|
||||||
|
`/history` → Diese Session-Datei wird erstellt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ergebnis
|
||||||
|
|
||||||
|
### Geänderte Dateien
|
||||||
|
| Datei | Änderung |
|
||||||
|
|---|---|
|
||||||
|
| `git-templates/hooks/pre-commit` | Check-Nummerierung korrigiert; Check 5 (REQUIREMENTS.md) hinzugefügt; `.copilot-no-docs` Opt-out |
|
||||||
|
| `git-templates/docs/requirements/REQUIREMENTS.md` | Neu: persistentes Requirements-Template |
|
||||||
|
| `git-templates/.github/copilot-instructions.md` | Requirements-Sektion, DoD, Before-starting erweitert |
|
||||||
|
| `.github/copilot-instructions.md` | Selbe Änderungen wie git-templates Version |
|
||||||
|
| `git-templates/history/summary/PROJECT_CONTEXT.md` | Requirements-Pfad ergänzt |
|
||||||
|
| `prompts/check-consistency.prompt.md` | Neu: `/check-consistency` Prompt |
|
||||||
|
| `prompts/requirements.prompt.md` | Liest + schreibt persistente REQUIREMENTS.md |
|
||||||
|
| `prompts/history.prompt.md` | Append-Verhalten korrekt; keine Template-Variablen mehr |
|
||||||
|
| `scripts/copilot-bootstrap.sh` | Hinweis auf `git copilot-update` für Hook-Updates |
|
||||||
|
| `docs/USER.md` / `docs/ADMIN.md` / `docs/MAINTAINER.md` | Alle `--no-verify` Referenzen entfernt |
|
||||||
|
| `.copilot-no-docs` | Neu angelegt (Setup-Repo = kein Doku-Pflicht-Repo) |
|
||||||
|
| `history/summary/PROJECT_CONTEXT.md` | Aktualisiert |
|
||||||
|
|
||||||
|
### Commits dieser Session
|
||||||
|
- `fb1a01b` – fix: review-findings behoben (7 Punkte)
|
||||||
|
- `d31db90` – fix: konsistenzprüfung (5 Widersprüche)
|
||||||
|
- `a959d76` – feat: requirements engineering + konsistenz-check
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Entscheidungen
|
||||||
|
|
||||||
|
| Entscheidung | Begründung |
|
||||||
|
|---|---|
|
||||||
|
| Check 5 blockiert nur bei **unstaged** REQUIREMENTS.md | Kein Lärm bei normalen Commits – feuert nur wenn Agent die Datei vergessen hat zu stagen |
|
||||||
|
| `/check-consistency` als separater Prompt statt in pre-commit | pre-commit = automatisch/schnell; Konsistenz-Check = bewusst aufgerufen, braucht LLM-Kontext |
|
||||||
|
| `.copilot-no-requirements` Opt-out | Konsistent mit `.copilot-no-tests` und `.copilot-no-docs` Pattern |
|
||||||
|
| `docs/requirements/REQUIREMENTS.md` (nicht root-level) | Gehört semantisch zur Dokumentation |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Offene Punkte
|
||||||
|
|
||||||
|
- [ ] `docs/requirements/REQUIREMENTS.md` für dieses Setup-Repo selbst anlegen (aktuell nur Template im git-templates)
|
||||||
|
- [ ] `.github/copilot-instructions.md` TODO-Felder ausfüllen (Stack, Architecture, NFRs)
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
## Aktueller Projektstatus
|
## Aktueller Projektstatus
|
||||||
|
|
||||||
**Letzte Aktualisierung:** 2026-06-02 – Requirements Engineering + Konsistenz-Check hinzugefügt
|
**Letzte Aktualisierung:** 2026-06-02 – Session abgeschlossen: Review-Fixes + Konsistenzcheck + Requirements Engineering
|
||||||
**Phase:** Produktion / stabil – wird bei Bedarf erweitert
|
**Phase:** Produktion / stabil – wird bei Bedarf erweitert
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -42,8 +42,9 @@ Quality Gate aus.
|
||||||
|
|
||||||
## Offene Aufgaben & bekannte Probleme
|
## Offene Aufgaben & bekannte Probleme
|
||||||
|
|
||||||
|
- [ ] `docs/requirements/REQUIREMENTS.md` für dieses Setup-Repo selbst anlegen (aktuell nur Template in git-templates)
|
||||||
- [ ] `.github/copilot-instructions.md` TODO-Felder ausfüllen (Stack, Architecture, NFRs dieses Repos)
|
- [ ] `.github/copilot-instructions.md` TODO-Felder ausfüllen (Stack, Architecture, NFRs dieses Repos)
|
||||||
- [ ] Bei Änderungen an `git-templates/` immer `deploy.sh` neu ausführen (oder `git copilot-update` in einem anderen Repo zum Testen)
|
- [ ] Bei Änderungen an `git-templates/` immer `deploy.sh` neu ausführen (oder `git copilot-update` testen)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -66,6 +67,7 @@ Quality Gate aus.
|
||||||
|
|
||||||
## Wichtige Pfade & Konventionen
|
## Wichtige Pfade & Konventionen
|
||||||
|
|
||||||
|
- **Requirements:** `docs/requirements/REQUIREMENTS.md` (committed, immer aktuell halten!)
|
||||||
- **Persistente Daten:** `/data/` (gitignored, nie committen!)
|
- **Persistente Daten:** `/data/` (gitignored, nie committen!)
|
||||||
- **Agent-Logs (voll):** `/history/prompts/` (committed – vollständige History bleibt erhalten)
|
- **Agent-Logs (voll):** `/history/prompts/` (committed – vollständige History bleibt erhalten)
|
||||||
- **Dieser Kontext:** `/history/summary/PROJECT_CONTEXT.md` (committed)
|
- **Dieser Kontext:** `/history/summary/PROJECT_CONTEXT.md` (committed)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue