test(#245): add 001-basic-comments review eval case - #431
Conversation
|
🤖 Finished Review · ✅ Success · Started 10:31 AM UTC · Completed 10:41 AM UTC |
ReviewFindingsMedium
Low
Previous runReviewFindingsHigh
Medium
Low
Previous run (2)ReviewFindingsLow
Previous run (3)ReviewFindingsLow
Labels: PR adds review agent eval test case infrastructure under eval/review/cases/ |
25a2050 to
e65fe01
Compare
|
🤖 Finished Review · ✅ Success · Started 10:45 AM UTC · Completed 10:55 AM UTC |
|
🤖 Review · |
|
🤖 Finished Review · ✅ Success · Started 11:25 AM UTC · Completed 11:41 AM UTC |
Simple review eval case with a PR that has two obvious bugs (resource leak and SQL injection). Validates that the review agent posts comments identifying them. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Hector Martinez <hemartin@redhat.com>
run-fullsend.sh hardcoded REVIEW_TOKEN=GH_TOKEN, causing GitHub to reject REQUEST_CHANGES reviews with 422 (same identity as PR author). Now mints a separate token via `fullsend mint token --role review` when FULLSEND_MINT_URL is set, falling back to GH_TOKEN otherwise. Also bumps 001-basic-comments limits (40 turns, $5.00) to accommodate sub-agent retries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Hector Martinez <hemartin@redhat.com>
FULLSEND_MINT_URL in the environment causes fullsend run to attempt its own internal mint for the review role, which fails with 401 because the eval org lacks enrolled roles. Hardcode the mint URL in run-fullsend.sh (used only to mint REVIEW_TOKEN), then unset FULLSEND_MINT_URL before calling fullsend run so it falls back to the token from the env file. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Hector Martinez <hemartin@redhat.com>
Signed-off-by: Hector Martinez <hemartin@redhat.com>
d7143b9 to
09b94d9
Compare
|
🤖 Finished Review · ✅ Success · Started 8:12 AM UTC · Completed 8:29 AM UTC |
Superseded by updated review
| EVAL_MINT_URL="${FULLSEND_MINT_URL:-https://fullsend-mint-gljhbkcloq-uc.a.run.app}" | ||
| if [[ "$FIXTURE_TYPE" == "pull_request" && "$AGENT" == "review" ]]; then | ||
| REPO_NAME="${EPHEMERAL_REPO#*/}" | ||
| if ! REVIEW_TOKEN=$(fullsend mint token --role review --repos "$REPO_NAME" \ |
There was a problem hiding this comment.
[medium] error-handling
The mint command captures both stdout and stderr into REVIEW_TOKEN via 2>&1. On the success path, if fullsend mint token writes any diagnostic or warning text to stderr while still exiting 0, the captured output will contain non-token text, producing an invalid REVIEW_TOKEN that silently causes authentication failures downstream.
Suggested fix: Capture stderr to a temporary file or /dev/null on the success path, so REVIEW_TOKEN receives only stdout.
| REPO_NAME="${EPHEMERAL_REPO#*/}" | ||
| if ! REVIEW_TOKEN=$(fullsend mint token --role review --repos "$REPO_NAME" \ | ||
| --mint-url "$EVAL_MINT_URL" 2>&1); then | ||
| echo "ERROR: mint failed for REVIEW_TOKEN (review agent cannot use GH_TOKEN — GitHub rejects REQUEST_CHANGES on your own PR): $REVIEW_TOKEN" >&2 |
There was a problem hiding this comment.
[low] secrets-handling
On mint failure, the combined stdout+stderr of fullsend mint token is logged to stderr via echo. While this is error output (not a valid token), the output could contain partial tokens or internal service details that appear in CI logs.
Suggested fix: Consider redacting or truncating the captured output in the error message.
|
|
||
| # Mint a separate REVIEW_TOKEN so the reviewer identity differs from the | ||
| # PR author (GitHub rejects REQUEST_CHANGES on your own PR). | ||
| EVAL_MINT_URL="${FULLSEND_MINT_URL:-https://fullsend-mint-gljhbkcloq-uc.a.run.app}" |
There was a problem hiding this comment.
[low] undocumented-dependency
The script introduces a dependency on FULLSEND_MINT_URL (with a hardcoded default) and calls fullsend mint token --role review, but eval/README.md does not document this variable or explain when/where the mint service is available.
Suggested fix: Add FULLSEND_MINT_URL to the environment variables documentation in eval/README.md.
Summary
001-basic-commentsundereval/review/cases/-- a simple review eval case with a PR containing a resource leak (open()without context manager) and SQL injection (f-string in query). Validates the review agent posts comments identifying both.Closes #245 (partially; does not address the
REVIEW_TOKENidentity blocker yet).Test plan
🤖 Generated with Claude Code