andreagrandi / andreagrandi/draftomen

Expose local narration and model controls in the TUI

Aperta
#463 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
draftomen enhancement size: M
Lingua principale
Python
Stelle
0
Fork
0
Merge medio
1h 23m
PR unite (30g)
181

Descrizione

## Problem

The shared feature must not become a GUI-only alternate implementation; terminal users need equivalent control and safe presentation.

## Proposed change

Adapt `tui.py` to #460 commands/state for explicit model management and enablement, and concise progressive recommendation narration. Reuse existing modal/settings and worker patterns. Keep shared model behavior out of Textual widgets. Preserve normal recommendations, keyboard use, and non-AI defaults.

## Acceptance Criteria

- [ ] AC1: An actual terminal journey installs with prior size/privacy information and visible progress, independently enables/disables, retries and removes the model.
- [ ] AC2: A real-model terminal replay shows recommendations before progressive narration and meets the agreed interactive latency target.
- [ ] AC3: Rapid-pick and lifecycle checks prevent stale text after recommendation changes, disable/remove and shutdown.
- [ ] AC4: Missing/corrupt/runtime-failure terminal checks preserve usable deterministic recommendations without repeated disruptive errors.
- [ ] AC5: Restart and keyboard-navigation checks preserve preferences and make management/narration usable in the supported terminal layout.

## Implementation classification

- **Estimated size:** M
- **Orchestration risk:** High
- **Reason:** TUI parity combines one adapter's asynchronous controls and live text presentation.

## Dependencies

Direct prerequisites: #460. Documentation consumer: Document local narration installation and troubleshooting.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.