Session summary

default

scored

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

Measurements

Unavailable values retain their exported state and reason

Quality

Recall 55%
Model-judged precision N/A
F1 N/A
Tier 1 recall 100%
Tier 2 recall 42.9%
Tier 3 recall 50%
Tier 4 recall 50%
Security recall 50%
Defect recall 69.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 11
Defects missed 9
Findings 11
Unkeyed findings 0
Intended findings 0
Carried findings Not recorded

Cost, usage, and speed

Total bill $0.2368
Review bill $0.2368
Judge bill N/A
Tokens 1436
Duration 2m 51s

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 / 89cd13e3b4e0
Configuration ID
config-323a87a9eb99b1e3
Build
afi 0.30.0 / b0f313c0b59a66ecc7612396dc8db0ea5da13a7a
Comparison
comparison-004ca4a8ec71f5cd
Build ID
build-13a6e5be87bc4a53
Cohort ID
cohort-fdab2adfb8a4bd39
Harness
bench 1 / 348a7e367b8c52f1ce72828ed09c15b0e9fac38b dirty
Adapter
afi 1 / sha256:a1a935298956020ee6d767a756847abb4c00694c88c2eb80d454886ebc4acf8c
Exit code
0
Wall time
171
Deadline exceeded
No
Budget
$8.00
Billing limit
$8.00

Usage

Normalized reviewer-tool usage projection

Input tokens
15
Output tokens
1421
Cached input
104973
Reasoning tokens
10813
Requests
5
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

forget` runs during dry runs, deleting index entries even though `dry_run=true` promises not to modify the store

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:140

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 12 (locality)
Finding f2

bug

Clearing every `incoming` file can unlink active blob or index writes, causing concurrent fetches to fail when they commit or link

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

A committed blob remains unindexed during registry registration, so a concurrent sweep treats it as orphaned and deletes an in-flight successful fetch

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:119

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 18 (locality)
Finding f4

security

fs::metadata` follows directory symlinks, allowing recursive collection and deletion of files outside the blob root through a symlinked directory

security
Category: security Confidence: Not recorded

services/proxy/src/sweep.rs:164

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 4 (locality)
Finding f5

bug

The admin route calls `sweep` directly instead of locked `run`, so concurrent manual and scheduled sweeps bypass the one-at-a-time guarantee and can over-evict

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 f6

bug

A failed blob deletion is still counted as removed and added to `gone`, so `forget` can delete index entries for a blob that remains present

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:126

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 2 (locality)
Finding f7

bug

Sorting age ascending processes the newest eligible blobs first, evicting recent entries instead of 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 f8

bug

Sweep metric values are reversed relative to `COUNTERS`, exposing reclaimed bytes as blob count and blob count as reclaimed bytes

bug
Category: bug Confidence: Not recorded

services/proxy/src/metrics.rs:94

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 13 (locality)
Finding f9

performance

The complete synchronous filesystem walk runs on a Tokio worker thread, blocking request processing for the duration of large sweeps, especially on single-vCPU deployments

performance
Category: performance Confidence: Not recorded

services/proxy/src/sweep.rs:84

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 11 (locality)
Finding f10

bug

tokio::time::interval` has an immediately-ready first tick, so the proxy sweeps at startup rather than after the configured interval

bug
Category: bug Confidence: Not recorded

services/proxy/src/main.rs:108

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 7 (locality)
Finding f11

bug

Using `remaining >= max_bytes` evicts a blob when the store is exactly at its permitted ceiling, unnecessarily taking it below the configured limit

bug
Category: bug Confidence: Not recorded

services/proxy/src/sweep.rs:120

Evidence quote

Not recorded

Suggested fix

Not recorded

matchedDefect 3 (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 ·