# Thisper Implementation Plan

This plan reflects the current repo state and the remaining work needed to close desktop Phase 2 before speech begins.

## Completed Baseline

- Desktop text-to-text MVP is complete.
- The provider boundary exists and Gemini is integrated.
- Secure credential storage is implemented.
- Global shortcut and clipboard rewrite are implemented.
- Streaming rewrite is implemented.
- Tray and background lifecycle are implemented.
- Runtime observability is implemented locally in-memory.

## Remaining To Close Phase 2

### 1. Validation

- Execute the legacy hardware validation checklist.
- Record actual observed results in `LEGACY_HARDWARE_VALIDATION.md`.

### 2. Licensing Policy

- Keep audit automation in place.
- Decide the commercial allowlist policy.
- Update Rust audit configuration to match that policy.

## Current Desktop Contract

### Main UI

- typed input and output panes
- explicit rewrite modes
- diff review
- copy output
- secure settings for the Gemini API key

### Cross-App Utility

- `Ctrl + Alt + R` triggers selected-text rewrite
- default global mode is `Preserve Voice`
- selected text is only replaced after a complete rewrite succeeds
- app can remain hidden in the tray while the hotkey stays active

### Tray Lifecycle

- closing the main window does not quit by default
- first close shows a tray hint
- later closes hide to tray
- tray menu supports show, rewrite, and quit

## Queued Next

After Phase 2 is closed:

1. start the speech phase from `PHASE3_SPEECH_PLAN.md`
2. queue trust refinements such as protected terms and high-value detail preservation
3. revisit optimization work only after validation data exists
