docs: Spec nach docs/ verschieben, Nachtrag mit den Entscheidungen vom 2026-10-24
Die Spezifikation ist ein Produkt-Dokument und gehört nicht in einen Scratch-Ordner. Der Nachtrag hält fest, was gegenüber dem Grilling-Stand geändert wurde: ein Binary mit Autostart statt talk + talkd, CLI als Agenten-Schnittstelle, now bricht Ruhezeit, Gesetze max_text/max_age, Zielbild Veröffentlichung mit Usability-Vorrang. Der Implementierungsplan bleibt unter .scratch, weil das SDD-Werkzeug ihn dort erwartet. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
97650ad0ec
commit
33ef7194f5
2 files changed
+26
-3
No files matched your search
@@ -1,8 +1,7 @@
|
||||
# talk
|
||||
|
||||
> **Status: WIP** — aktive Entwicklung (talk 2.0). Binde Spezifikation:
|
||||
> [`.scratch/talk-2-0/spec.md`](.scratch/talk-2-0/spec.md) ·
|
||||
> Implementierungsplan: [`.scratch/talk-2-0/plan.md`](.scratch/talk-2-0/plan.md)
|
||||
> **Status: WIP** — aktive Entwicklung (talk 2.0). Spezifikation mit
|
||||
> Entscheidungs-Nachtrag: [`docs/spec.md`](docs/spec.md)
|
||||
|
||||
**talk** macht Skripte und KI-Agenten hörbar: Ein Aufruf — `talk "Build fertig"` —
|
||||
spricht eine kurze Nachricht über eine TTS-Provider-Kette
|
||||
|
||||
@@ -100,3 +100,27 @@ Verteilung: Gitea-Releases nach agent-lib-Muster (Asset-Schema `talk_<os>_<arch>
|
||||
- Session-Stickiness der Etikette ist Prompt/Skill-Level — der Daemon kennt keine Agent-Sessions.
|
||||
- Offene Später-Entscheidung: LibreChat-Anbindung via Frontend-Patch vs. Browser-Extension — blockiert nichts, Tür steht mit CORS-fähiger HTTP-API.
|
||||
- Verwandte Firmen-ADRs: 0009 (agent-lib), 0012/0013 (Secrets-Env-Bridge/Machine-Env-Keys), 0016/0017 (user-scharfe Keys, MCP-Audience-Scoping) — talk folgt diesen Mustern.
|
||||
|
||||
---
|
||||
|
||||
## Nachtrag 2026-10-24 — Entscheidungen nach Architektur-Review
|
||||
|
||||
Diese Punkte ersetzen die entsprechenden Aussagen oben (Grilling-Stand
|
||||
2026-10-18):
|
||||
|
||||
- **Ein Binary statt `talk` + `talkd`.** Der Daemon ist `talk daemon run`;
|
||||
`talk say`/`talk wrap` starten ihn beim ersten Sprechbefehl selbst im
|
||||
Hintergrund (`daemon.autostart`, Default an; `talk daemon start|stop`
|
||||
explizit). Der Degraded Mode mit Lock-Datei entfällt; ohne erreichbaren
|
||||
oder startbaren Daemon spricht talk direkt (unserialisiert, mit Hinweis).
|
||||
- **CLI ist die Agenten-Schnittstelle.** MCP bleibt als Tür bestehen, ist
|
||||
aber kein Fokus mehr; Browser-Zugriff ist serverseitig auf POST /speak
|
||||
von gelisteten Origins beschränkt (Origin-Guard, nicht nur CORS).
|
||||
- **`now:true` bricht bewusst aus der Ruhezeit aus** (bestätigt).
|
||||
- **Zwei weitere Gesetze:** `queue.max_text` (400 Zeichen, Kürzung an der
|
||||
Wortgrenze) und `queue.max_age` (2 min, veraltete Stau-Ansagen
|
||||
verfallen).
|
||||
- **Zielbild Veröffentlichung:** talk soll perspektivisch öffentlich
|
||||
nutzbar sein. Oberstes Kriterium ist Usability für Nicht-Terminal-
|
||||
Nutzer; die Bubble-Tea-TUI ist kein Selbstzweck — einfache, klare
|
||||
Befehle (`doctor`, `setup`, `test`, `voices`) haben Vorrang.
|
||||
Reference in new issue
Block a user