cee59ee2fd
- scripts/smoke-invariants.sh: 30-check battery against the PROD binary — --version/--help, MCP initialize handshake with stdin OPEN (#513), tools/list (all 14), EVERY tool invocable with valid JSON-RPC + no crash, index→non-empty graph, malformed-input resilience (bad JSON / empty / huge line / binary / non-UTF8 / missing path), clean EOF exit, shared-lib resolution, install dry-run. Bounded waits (read -t / timeout), no sleep loops; msys2-safe. - .github/workflows/smoke.yml: runs it on the WIDEST runner matrix — ubuntu 22.04+24.04 (x64+arm64; 22.04 = older glibc / AlmaLinux class), macos 14/15/15-intel, windows 2022/2025 + windows-11-arm (experimental). A FAIL on any platform is a binary a user would receive. workflow_dispatch + qa/smoke-**. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>