ADR-003-Synchronous-TUI-Async-Operations

ADR 003: Blocking UI During Async Transport

Date: 2026-03-31
Status: Accepted (v1 specific)

Context:
The main.rs event loop uses tokio for async data fetching and API submissions. Managing true background async in a TUI requires complex channels and shared state to prevent UI freezing while waiting for network responses.

Decision:
For v1, fetch_dynamic_options and handle_submit calls are awaited inline, effectively blocking the UI thread during network operations.

Consequences:
Acceptable tradeoff for v1 velocity. Filesystem writes are near-instantaneous, and API calls enforce a strict 5-second timeout. True non-blocking UI is deferred to a future epic.