Session summary

default

scored

afi / afi · cli reviewed proxy at 9b51f95e with Default profile / Moonshot AI · kimi k2.7 code high on afi 0.30.0

Measurements

Unavailable values retain their exported state and reason

Quality

Recall 30%
Model-judged precision N/A
F1 N/A
Tier 1 recall 33.3%
Tier 2 recall 14.3%
Tier 3 recall 50%
Tier 4 recall 25%
Security recall 0%
Defect recall 38.5%
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 6
Defects missed 14
Findings 6
Unkeyed findings 0
Intended findings 0
Carried findings Not recorded

Cost, usage, and speed

Total bill $0.1149
Review bill $0.1149
Judge bill N/A
Tokens 40464
Duration 1m 49s

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 / 372d66bf0baf
Configuration ID
config-b501a08ebedcc16a
Build
afi 0.30.0 / b0f313c0b59a66ecc7612396dc8db0ea5da13a7a
Comparison
comparison-a5b4262e3ada583f
Build ID
build-4ceb7cbd44e9619b
Cohort ID
cohort-07363c4dd57b37b6
Harness
bench 1 / 10b3b2068100b7ba429855e062500eaf83b90120 dirty
Adapter
afi 1 / sha256:a1a935298956020ee6d767a756847abb4c00694c88c2eb80d454886ebc4acf8c
Exit code
0
Wall time
109
Deadline exceeded
No
Budget
$2.00
Billing limit
$2.00

Usage

Normalized reviewer-tool usage projection

Input tokens
32760
Output tokens
7704
Cached input
159360
Reasoning tokens
8701
Requests
6
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

values()` returns `sweep_bytes_reclaimed` before `sweep_blobs_removed`, but `COUNTERS` at lines 50-57 lists them in the opposite order, so the two sweep counters are exposed under swapped names and… values()` returns `sweep_bytes_reclaimed` before `sweep_blobs_removed`, but `COUNTERS` at lines 50-57 lists them in the opposite order, so the two sweep counters are exposed under swapped names and values.

bug
Category: bug Confidence: Not recorded

services/proxy/src/metrics.rs:94

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 13 (locality)
Finding f2

bug

clear_partials` unconditionally removes every file in `incoming`, including temp files still being written by concurrent fetches, so `BlobWriter::commit` renames fail and active cache-miss requests… clear_partials` unconditionally removes every file in `incoming`, including temp files still being written by concurrent fetches, so `BlobWriter::commit` renames fail and active cache-miss requests error out.

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:232

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 17 (locality)
Finding f3

bug

the on-demand sweep calls `Sweeper::sweep` directly, bypassing the `running` mutex held by `Sweeper::run`, so two sweeps can run together and delete past the configured ceiling.

bug
Category: bug Confidence: Not recorded

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

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 6 (locality)
Finding f4

bug

sweep` calls `forget` unconditionally, so a `dry_run=true` sweep still deletes index entries even though it does not remove blobs, contradicting the documented read-only estimate.

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:140

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 12 (locality)
Finding f5

bug

when `fs::remove_file` at line 126 fails, this line still adds the blob's size to `bytes` and `remaining`, and line 137 adds it to `gone`, causing `forget` to delete index entries for a blob that… when `fs::remove_file` at line 126 fails, this line still adds the blob's size to `bytes` and `remaining`, and line 137 adds it to `gone`, causing `forget` to delete index entries for a blob that still exists while metrics over-count removals.

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:134

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 2 (locality)
Finding f6

performance

run()` performs the whole synchronous filesystem walk inside an async task, blocking a Tokio worker thread for the entire sweep and potentially stalling unrelated async work on large stores.

performance
Category: performance Confidence: Not recorded

services/proxy/src/sweep.rs:84

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 ·