Windows freeze fix. Model switching. Sound rewrite. Silent failure audit.
_create_llama() wrapper prevents llama-cpp-python from killing Textual's WriterThread by redirecting only stderr, not stdout.
Replaced all call_from_thread with a heartbeat-drained _bridge_queue. Textual's cross-thread messaging deadlocked on Windows ProactorEventLoop.
The model command now shows installed models alongside the download catalog. Selected model persists in config.json. Manually placed .gguf files appear automatically.
Replaced 360 lines of platform-specific beep patterns with the chime library. Cross-platform bundled .wav files. macOS voice mode via say preserved.
Single log file ~/.moonwalker/dev/game.log replaces separate startup.log and dev_diagnostics.jsonl. All modules use Python's logging module. 29 silent except:pass replaced with logger.debug across 11 files.
_create_llama() prevents WriterThread death during model load_bridge_queue replaces call_from_threaderrors="replace"except:pass replaced with logger.debugchime librarygame.log_create_llama() wrapper with stderr-only redirect