diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..6639eea --- /dev/null +++ b/TODO.md @@ -0,0 +1,31 @@ +# TODO + +## High priority + +- [ ] Handle client network failures in `cli/src/whisper_remote_cli/main.py`. + Right now connection errors and timeouts from `httpx` will dump a Python traceback instead of a clean CLI error. + +- [ ] Add a backend subprocess timeout in `backend/src/whisper_remote_backend/server.py`. + A stuck `whisper` process can hold the request open forever and tie up the API worker. + +- [ ] Add an end-to-end smoke test path against a real `whisper` binary. + Current tests only mock subprocess behavior, so we still have not verified the actual CLI wrapper contract on a live backend. + +## Medium priority + +- [ ] Return structured JSON errors from the backend and make the CLI surface them nicely. + Right now the CLI just prints the raw response body, which will be awkward for FastAPI's default JSON error payloads. + +- [ ] Add test coverage for cleanup and artifact-writing behavior. + Missing cases include ensuring temp files are removed on failure and verifying `--to-file` writes the expected local artifact content. + +- [ ] Document Windows-first setup in the root README. + The examples currently use `export`, but this repo is being built on Windows and should show PowerShell equivalents for `WHISPER_REMOTE`. + +## Nice to have + +- [ ] Support configurable host and port for `whisper-remote-server`. + The backend entrypoint currently hardcodes `0.0.0.0:8000`. + +- [ ] Add optional request authentication. + v1 intentionally has no auth, but even a shared bearer token mode would make remote exposure less risky.