3.5 KiB
3.5 KiB
Verification report - RustProxy 0.24.7
Scope
RustProxy 0.24.7 makes transformation memory/concurrency limits configurable and adds persisted RAM saver, Recommended, Performance and Uber performance resource presets. The same version now exposes live transform resource usage, overview process/cache RAM accounting and COLD disk occupancy. It retains the 0.24.6 cache/background-worker memory hardening.
Source contracts reviewed
- Transform
preset,memory_budget_bytesandmax_inflightare part of the normal revisioned Settings document and therefore persist in SQLite; the reopen test covers them. - Existing configurations default to 128 MiB transform temporary memory and 32 concurrent attempts.
- New transform attempts use atomic runtime byte/concurrency reservations and fail open with fixed
memory_pressure/concurrency_pressurereasons rather than queueing full-body work. - Presets modify only resource limits; transform type switches and extension allow-lists remain independent.
- Global transform representation/eligibility settings participate in cache compatibility identity. Resource-only preset/budget/concurrency fields do not.
- OpenAPI and both language packs expose the new controls and preset states.
GET /api/statusexposestransform_resourcesandmemory_accounting; the latter keeps process RSS separate from HOT/transient cache accounting and treats transform bytes as an overlapping conservative reservation.- Cache runtime telemetry exposes COLD byte/object limits so the overview can show disk occupancy against configured capacity without mixing disk and RAM.
GET /api/transformexposes current process-wide reserved transform bytes and active slots alongside the existing counters.- 0.24.6 aggregate/decode bounds, allocation reductions and bounded cache/background workers remain in place.
- The bounded transform-body collection path maps its boxed body error explicitly into
anyhow::Error; source/release regressions reject the incompatible.context(...)form that was reported by an external compiler run. - A subsequent external Rust compile reached warning-only status and reported four lint warnings. The source now keeps the COLD transient read lease explicitly alive via
_read_lease, names the RAII-onlyTransientLeasefield_inner, and removes the two dead CSSlast_charassignments without lint suppression. Offline source/release regressions pin those shapes; a compiler-enabled rerun is still required to confirm a warning-clean build.
Verification status in this workspace
| Check | Status |
|---|---|
python3 scripts/preflight.py |
PASS |
python3 scripts/langs_check.py |
PASS |
python3 scripts/memory_contracts.py |
PASS |
Browser JavaScript node --check |
PASS for all administration JS bundles |
| OpenAPI/language JSON parse | PASS |
Shell bash -n |
PASS |
| Python syntax / bytecode compile | PASS |
Docker agent go test ./... / go vet ./... / go build ./... |
PASS |
python3 scripts/check_source.py |
PASS |
python3 scripts/release_smoke.py |
PASS |
./dev.sh fmt / cargo fmt --all |
BLOCKED: Rust/Cargo toolchain unavailable in this workspace |
./dev.sh check / cargo check --locked --all-targets |
BLOCKED: Rust/Cargo toolchain unavailable in this workspace |
./dev.sh test Rust phase |
BLOCKED: Rust/Cargo toolchain unavailable in this workspace |
| Sustained per-preset transform RSS/heap profiling | release-host acceptance gate |
See V0.24.7_AUDIT.md for the resource-control design and remaining runtime acceptance gate.