Session summary

default

scored

afi / afi · cli reviewed proxy at 9b51f95e with Default profile / Z.AI · glm 5.2 high on afi 0.30.0

Measurements

Unavailable values retain their exported state and reason

Quality

Recall 15%
Model-judged precision N/A
F1 N/A
Tier 1 recall 0%
Tier 2 recall 14.3%
Tier 3 recall 33.3%
Tier 4 recall 0%
Security recall 0%
Defect recall 15.4%
Maintainability recall 0%
Performance recall 33.3%
Median anchor distance 0
Worst anchor distance 0
Refusals a judge overturned Not recorded

Review outcomes

Distinct matched defects 3
Defects missed 17
Findings 4
Unkeyed findings 0
Intended findings 0
Carried findings Not recorded

Cost, usage, and speed

Total bill $0.2223
Review bill $0.2223
Judge bill N/A
Tokens 41465
Duration 12m 14s

Execution and identity

Lifecycle, reviewer, build, settings, and normalized execution limits

Lifecycle
completed
Lifecycle reason
Not recorded
Started
Finished
Reviewer
afi
Reviewer tool
afi · cli
Configuration
default / 39fb05463232
Configuration ID
config-2e675e005d5c9c60
Build
afi 0.30.0 / b0f313c0b59a66ecc7612396dc8db0ea5da13a7a
Comparison
comparison-65866118b808fcc2
Build ID
build-4ceb7cbd44e9619b
Cohort ID
cohort-2c18cd2ab5d6b317
Harness
bench 1 / 10b3b2068100b7ba429855e062500eaf83b90120 dirty
Adapter
afi 1 / sha256:a1a935298956020ee6d767a756847abb4c00694c88c2eb80d454886ebc4acf8c
Exit code
0
Wall time
734
Deadline exceeded
No
Budget
$2.00
Billing limit
$2.00

Usage

Normalized reviewer-tool usage projection

Input tokens
39901
Output tokens
1564
Cached input
398592
Reasoning tokens
12702
Requests
17
Models counted
Not recorded

Judge

Normalized assessment summary

Judge data is N/A for this run

Findings

Review text is escaped; normalized decisions follow each finding

Finding f1

bug

the on-demand route calls `app.sweeper.sweep(dry_run)` directly, bypassing the `running` Mutex that `Sweeper::run` (sweep.rs:83) acquires; a manual sweep can run concurrently with the background… the on-demand route calls `app.sweeper.sweep(dry_run)` directly, bypassing the `running` Mutex that `Sweeper::run` (sweep.rs:83) acquires; a manual sweep can run concurrently with the background sweep, exactly the double-walk the module doc (sweep.rs:10-12) says the lock prevents, so the two remove from a total each other is changing and the store drops below the ceiling.

bug
Category: bug Confidence: Not recorded

services/proxy/src/routes/admin.rs:76

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 11 (locality)
Finding f2

bug

values()` returns `sweep_bytes_reclaimed` then `sweep_blobs_removed`, but `COUNTERS` (metrics.rs:51-57) lists `sweep_blobs_removed` then `sweep_bytes_reclaimed`; the positional zip in `render`… values()` returns `sweep_bytes_reclaimed` then `sweep_blobs_removed`, but `COUNTERS` (metrics.rs:51-57) lists `sweep_blobs_removed` then `sweep_bytes_reclaimed`; the positional zip in `render` (metrics.rs:107) publishes each counter under the other's name, so `cairn_proxy_sweep_bytes_reclaimed_total` reports blob counts and `cairn_proxy_sweep_blobs_removed_total` reports bytes — the metric `docs/operations.md` tells operators to alert on (operations.md:55) reads wrong.

bug
Category: bug Confidence: Not recorded

services/proxy/src/metrics.rs:94

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 13 (locality)
Finding f3

performance

reclaim` runs the synchronous, blocking filesystem walk in `sweeper.sweep` on the async handler thread; a sweep over a large store "legitimately takes longer than ten seconds" (routes/mod.rs:121)… reclaim` runs the synchronous, blocking filesystem walk in `sweeper.sweep` on the async handler thread; a sweep over a large store "legitimately takes longer than ten seconds" (routes/mod.rs:121) and blocks an axum worker for its whole duration, starving other requests sharing that worker.

performance
Category: performance Confidence: Not recorded

services/proxy/src/routes/admin.rs:76

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 6 (locality)
Finding f4

performance

sweep` does a full synchronous `readdir`/`read_dir` walk of the blob store while running on the tokio async executor (via `run` in main.rs:116 and the admin route); with 65k leaf directories (as the… sweep` does a full synchronous `readdir`/`read_dir` walk of the blob store while running on the tokio async executor (via `run` in main.rs:116 and the admin route); with 65k leaf directories (as the module doc itself notes, sweep.rs:15-18) it blocks runtime worker threads instead of using `spawn_blocking`.

performance
Category: performance Confidence: Not recorded

services/proxy/src/sweep.rs:90

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 11 (locality)

Source artifacts

Open a row to inspect or download evidence from this atomically published local run

findings present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

meta present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

record present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

result present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

spend present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

stderr present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

summary present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

traffic present

Open verified source artifact

Open this path at the exported commit

The artifact is present; its content is available through the verified source link

benchee benchee-dashboard-1 built from 10f4ec58 Static benchmark evidence ·