mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 19:17:02 -06:00
Session::execute (the entry point of the UI, CLI, control channel and MCP) runs each command through lightcraft_engine::guard::catch: a panic that escapes a command becomes that command's error (EngineError::Other, shown like any failed command) and the session, catalog and undo history stay usable. The desktop app installs guard::install_hook, which keeps the default stderr report and appends the panic location and message to <temp>/lightcraft-panics.log. The desktop app crate (already clean) now #![deny]s unwrap/expect/panic/ unimplemented/todo/unreachable; clippy.toml as in the steering PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>