# Verification report - RustProxy 0.32.2 ## Scope Source-based patch on the supplied 0.32.1 archive. The Web Server's cache revalidation now mirrors the existing Reverse Proxy's 304 handling for local files, while preserving original browser conditionals, cache policy and cached transformed representations. No backend, PHP-FPM, API or SQLite schema change. ## Regression cases added (Rust, execution pending) - F5-style `Cache-Control: max-age=0` and hard-refresh `no-cache` preserve body and advance `X-Cache-Hits` when local origin returns 304. - Browser `If-None-Match` produces downstream 304 only when the client's validator matches the public stored representation, not merely the origin's validator. - Unrelated client validators cannot incorrectly validate the stored body. - `HEAD` and single-range conditional refresh reuse the validated full body. - A changed asset (different on-disk ETag) returns 200 rather than a false 304. - Newly private origin revalidation metadata cannot remain in shared storage. ## Results and limitations - Python static/structural checks via `./dev.sh test`: **PASS** (including version, full source preflight, cache regression contracts, HTTP/cache, security, documentation, schema-v9/upgrade and release smoke contracts). - All **24 Node.js UI simulations** configured in `./dev.sh test`: **PASS**. Three existing fixture assumptions were aligned with current unindented functions/version (`backend_cache_0297_ui_test.mjs`, `backend_health_0300_ui_test.mjs`, `security_logs_0315_ui_test.mjs`); the production panel logic is unchanged. - Python load-tool selftest against a Python peer: **PASS**; not a RustProxy server test or a memory profile of the proxy. - `./dev.sh check`: **unavailable (exit 127)**; Rust/Cargo is not installed. - `./dev.sh test`: **pre-Cargo checks PASS; entire command exits 127** because Rust/Cargo is not installed, so no Rust tests executed. - Rust `cargo check --locked --all-targets`: **not run, Cargo unavailable**. - Rust `cargo test --locked --all-targets`: **not run, Cargo unavailable**. - Real SQLite schema migration/update on an installed instance: **not run**; only source/upgrade contracts were checked. - Actual RustProxy process, HTTP/1.1, HTTP/2, HTTP/3, PHP-FPM/WordPress and browser DevTools reproduction: **not run** in this source-only environment. **Production acceptance remains open.** Run `./dev.sh check`, `./dev.sh test` and repeat browser-refresh/GET comparisons on a Rust 1.99+ build host before rolling the release out. The patched source is delivered, not a tested binary.