# RustProxy 0.25.1 release audit RustProxy 0.25.1 is a focused Traffic-UX and source-modularization release on top of the 0.25.0 Web Server foundation. No configuration-schema migration is introduced. ## Implemented scope - Traffic is split into **Overview**, **Clients**, **Requests** and **Delivery** sub-tabs so the page no longer requires a long vertical scroll. - All bounded Traffic dimensions are visualized: donuts for methods/status/cache/countries and horizontal bars for User-Agent, effective client IP, path, route and byte volume. - Every Rust source file is release-guarded at **500 lines maximum** and unit tests must live outside implementation files. - Oversized dashboard JavaScript is split into bounded modules while `/assets/app.js` and `/assets/vhosts.js` remain stable browser URLs assembled by the Rust admin router. - Docker Agent implementation is split into model, Docker, network, certificate, server and entry-point modules; tests remain in `main_test.go`. - Deployment and NPM migration utilities are split into bounded implementation modules while keeping their existing command-line entry points and helper API used by release tests. - The Web Server split regressions reported after 0.25.0 are guarded explicitly: dangling attributes, unresolved `htaccess`, inaccessible `server_protocol`, missing `anyhow::Context`, broken `include!` targets and test code embedded in implementation modules. ## Compiler-error regression status The current source tree contains the intended corrections: - `src/web_server/response.rs` ends with valid `include!` items and cannot end with a dangling `#[derive(...)]` under the structural contract. - the FastCGI logical module imports `htaccess` and `anyhow::Context`; - `server_protocol` is exposed inside the Web Server module through `request::server_protocol` and imported by FastCGI; - `serve.rs` does not retain the previously unused `str::FromStr` import. - split runtime documentation comments are attached to their actual methods instead of ending an `include!` fragment immediately before `}`; - included Rust fragments cannot start with inner `//!` module documentation; - the split Web Server response-header fragment imports sibling `htaccess` explicitly and no longer retains the stale `ACCEPT_ENCODING`/`FromStr` imports; - split proxy/config/Prometheus fragments no longer export unnecessary `mut` bindings or unused values from their `include!` tuples. `python3 scripts/rust_module_contracts.py` checks these conditions without a compiler. A real `cargo check --locked --all-targets` remains mandatory on the release host. ## Verification gates Rust-independent acceptance for this package includes: ```text python3 scripts/rust_module_contracts.py python3 scripts/source_module_contracts.py python3 scripts/check_source.py python3 scripts/release_smoke.py python3 scripts/memory_contracts.py python3 scripts/web_server_contracts.py python3 scripts/security_contracts.py python3 scripts/security_dependency_contracts.py python3 scripts/docs_check.py python3 scripts/langs_check.py go test ./... # from docker-agent/ ``` The packaging workspace has no Rust/Cargo toolchain. Before production/release acceptance, run: ```bash cargo fmt --all -- --check cargo check --locked --all-targets cargo test --locked --all-targets ``` No claim of compiler success is made until those commands pass on a Rust-enabled host.