Files
RustProxy/docs/TEST_REPORT.md
T

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_bytes and max_inflight are 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_pressure reasons 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/status exposes transform_resources and memory_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/transform exposes 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-only TransientLease field _inner, and removes the two dead CSS last_char assignments 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.