42 lines
3.5 KiB
Markdown
42 lines
3.5 KiB
Markdown
# 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](V0.24.7_AUDIT.md) for the resource-control design and remaining runtime acceptance gate.
|