* Done! Applied the fix to [script.rs](file:///private/var/folders/m1/9q_ct1913z10v6wbnv54j25r0000gn/T/vibe-kanban/worktrees/1761-diagnose-script/crates/executors/src/actions/script.rs):
1. Added `.stdin(std::process::Stdio::null())` - closes stdin so docker compose exec won't wait for input
2. Added `.env("COMPOSE_INTERACTIVE_NO_CLI", "1")` - tells Docker Compose to disable interactive mode
This should fix the hang in production builds. The script will now run in fully non-interactive mode regardless of whether it has a TTY.
* no docker