build: migrate from buck2 to bazel

Bazel 9.2 builds, lints and tests the workspace on the same BuildBuddy
remote executor and cache buck2 used, through ./scripts/bazel. A module
extension reads cargo's own per-platform plans to make the third-party
crates and the workspace crates' rules, so Cargo.toml stays the one place a
dependency is declared; MODULE.bazel.lock records the result. Compilers,
SDKs and sysroots are fetched in actions on the workers, one Rust toolchain
is shared by every target, and clang-20 C toolchains cover every platform
buck2 built for. //:verify, //:check, //:lock-sysroot and //:rust-project,
the app, web, Android and smoke targets, and CI's build and artifacts are
ported; guides/bazel.md replaces guides/buck2.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ABVjohQrZ6D71VLJfvzeJw
321c04965cClaude committed on 9/25/2026, 7:19:36 PMparent969d6c0
64 files changedLine totals unavailable