Files
claudetools/.claude/memory/reference_guru5070_rust_toolchain.md
Mike Swanson d17e9be135 sync: auto-sync from GURU-5070 at 2026-05-31 16:35:50
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-05-31 16:35:50
2026-05-31 16:35:57 -07:00

2.8 KiB

name, description, metadata
name description metadata
reference_guru5070_rust_toolchain GURU-5070 has the full local Rust toolchain (cargo + MSVC + protoc) — build/clippy/test the guru-connect workspace LOCALLY instead of the build host; set PROTOC first
type
reference

As of 2026-05-30, GURU-5070 has the full Rust dev toolchain installed, so GuruConnect can be built/linted/tested locally — no more build-host (172.16.3.30) round-trips just for cargo fmt/clippy.

  • cargo/rustc/clippy/rustfmt: C:\Users\guru\.cargo\bin\ (rustup; cargo 1.96, rustfmt 1.9, clippy 0.1.96).
  • MSVC C++ Build Tools: VS2022 BuildTools (VCTools workload) — provides the x86_64-pc-windows-msvc linker.
  • protoc: 35.0 via winget. The build.rs prost codegen needs it — set the env var first: $env:PROTOC = "C:\Users\guru\AppData\Local\Microsoft\WinGet\Packages\Google.Protobuf_Microsoft.Winget.Source_8wekyb3d8bbwe\bin\protoc.exe" (also set persistently as a User env var).
  • Default target is x86_64-pc-windows-msvc (per the repo .cargo/config.toml), so this machine builds BOTH the server AND the Windows agent — better coverage than the Linux build host, which can't compile the agent.
  • Local gates that mirror CI (run from the guru-connect dir with PROTOC set): cargo fmt --all, cargo clippy --workspace --all-targets --all-features -- -D warnings, cargo test --workspace, cargo build --workspace. Local rustfmt agrees with CI (verified — no skew).
  • CI gap to know: CI only runs clippy on the Linux server build; the Windows agent crate is never clippy-checked in CI (let 77 errors accumulate, cleaned up 2026-05-30). Todo to add agent clippy to the build-agent (Pluto) job. So: clippy the agent LOCALLY before committing.

How to apply: when a Coding Agent works on GuruConnect Rust, have it self-verify with the local toolchain (set PROTOC, run the four gates, iterate to green) and commit CI-green code — don't delegate fmt/clippy to the build host. See project_guruconnect_v2_direction.

CI fmt gate — don't omit it from agent briefs (incident 2026-05-31): the CI Build Server (Linux) job runs cargo fmt --check as a hard gate FIRST (before build/test). SPEC-004 Task 2 + Task 4 (commits ffca7f0, 4e80573) went red on Linux CI even though the Coding Agents reported "clippy clean, tests pass" — because the briefs listed only cargo check + clippy + test and NOT cargo fmt --check, so rustfmt drift slipped through (compactly- written new test code). Fixed with a cargo fmt follow-up commit (cef1928). Every Coding-Agent brief that touches GuruConnect Rust MUST list cargo fmt --check (server: cd server && cargo fmt --check) as a required gate alongside clippy/test — a clippy-clean, test-green change can still fail CI on formatting.