# PatchPilot v0.4.0

## Highlights

- Adds a sticky approval box for write, script, test, shell, and trusted-bypass decisions so critical prompts are no longer buried in the transcript.
- Tightens provider model discovery for Gemini, OpenRouter, and NVIDIA so model pickers prefer agent-compatible chat models instead of every catalog entry.
- Keeps the release honest as a v0.4 preview instead of claiming v1 readiness before real context resume and richer review workflows are finished.

## Fixed

- Fixed model setup Enter behavior: pressing Enter in the filtered model picker now selects the highlighted model instead of submitting the search text and failing with “Unknown model selection.”
- Fixed repeated bypass confirmation spam when Tab was pressed in build mode; bypass now stays in one sticky confirmation box and can be cancelled with Tab, `n`, or Escape.
- Fixed unreadable approval detail text by rendering action prompts in high-contrast bold text and keeping the composer usable for `/approve` and `/deny` while a run waits.
- Fixed Gemini token accounting fallback so thinking tokens are included when the provider does not report a total.
- Fixed Windows shell execution flags by using non-interactive PowerShell with profile loading disabled.

## Improved

- OpenRouter now uses model metadata to avoid sending `reasoning` to models that do not advertise support, filters out models that explicitly lack JSON response support, and surfaces auth, credit, and rate-limit errors clearly.
- NVIDIA model discovery now deduplicates the catalog and filters out embedding, rerank, safety, audio, OCR, and vision-only entries before showing model choices.
- Gemini model discovery now follows paginated model lists and filters obvious non-agent routes such as embedding, Imagen, Veo, TTS, audio, and live models.
- Package-script approvals now show the actual script body and mark scripts risky when the underlying command would be blocked by the shell guard.
- Secret-path blocking now covers `.envrc`, credential files, key/certificate bundles, and common private-key names in addition to the existing `.env`, `.npmrc`, `.netrc`, and SSH-key checks.

## Pull Requests

- #18 Prepare PatchPilot v0.4.0 hardening.
