Files
Aime/docs/08-changelog.md
T
Claude db3d946592 docs: komplette CallRec-Dokumentation mit Mermaid-Diagrammen
Architektur, Hardware/Thermik, PipeWire-Audio-Topologie, Aufnahme-Pipeline,
Diarization (Anchor-Merge), LLM-Analyse (Gemma-3-4B/NPU), iPhone-BT-HFP,
Betrieb/Troubleshooting und Changelog-Chronik.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 10:51:22 +02:00

4.4 KiB
Raw Blame History

08 — Changelog

Chronik der Entwicklungsschritte. Regel: jede zukünftige Änderung bekommt hier einen Eintrag (Datum, Was, Warum, betroffene Dateien/Backups).

2026-07-16

  • Doku-Repo angelegt (dieses Repo, Gitea callrec-docs). Ab jetzt verbindliche Ablage inkl. Diagrammen.

2026-07-15/16 — Strukturierte Analyse + Teilnehmer-Fix (.bak-structsum)

  • Teilnehmer kommen aus der Diarization statt vom LLM (das listete alle erwähnten Namen → 11 statt 3 bei #69).
  • Summary strukturiert: Überblick + „Kernpunkte“ + „Entscheidungen“ als Bullets (composeSummary, CSS pre-line).
  • Chunk-Salvage-JSON-Leak gefixt; Reduce-Input gekappt + Retry; cleanList filtert null/[object Object]/Objekt-Todos.
  • Referenz #69 (71,6 min): Analyse ~20 min, Ergebnis sauber. Bundle index-B2dSaBty.js.

2026-07-15 — LLM-Wechsel auf Gemma-3-4B + Marker-Fix

  • Qwen2.5-3B → Gemma-3-4B-it (gemma3-4b-w8a8g128-16k.rkllm, grouped w8a8; plain w8a8 kaputt, w4a16 nicht unterstützt).
  • rkllm-Runtime 1.2.1 → 1.3.0. analyzeWhole (≤ 20k Zeichen) ersetzt Map-Reduce im Mittelbereich.
  • Qualität ≈ Gemini, ~3× langsamer. Wort-Highlight-Marker lief ~1 Wort voraus → SYNC_MS=250 (index-CLero27-.js).

2026-07-14 — Kurzclip-Beschleunigung + Analyse-Timer

  • Clips ≤ 30 s über warmen CPU-Whisper-Daemon ohne rkllm-Swap: 10-s-Clip 120 s → 53 s (.bak-shortdaemon).
  • GUI zeigt Analysezeit live (analysis_ms/analysis_started_at, .bak-anatimer).

2026-07-13 — Diarization stabil + NPU-Meilenstein 2 + iPhone-Repair

  • Greedy-Anchor-Merge ersetzt Union-Find: derselbe Call ergab vorher 2/3/7 Sprecher, jetzt konstant 27→3 (.bak-anchor).
  • Meilenstein 2: Whisper-turbo-Encoder auf NPU produktiv — RTF 1,51 → 0,61, Temp 90 °C → 59 °C; batched (batch=8) → RTF 0,389.
  • iPhone neu gekoppelt, Trusted=yes gesetzt (fehlte → keine HFP-Nodes → #58 ohne Gegenseite).

2026-07-09 — Meilenstein-1-Snapshot, Auto-Diarization, Glossar, Whisper-Kalibrierung

  • Snapshot /opt/callrec/milestones/m1-20260709/ (Rollback-Punkt).
  • Auto-Diarization: 2-stufige Konsolidierung (17→2 verifiziert), reanalyze re-diarisiert immer (0=auto / >0=gepinnt).
  • Glossar Phase 1: deterministische Ganzwort-Ersetzung + LLM-Hinweis, GUI-Tab, „Aime“ geseedet.
  • Whisper-Kalibrierung: medium beam1 optimal (11,3 % WER vs large-v3); --initial-prompt mit Termliste = Echo-Loop (tabu).
  • 46-min-E2E über Nacht sauber (Long-Rec-Fixes produktionsvalidiert).

2026-07-08 — Echo-Fix, Thermal-Crashes, Whisper medium, Sprecher-Lernen, Long-Rec-Analyse

  • Selbst-Echo der Gegenseite gelöst: LADSPA-Noise-Gate micgate im Mikro→PC-Pfad (Thr −45 dB, Mic-HW niedrig); AEC verworfen. Reboot-verifiziert.
  • Thermal-Schutzabschaltungen gefixt: A76-Cap 1,6 GHz über die ganze transcribeWav (Whisper+Diar), SIGSTOP-Guard >90 °C; crash-sicheres asynchrones Speichern (stopAndSave persistiert vor Transkription); /retranscribe für hängende Zeilen.
  • Whisper small → medium (Hörfehler).
  • Sprecher-Umbenennen + Stimm-Lernen (Voiceprint-Zentroide) + Leertaste Play/Pause.
  • Lange Aufnahmen (> 20 min) analysierbar: Chunked Map-Reduce gegen 4096-Token-Limit; Diar-Timeout skaliert mit Dauer; Lösch-Confirm.

2026-07-07 — MEILENSTEIN 1: USB-Headset-Pfad komplett

  • Logi H390 ersetzt toten ES8323-Mikrofonpfad; callmix + 4 Loopbacks + callrec_mix-Remap; Volume-Bridge; Inline-Tasten.
  • Kaltstart-verifiziert. Clip-sicheres Gain-Staging (PC→Mix 60 %) — Übersteuerung hatte Diarization zerstört (14 Sprecher, #41).
  • Re-Diarization mit fester Sprecherzahl (numSpeakers), #41 14→2 verifiziert.
  • LLM-Fixes: Phantom-Todo (Prompt-Beispiel-Echo) entfernt, KV-Cache-Clear, leere Todos → [].

2026-07-06

  • ES8323-3,5mm-Mikro als defekt diagnostiziert (Verstärkung fest −42,14 dB) → Entscheidung für USB-Headset.

2026-07-05 — „Helikopter“-Debugging (Referenz)

  • ES8323 S16-Modus = Treiberbug (S24 nutzen); PipeWire/alsaloop-Capture des ES8323 injizierte ~13 Klicks/s, arecord nicht; Windows-Shared-Mode-AGC = separates 20-Hz-Pumpen (exklusiv sauber).
  • Sauberer Fallback damals: dual native-clock arecord. Durch Headset-Pfad obsolet.

Früher

  • iPhone-BT-HFP-Pfad aufgebaut (Rollen-Drop-in, frischer Pair, Echo-Fix Uplink←micgate, Route-Watcher) — Details Kap. 06.
  • BT-Buds No-Bonding-Quirk: LinkKey manuell persistiert (Referenz, Dongle entfernt).