Found while driving pr-af-go (v0.1.0) through the control plane on macOS, reviewing a valid git-generated diff_text (no repo_path) that introduces a textbook data race (map read/write moved outside the mutex in pkg/ratelimit/ratelimit.go).
Observed: the review phase correctly derived the obligation — "bucket, ok := l.buckets[key] (map read without lock)" — but the Consistency Verifier then searched for pkg/ratelimit/ratelimit.go in the agent's own working directory (evidence text: "Repository structure shows only: internal/, cmd/, test/, bin/, scripts/" — i.e. ~/.agentfield/packages/pr-af-go), concluded the file doesn't exist, emitted a single critical meta-finding "Referenced code location does not exist" (empty summary), and the real data-race finding was dropped. Final result: 1 bogus finding, 0 real ones, after 27 min / 20 invocations.
Expected: when the input is diff_text with no repo_path, repo-grounded verification steps must either be skipped (verify against the diff text itself) or the diff materialized into a temp workspace first. The current behavior systematically strangles correct findings on the exact input mode the API advertises.
🤖 Generated with Claude Code
Found while driving pr-af-go (v0.1.0) through the control plane on macOS, reviewing a valid git-generated
diff_text(norepo_path) that introduces a textbook data race (map read/write moved outside the mutex inpkg/ratelimit/ratelimit.go).Observed: the review phase correctly derived the obligation — "
bucket, ok := l.buckets[key](map read without lock)" — but the Consistency Verifier then searched forpkg/ratelimit/ratelimit.goin the agent's own working directory (evidence text: "Repository structure shows only: internal/, cmd/, test/, bin/, scripts/" — i.e. ~/.agentfield/packages/pr-af-go), concluded the file doesn't exist, emitted a singlecriticalmeta-finding "Referenced code location does not exist" (empty summary), and the real data-race finding was dropped. Final result: 1 bogus finding, 0 real ones, after 27 min / 20 invocations.Expected: when the input is
diff_textwith norepo_path, repo-grounded verification steps must either be skipped (verify against the diff text itself) or the diff materialized into a temp workspace first. The current behavior systematically strangles correct findings on the exact input mode the API advertises.🤖 Generated with Claude Code