From 9556e0e848a8e28ba3569b42c28dff500df9a083 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Fri, 24 Jul 2026 09:33:53 +0200 Subject: [PATCH] =?UTF-8?q?docs(verification):=20refresh=20handoff=20for?= =?UTF-8?q?=20next=20session=20=E2=80=94=20progress,=20remaining=20(=C2=A7?= =?UTF-8?q?7-=C2=A711+edges),=20gotchas,=20fixture=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/verification-handoff.md | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/docs/verification-handoff.md b/docs/verification-handoff.md index 414be616..a3672c70 100644 --- a/docs/verification-handoff.md +++ b/docs/verification-handoff.md @@ -1,12 +1,32 @@ -# Verifikations-Handoff (2026-07-23) +# Verifikations-Handoff (Stand 2026-07-24) -Konsolidierte manuelle Verifikationen aus `docs/open.md` + Memory-Ständen — gedacht für eine frische Session, die diese Punkte am laufenden System durchspielt. Mika bedient die UI, die Session protokolliert Pass/Fail. +Manuelle Verifikation am laufenden System. **Mika bedient die UI, die Session protokolliert Pass/Fail** und bereitet Fixtures vor (Tasks via ClaudeDo-MCP, Git-Setups im Testrepo). Aktive Findings landen in `docs/open.md`; hier steht der Fortschritt je Abschnitt. -**Vorbedingungen:** Worker + App laufen (SignalR-Port lt. `~/.todo-app/worker.config.json`, aktuell 37821; External MCP 47822). Testliste `ClaudeDoTests` (`C:\TestRepos\ClaudeDoTests`) für zerstörungsfreie Runs nutzen. +## Handoff für die nächste Session -**Achtung:** 7 Bugfix-/Chore-Tasks vom 2026-07-23 (createdBy `claude-code-gap-analysis`) liegen in der Queue der Liste „Claude do". Die Merge-bezogenen Checks (Abschnitte 2 und 4) erst NACH Review/Merge dieser Tasks final abhaken — sie ändern ggf. genau dieses Verhalten. +**Erledigt (2026-07-24):** §1 Detail-Insel/Diff-Viewer (bis auf DiffModal-Fehler-State), §2 Worktree-Pipeline (alle 3), §3 Planning-Walkthrough (bis auf UnfinishedPlanning-Modal), §4 Merge-Editor (Single-Task **und** Planning-Unit-Konflikt; **Abort** offen), §6 Pick-up-Gating (Code), §9 Attachments-MCP, §12 RunNow (moot). -**Nacharbeit:** Erledigtes aus `docs/open.md` austragen, dieses File danach löschen. +**Noch offen:** +- **§7 AskUser** — Task, dessen Prompt eine Rückfrage erzwingt; inline in Mission Control beantworten; Timeout/Cleanup der PendingQuestionRegistry. +- **§8 Session Skills** — `ponytail`-Install, per-Task/global aktivieren, Worktree-Seeding + `git status` sauber, Gegenprobe kein Leak; UI (Skills-Tab, Checkbox-Listen, Empty-State, Trimming). +- **§9 Drag&Drop** (UI-Teil) — „Drop to attach"-Overlay, Drop-Round-Trip, „Add file…"-Picker, Remove. +- **§10 Daily Prep/Weekly** — Prime-Trigger + `daily-prep.log`, Weekly-Report-Range/Cache. +- **§11 Self-Update/Autostart** — Update-Banner→Update→„up to date"; Logoff/Logon-Autostart, Uninstall entfernt `.lnk`. +- **Kanten:** §1 DiffModal-Fehler-State (Commit-Range ohne Commits → „Diff nicht mehr verfügbar"), §3 UnfinishedPlanning-Modal (Resume/FinalizeNow/Discard), §4 Abort (Tree sauber, Task bleibt WaitingForReview). + +**Vorbedingungen:** Worker + App laufen (SignalR 37821, External MCP 47822 — lt. `~/.todo-app/worker.config.json`). Testliste **`ClaudeDoTests`** (`C:\TestRepos\ClaudeDoTests`, listId `e7992fee6035448394b646d069690e05`) für zerstörungsfreie Runs. + +**Wichtige Gotchas / Lessons (diese Session):** +- **NIE `model:"haiku"` für schreibende Task-/Verifikations-Runs** — unter dem Default `--permission-mode auto` werden haiku-Writes denied (still no-op). Immer **sonnet**. (Memory `auto_permission_haiku_footgun`.) +- **Merge-Preflight blockt bei dirty Ziel-Working-Tree** (getrackte uncommittete Änderung im `main`-Checkout) — und **Approve schluckt das still** (Bug, open.md). Vor Merge-Checks `git -C C:\TestRepos\ClaudeDoTests status --short` prüfen; fremde WIP nur mit Rücksprache verwerfen (Memory `shared_worktree_partial_commits`: nur pfad-scoped committen). +- **Konflikt-Fixture-Rezept:** Task (sonnet) überschreibt eine getrackte Datei im Branch → danach dieselbe Datei auf `main` divergent ändern + `git commit -- ` → Approve konfliktet. Für Planning-Unit-Konflikt: main-Edit erst scharfschalten, wenn der Parent in WaitingForReview steht. +- **Datenwahrheit** notfalls direkt aus der DB: `sqlite3 -readonly ~/.todo-app/todo.db "SELECT substr(id,1,8),status,planning_phase,substr(blocked_by_task_id,1,8),title FROM tasks WHERE …"`. + +**Testrepo-/Fixture-Zustand:** `ClaudeDoTests`-`main` ist durch die §4/§3-Merges divergiert (verif-Commits: merge-playground/hello-merge-Edits, `plan-alpha.txt`, `verif-cleanmerge.txt`); bei Bedarf zurücksetzen. Zurückgebliebene **verif-Tasks** in `ClaudeDoTests` (`createdBy=claude-code-verif`), können gelöscht werden: `verif §1 diff matrix` (ce1e725d, WaitingForReview — hat den Added/Deleted/Renamed/Binary-Diff, gut für den offenen §1-DiffModal-Check nutzbar), `verif §5 conpty` (4b754e60), §3-Parent `ea192b59` + 3 Kinder (Done), `verif §4`/`§1b` (Done). Wegwerf-Liste „verif-nogit" wurde gelöscht, `C:\Temp\cd-nogit-verif` entfernt, stray `Sample.cs` verworfen. + +**Erfasste Folge-Tasks** (Liste „Claude do", Idle, brauchen Brainstorm vor Umsetzung): `f9809a93` Approve erzwingt Diff/Review vor Merge (+ blocked-Merge-Silent-Fail-Fix), `5d627df8` Planning-Session über embedded ConPTY statt wt (+ Planning-Permission-Prompt). + +**Nacharbeit:** Erledigtes aus `docs/open.md` austragen; dieses File löschen, sobald §7–§11 + Kanten durch sind. ---