bug
sorts `candidates` by `age` in ascending order, which causes the newest blobs to be evicted first instead of the oldest
services/proxy/src/sweep.rs:102
Evidence quote
Not recorded
Suggested fix
Not recorded
afi / afi · cli reviewed proxy at 9b51f95e with Default profile / Google · gemini 3.1 pro preview high on afi 0.30.0
Unavailable values retain their exported state and reason
Lifecycle, reviewer, build, settings, and normalized execution limits
910afc28d427config-7ba8a6ad7ff36415b0f313c0b59a66ecc7612396dc8db0ea5da13a7acomparison-967db4e472922cb8build-f86dc4de901a8e9fcohort-d9f347dd5c2fc1f86f7cfea8e46bb1f294790937e3df4d0f867e2135 dirtysha256:a1a935298956020ee6d767a756847abb4c00694c88c2eb80d454886ebc4acf8cNormalized reviewer-tool usage projection
Normalized assessment summary
Review text is escaped; normalized decisions follow each finding
sorts `candidates` by `age` in ascending order, which causes the newest blobs to be evicted first instead of the oldest
services/proxy/src/sweep.rs:102
Evidence quote
Not recorded
Suggested fix
Not recorded
unlinks every file in `incoming/` regardless of age, which deletes temporary files actively being written by ongoing fetches
services/proxy/src/sweep.rs:232
Evidence quote
Not recorded
Suggested fix
Not recorded
uses `fs::metadata` which follows symlinks, causing it to count the size of the target rather than the link itself as stated in the comment
services/proxy/src/sweep.rs:164
Evidence quote
Not recorded
Suggested fix
Not recorded
swaps the order of `sweep_bytes_reclaimed` and `sweep_blobs_removed` compared to `COUNTERS`, causing the exported metrics to report counts as bytes and bytes as counts
services/proxy/src/metrics.rs:89
Evidence quote
Not recorded
Suggested fix
Not recorded
tokio::time::interval` completes its first tick immediately, triggering a sweep immediately on startup instead of waiting for the first interval
services/proxy/src/main.rs:109
Evidence quote
Not recorded
Suggested fix
Not recorded
Open a row to inspect or download evidence from this atomically published local run
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link
Open this path at the exported commit
The artifact is present; its content is available through the verified source link