be271f65c1
`astro build` exits 0 on a vite asset-resolution failure. That is how a stale `@import` survived the cutover and stayed green through every gate run: the build printed `[ERROR]`, returned 0, and the gate believed it. Tee the build log and treat a logged error as a failure. Negative-tested by reintroducing the import -- GATE 1, with both the vite error and the new message. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>