Session summary

default

scored

afi / afi · cli reviewed proxy at 9b51f95e with Default profile / OpenAI · gpt 5.6 terra high on afi 0.30.0

Measurements

Unavailable values retain their exported state and reason

Quality

Recall 35%
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 50%
Security recall 0%
Defect recall 46.2%
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 7
Defects missed 13
Findings 7
Unkeyed findings 0
Intended findings 0
Carried findings Not recorded

Cost, usage, and speed

Total bill $0.2338
Review bill $0.2338
Judge bill N/A
Tokens 1262
Duration 2m 11s

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 / b9ed88e87764
Configuration ID
config-778af814f6d5c0ac
Build
afi 0.30.0 / b0f313c0b59a66ecc7612396dc8db0ea5da13a7a
Comparison
comparison-5e375ce1a3d1f0fc
Build ID
build-33906dcd701a0660
Cohort ID
cohort-07363c4dd57b37b6
Harness
bench 1 / 631c4107752a97104719622800c9815e030613cf dirty
Adapter
afi 1 / sha256:a1a935298956020ee6d767a756847abb4c00694c88c2eb80d454886ebc4acf8c
Exit code
0
Wall time
131
Deadline exceeded
No
Budget
$8.00
Billing limit
$8.00

Usage

Normalized reviewer-tool usage projection

Input tokens
12
Output tokens
1250
Cached input
54111
Reasoning tokens
6698
Requests
4
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

A blob committed by an in-flight fetch has not yet been linked into the index, so this unconditional “unreferenced” branch can delete it during the `commit`→`link` window; the fetch then links a… A blob committed by an in-flight fetch has not yet been linked into the index, so this unconditional “unreferenced” branch can delete it during the `commit`→`link` window; the fetch then links a missing blob and fails when it reopens it to serve the response.

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:119

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 18 (locality)
Finding f2

bug

The sweep treats every file in `incoming` as abandoned, but active `BlobWriter`s (and temporary index writes) use this directory; a scheduled or manual sweep can unlink an active download and make… The sweep treats every file in `incoming` as abandoned, but active `BlobWriter`s (and temporary index writes) use this directory; a scheduled or manual sweep can unlink an active download and make its later rename/commit fail.

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

forget` runs even for `dry_run=true`, deleting index entries despite the endpoint promising not to remove anything; the next real sweep will then treat the still-present blobs as unreferenced and… forget` runs even for `dry_run=true`, deleting index entries despite the endpoint promising not to remove anything; the next real sweep will then treat the still-present blobs as unreferenced and evict them.

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:140

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 12 (locality)
Finding f4

bug

The on-demand route calls `Sweeper::sweep` directly instead of `run`, bypassing the `running` mutex; it can overlap the periodic sweep and both passes can make deletion decisions from stale totals.

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 f5

bug

Sorting `Duration` ascending orders the youngest blobs first, not the oldest, so an over-capacity sweep evicts recently written eligible artifacts while retaining the oldest ones.

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:102

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 1 (locality)
Finding f6

bug

values` returns reclaimed bytes before removed-blob count, whereas `COUNTERS` declares blob count before bytes, so both new Prometheus metrics publish each other’s 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 f7

performance

The full synchronous filesystem walk and unlink pass runs directly on a Tokio worker thread; on a single-core deployment, a large or slow-mounted cache blocks that worker from serving requests for… The full synchronous filesystem walk and unlink pass runs directly on a Tokio worker thread; on a single-core deployment, a large or slow-mounted cache blocks that worker from serving requests for the duration of every sweep.

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 ·