docs(changelog): Projekte/Multi-Threading-Epos + aktuelle Session nacherfasst
Der Changelog hing bei 0.0.0.5 (2026-03), Projekt lief bis 0.2.0.2 (2026-07). Nachgetragen: [Unreleased] (Identitaets-Anker, Proxy-System-Prompt, kontext- getaggte Activity + kontext-scoped Cancel, Diagnostic Datei-Zuordnung) und der zusammenhaengende Projekte-/Multi-Threading-Epos (0.1.9.7–0.2.0.2). Luecke 0.0.0.6–0.1.9.6 bewusst nicht rueckwirkend nacherfasst (Hinweis im Header). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,65 @@
|
||||
|
||||
Alle Änderungen am Projekt. Format: [Keep a Changelog](https://keepachangelog.com/de/1.1.0/)
|
||||
|
||||
> **Hinweis:** Dieser Changelog hatte eine große Lücke — er endete bei `0.0.0.5`
|
||||
> (2026-03), das Projekt lief aber bis `0.2.0.2` (2026-07) weiter (u. a. OAuth,
|
||||
> Voice-Streaming, Speaker-ID, Datei-Manager). Ab dem Projekte-/Multi-Threading-
|
||||
> Epos (2026-07) wird wieder gepflegt; die dazwischenliegenden Versionen
|
||||
> `0.0.0.6`–`0.1.9.6` sind nicht rückwirkend nacherfasst.
|
||||
|
||||
---
|
||||
|
||||
## [Unreleased] — 2026-07-10
|
||||
|
||||
### Hinzugefügt
|
||||
|
||||
**Proxy — ARIA-Persona über echten System-Prompt-Kanal**
|
||||
- Persona + Tool-Use-Format gehen jetzt über `--append-system-prompt` der Claude-CLI statt als `<system>`-getaggter User-Content im Prompt (`openai-to-cli.js`: Prompt = nur Verlauf, `systemPrompt` separat; neue `sed`-Zeile schleust `--append-system-prompt`,`options.systemPrompt` ins `buildArgs`-Array von `manager.js`)
|
||||
|
||||
**Multi-Threading — echte Parallelität in der App**
|
||||
- `agent_activity`-Events tragen jetzt die `projectId` (Brain → Proxy `aria_project_id` → Bridge → App); der „ARIA denkt"-Indikator zeigt nur noch den **fokussierten** Kontext statt global zu flackern (`agentActivityByCtx`-Map)
|
||||
- Kontext-scoped Cancel: neuer Proxy-Endpoint `/cancel {projectId}` killt nur die Subprozesse *eines* Kontexts (`/cancel-all` bleibt fürs NOT-AUS); Bridge-soft-Cancel + App-Abbrechen tragen die fokussierte `projectId`
|
||||
|
||||
**Diagnostic — Datei-Zuordnung**
|
||||
- Projekt-Dropdown pro Datei im Datei-Manager (nutzt `/api/files-set-project`) — auch alt-hochgeladene Dateien nachträglich einem Projekt zuweisen
|
||||
|
||||
### Behoben
|
||||
|
||||
- **Identität:** fester `IDENTITY_ANCHOR` ganz oben im System-Prompt — ARIA verliert in (Pentest-)Projekten nicht mehr die Rolle bzw. deutet ihre eigene Aufgabe nicht mehr als Prompt-Injection
|
||||
- **Barge-In kontext-scoped:** eine Frage im Hauptchat blockiert/killt nicht mehr die parallele Arbeit in einem Projekt (Busy-Status kontextgenau aus `queueStatus` statt global)
|
||||
|
||||
---
|
||||
|
||||
## [0.1.9.7 – 0.2.0.2] — 2026-07-02 … 2026-07-10 — Projekte & Multi-Threading
|
||||
|
||||
Der große Epos: Themen-Bündel („Projekte") im Hauptchat, echt nebenläufig verarbeitet.
|
||||
|
||||
### Hinzugefügt
|
||||
|
||||
**Projekte (Brain + App + Diagnostic)**
|
||||
- Named Themen-Bündel, im Hauptchat verankert, per Sprache adressierbar („steige in Projekt X ein", „für Frankreich: …"), CRUD via Meta-Tools + UI
|
||||
- App: Focus-One-View + Drawer + Queue-Status-Dots + „← Hauptchat"-Button
|
||||
- Diagnostic: Kontext-Strip + Focus-Filter + Queue-Polling
|
||||
- Dateien pro Projekt getaggt (Manifest `file_projects.json`, Filter im Datei-Manager)
|
||||
|
||||
**Multi-Threading (Brain)**
|
||||
- Per-Request `project_id` statt globalem `active_project`; per-Projekt-`asyncio.Lock` = Queue-Verhalten pro Kontext, verschiedene Kontexte laufen parallel
|
||||
- Queue-Aware-Prompting (spätere Nachricht kann laufenden Task als überholt markieren) ohne Extra-LLM-Call
|
||||
|
||||
**Voice-Router (Bridge)**
|
||||
- 30s-Sticky-Kontext, Prefix-Adressierung, Meta-Command-Interception („zurück zum Hauptchat" ohne Brain-Call), Voice folgt App-Focus
|
||||
|
||||
**Migration**
|
||||
- Alt-getaggte Projekt-Nachrichten (in `conversation.jsonl`, aber ohne Tag im `chat_backup.jsonl`) werden nachträglich einsortiert — idempotent, nicht-destruktiv, reihenfolge-erhaltend
|
||||
|
||||
### Behoben
|
||||
|
||||
- **Leere Projekte:** Drawer resettete den App-Focus beim Öffnen auf `status.active` (im Multi-Threading = null); Diagnostic warf `project_id` beim `chat_history`-Reload weg (server.js + Renderer); untagged ARIA-Bubbles/Backup-Writes aus dem toten Gateway-Watch-Pfad
|
||||
- **Voice → falscher Kontext:** Registry-Race (`stt_stream_end` poppte die Focus-`projectId` vor dem finalen `stt_endpoint`); App übernimmt jetzt die autoritative Server-`projectId` der STT-Bubble
|
||||
- **STT-Endpointing:** akustische Stille als robustes Signal statt rein semantischer Stagnation (nicht mehr „hört nach zwei Worten auf" / „merkt Ende nicht")
|
||||
- **Anhänge:** Bild/Datei + Frage landen im gewählten Projekt statt im Hauptchat (projectId durch die ganze Anhang-Kette)
|
||||
- **Bild-Bubbles im Diagnostic:** ARIA-Datei-Bubbles tragen `project_id`, werden nicht mehr fälschlich vom Focus-Filter ausgeblendet
|
||||
|
||||
---
|
||||
|
||||
## [0.0.0.5] — 2026-03-13
|
||||
|
||||
Reference in New Issue
Block a user