From 94a5af6b6f7800e15c9c610b22a888ff04f545c7 Mon Sep 17 00:00:00 2001 From: Karim Date: Tue, 30 Jun 2026 21:45:10 +0200 Subject: [PATCH] HANDOVER: Koordinations- und Arbeitsregeln ergaenzt --- HANDOVER.md | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/HANDOVER.md b/HANDOVER.md index 2372cfd..214316b 100644 --- a/HANDOVER.md +++ b/HANDOVER.md @@ -15,6 +15,32 @@ Code/Doku noch in der Git-Historie. Wer hier weiterarbeitet, schreibt so, als wäre es Handarbeit des Teams. - Vor jedem Push kurz prüfen: `git log` und `git diff` frei von solchen Spuren. +## >>> KOORDINATION & MEMORY (bei mehreren Instanzen/Agents) <<< + +**Mehrere Hauptinstanzen gleichzeitig:** +- Git: nur **eine** Instanz committet/pusht auf `master`, ODER jede arbeitet auf + eigenem Branch und merged kontrolliert. `App.tsx`/`types.ts` ist der serielle + Flaschenhals — verschiedene Features ≠ dieselbe Datei. +- Dieser HANDOVER ist der **Koordinationskanal** zwischen Instanzen (liegt im + Repo, wird mitgepusht). Stand hier kurz festhalten, bevor du übergibst. + +**Subagents:** +- Bekommen **kein** Memory automatisch — nur was im Prompt steht. Regeln (v. a. + die COMMIT-REGEL oben) explizit mitgeben, sonst kennt der Agent sie nicht. +- Agents **nicht** committen und **nicht** ins Memory schreiben lassen. Sie + liefern Diffs/Dateien/Ergebnisse zurück; die Hauptinstanz committet und pflegt + das Gedächtnis. + +**Memory (`~/.claude/...`, außerhalb des Repos — leakt nie hierher):** +- In den Kontext geladen wird nur der schlanke **Index** (eine Zeile je Eintrag); + einzelne Fakten erscheinen nur bei Relevanz. Größe ist daher selten ein Problem. +- **Keine automatische Bereinigung.** Gepflegt wird beim Schreiben (Duplikate + aktualisieren statt anlegen, Überholtes löschen) oder auf Ansage. +- Nur **beständige** Fakten ablegen, ein Fakt pro Datei, Index-Zeile knapp. Bei + parallelen Schreibvorgängen ist der Index (MEMORY.md) die Contention-Stelle — + vor dem Edit frisch lesen (der „modified since read"-Guard verhindert blindes + Überschreiben). + ## >>> STAND 2026-06-30 (Fortsetzung, spät) — ZUERST lesen <<< Fortsetzungs-Lauf (UI + Import + Wand-Attribute + Selektion/Editieren). Alles @@ -55,13 +81,13 @@ auf der Platte, unabhängig von Benachrichtigungen). **Multi-Delete**, **Multi-Highlight** (`.plan-sel-draw`), **Shift-Klick-Mehrfachauswahl** (`PlanSelection.shift` → `onPlanSelect` toggelt). -**LÄUFT bei Übergabe (auf Resume verifizieren, NICHT doppelt bauen):** -- **Editier-Welle 2 — Split/Join/Segment** (Agent): Ctrl+S Split (Rechteck→zwei - geschlossene; nur bis Schnittpunkt), Ctrl+J Join, Alt+Klick=Segment löschen. Berührt - `App.tsx`, `PlanView.tsx`, `kernel2d.ts` (`splitPolylineAtParam`/`splitClosedByChord`/ - `removeSegment`/`splitAtIntersections`/`joinChains`), `projectSlice.ts`, ggf. - `src/editors/splitJoin.ts`. **Resume:** `git diff --stat`, `npx tsc -b`, `npm run build`, - `node scripts/probe-splitjoin.mjs`. +- **Editier-Welle 2 — Split/Join/Segment-Löschen (FERTIG & verifiziert):** Ctrl+S Split + (Rechteck→zwei geschlossene; nur bis Schnittpunkt), Ctrl+J Join (koinzidente Enden), + Alt+Klick=Segment löschen (Schere). `kernel2d.ts` (`splitPolylineAtParam`/ + `splitClosedByChord`/`removeSegment`/`splitAtIntersections`/`joinChains`; Tests 16–23, + 25 ok), `src/editors/splitJoin.ts`, App-Keydown (Ctrl/Cmd+S/J, `preventDefault`) + + `onSegmentCut`, PlanView Alt-Klick. Verifiziert (Rechteck→2 geschlossene, Join→1 + Polylinie, Alt→Segment weg). `scripts/probe-splitjoin.mjs`. Wände bleiben no-op. **Offene Wellen (Todo-Spiegel — Todo-Liste lebt im Kontext):** 1. Editier-Welle 3: **koinzidente Endpunkt-Griffe gemeinsam ziehen** + verbundene Enden