# 16 — Development Timeline

Reconstructed from git history (`git log --all`). Dates use the commit
author timezone. Phase headings follow the "Phase N" tags used in the
commit messages and `initialplan.md`.

## Phase 0 — Project Foundation

| Date | Commit | Summary |
|------|--------|---------|
| 2025-10-25 | `e2fa4cc` | Initial commit. |
| 2026-02-09 | `18f1c93` | Phase 0: directory skeleton, config template, requirements files, setup scripts. |
| 2026-02-09 | `6b9d003` | Merge remote, resolve `.gitignore` conflict. |
| 2026-02-09 | `d33bce8` | Consolidated to two venvs: `venv_main` and `venv_tts`. |

## Phase 1 — Core Infrastructure

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-09 | `8bb8326` | Phase 1: config loader, `SystemState`, event dispatcher, latency tracker, GPU monitor, logging. |
| 2026-02-09 | `1461248` | Fix config path resolution; remove plan files from tracking. |

## Phase 2 — UI Shell

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-09 | `85a7a75` | PySide6 main window, A/B sections, custom widgets, dark theme. |

## Phase 3 — STT Module

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-09 | `3450a3e` | FasterWhisper engine + worker. |
| 2026-02-09 | `ec3d850` | Hallucination filter list and gaming phonetic index. |
| 2026-02-09 | `971bf66` | Live (30 %) + accumulated (70 %) text panel split. |
| 2026-02-09 | `65418b0` | STT term-file drag-drop, `initial_prompt`, `max_segment_age`, VAD log suppression. |
| 2026-02-09 | `d6116c5` | Adjacent dedup + short-phrase repeat filter to fix repetition. |

## Phase 4 — LLM Translation

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-09 | `1a42dd5` | Engine, translator, controller, UI tab. |
| 2026-02-09 | `3c425cd` | CUDA libs, ChatML prompt, manual-input mode. |
| 2026-02-09 | `5a9fbb8` | OpenAI-compatible API backend. |
| 2026-02-09 | `6a45a0c` | Term capacity control + status display in STT tab. |
| 2026-02-09 | `6b1ff45` | Vertical scrollbar in settings tabs. |
| 2026-02-09 | `46675dc`–`2e3bcef` | Combobox arrow / button visibility polishing pass. |
| 2026-02-09 | `d0d5577` | Plan update: 4.1, 4.2, 4.5, 4.6 done; 4.3, 4.4 deferred. |
| 2026-02-10 | `d34045f` | Phase 4.4: RAG vector retrieval for large glossaries. |

## Phase 5 — TTS Integration

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-09 | `6fe4937` | Phase 5: GPT-SoVITS module skeleton. |
| 2026-02-09 | `7df8322` | Suppress `pynvml` deprecation noise. |
| 2026-02-09 | `857f3fb` | Fix SoVITS startup: correct `PYTHONPATH` and project root. |
| 2026-02-09 | `5e429ee` | Wire TTS to translation events; default reference audio. |
| 2026-02-09 | `4a19037` | Use absolute `ref_audio_path`; better error logging. |
| 2026-02-09 | `0f22fcc`, `142f915` | TTS warm-up on server start, moved to a background thread. |
| 2026-02-09 | `803bf2c` | Fix STT repetition, audio device selection, TTS latency display. |
| 2026-02-09 | `facf711` | Phase 5 complete: end-to-end STT → LLM → TTS working. |
| 2026-02-09 | `f688df7` | TTS streaming playback + 25 ms latency target. |
| 2026-02-09 | `74be837` | Audio device race fix, dedup, real TTFA measurement. |
| 2026-02-09 | `e9d4556` | Phase 5 overhaul: two-tier playback. |
| 2026-02-10 | `53e3cbe` | Raise `max_segment_age` from 2 s to 4 s. |

## Phase 6 — Pipeline Orchestration

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-10 | `f5febe2` | Pipeline coordinator + file output (TXT / SRT / WAV). |

## Phase 7 — OBS Overlay

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-10 | `c79f52c` | OBS Browser Source overlay server. |
| 2026-02-10 | `27f7da7` | Stroke / shadow controls; standalone subtitle timing. |

## Phase 8 — Launch and Training Tab

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-10 | `2d1ee60` | Launch scripts, graceful shutdown, training tab placeholder. |

## Phase 9 — Quality Pass

| Date | Commit | Summary |
|------|--------|---------|
| 2026-02-10 | `065d7cf` | TTS queue pruning, translation context, glossary corrector, benchmarks. |
| 2026-02-10 | `049f1ab` | KB tab consolidation; SRT-based training tab. |
| 2026-02-10 | `eb263e5` | Refactor KB tab: drop Quick Add; parallel file table + STT term editor. |
| 2026-02-10 | `554d4be` | Fix delete-button width in KB tab. |
| 2026-02-25 | `890b782` | Hallucination filter UI editor; fix thread shutdown races. |

## Diarisation and Qwen3-TTS

| Date | Commit | Summary |
|------|--------|---------|
| 2026-03-11 | `8a10303` | Speaker diarisation + Qwen3-TTS integration. |
| 2026-03-11 | `96711b3` | Connect translation target language to TTS. |
| 2026-03-25 | `4f30868` | Qwen3-TTS modes and status handling. |

## Simple / Pro Modes

| Date | Commit | Summary |
|------|--------|---------|
| 2026-03-29 | `b610cbc` | Mode toggle and Simple control panel. |
| 2026-03-29 | `0a9cc55` | Staged startup, progress states, rollback. |
| 2026-03-29 | `5ca6555` | Status pills, keep-models-loaded stop option. |
| 2026-03-29 | `6db6b27` | Tooltips and validation checklist. |
| 2026-03-29 | `9b8f623` | Tab text panes; metrics in status area. |
| 2026-03-29 | `2bee0c9` | Compact quick-settings; single-line metrics. |
| 2026-03-29 | `e96bcb9` | Separate Pro / Simple Section A layouts. |
| 2026-03-29 | `81cedf4` | Stage timeouts; extended Qwen3 warm-up. |
| 2026-03-29 | `fdf978c` | Force Qwen3 custom-voice preset for Start All. |
| 2026-03-29 | `2311042` | Reserve stdout for protocol; drain stderr. |
| 2026-03-29 | `ff46a36` | Qwen3 synth + playback debug logs. |
| 2026-03-29 | `123b65e` | Tune Qwen3 preset for lower synth latency. |

## Echo Cancellation

| Date | Commit | Summary |
|------|--------|---------|
| 2026-04-02 | `d4055ca` | Clear-panel baseline reset for source / translation. |
| 2026-04-02 | `f334773` | Playback timeline, NLMS adaptive filter, double-talk detection. |

## At a Glance

- **68 commits** across the rewrite, starting from the initial commit
  on 2025-10-25 and the Phase 0 scaffolding on 2026-02-09.
- The end-to-end happy path was working by 2026-02-09 (`facf711`); the
  remaining months were quality, robustness, additional backends, and
  UX modes.
