Skip to content

feat(llm): preflight model pilot candidates - #2769

Merged
stranske merged 16 commits into
mainfrom
codex/issue-2768-calibrate-pilot-inputs
Jul 13, 2026
Merged

feat(llm): preflight model pilot candidates#2769
stranske merged 16 commits into
mainfrom
codex/issue-2768-calibrate-pilot-inputs

Conversation

@stranske

@stranske stranske commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Source: Issue #2768

Closes #2768

Automated Status Summary

Scope

Scope section missing from source issue.

Context for Agent

Related Issues/PRs

Tasks

  • Enrich each case input with the linked source issue body, acceptance checklist, and durable verifier/disposition context instead of PR body/diff alone.
  • Re-adjudicate and rebalance the frozen screening corpus. The current labels are 26 PASS / 4 NON_PASS and 19/30 cases are clean-pass.
  • Add a candidate preflight using one representative case before the full run.
  • Replace or repair GitHub Models codex-mini-latest; run 29221999718 returned 404 for all 30 rows.
  • Resolve the six 401 insufficient-permission rows for each gpt-5.6 candidate, or remove those candidates from the API benchmark until their access path is stable.
  • Require fully paired, schema-valid rows for every candidate before computing comparisons.
  • Rerun the 30-case pilot and attach a durable, category-level report.

Acceptance criteria

  • Every candidate has the same complete set of schema-valid case IDs.
  • No candidate has auth, permission, model-not-found, or endpoint errors.
  • Corpus class/category distribution is documented and defensible.
  • The rerun report includes agreement, false-pass, false-fail, schema-error, and latency by category.
  • A recorded decision explicitly either narrows candidates for the 75-case approval benchmark or retains incumbents with evidence.
  • No runtime selection or consumer migration occurs before a candidate passes the documented approval stage.

Summary by CodeRabbit

  • New Features
    • Added a preflight stage that runs first, emits a separate preflight JSON report, and stops early if candidates produce no schema-valid results for the expected cases.
    • Enhanced PR context using explicitly linked source issues, with bounded/truncated text and prompt-injection guarding.
    • Added an aggregated pilot summary including latency and per-category agreement/false pass-fail details.
  • Bug Fixes
    • Improved evaluation consistency by caching corpus case fetch results and reusing them across all provider/model candidates.
  • Tests
    • Expanded coverage for context enrichment, preflight selection, deduped linked issue extraction, summary aggregation, and graceful handling of malformed input.
  • Chores
    • Updated the pilot workflow to upload the new preflight artifact and include a category report in the summarized JSON.

@stranske stranske added agent:codex Agent-created issues from Codex agents:keepalive Use to initiate keepalive functionality with agents autofix Opt-in automated formatting & lint remediation labels Jul 13, 2026
Copilot AI review requested due to automatic review settings July 13, 2026 05:07
@stranske
stranske temporarily deployed to agent-standard July 13, 2026 05:07 — with GitHub Actions Inactive
@stranske
stranske temporarily deployed to agent-standard July 13, 2026 05:08 — with GitHub Actions Inactive
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The pilot enriches verifier inputs with linked issue context, caches case fetches across candidates, runs candidate preflight validation, aggregates category-level results, and publishes full-run and preflight reports.

Changes

Model evaluation pilot calibration

Layer / File(s) Summary
Enrich verifier input context
tools/run_model_eval_pilot.py, tests/tools/test_run_model_eval_pilot.py
PR context now includes linked source issues and verifier/disposition comments, with guarded and bounded text plus coverage for these behaviors.
Reuse fetched corpus cases
tools/run_model_eval_pilot.py, tests/tools/test_run_model_eval_pilot.py
Case fetches are cached once per case and reused across candidates, including cached failures.
Add preflight and result summaries
tools/run_model_eval_pilot.py, tests/tools/test_run_model_eval_pilot.py
Results include category-level agreement metrics and latency; preflight evaluates one case per candidate and blocks the full run when schema-valid coverage is incomplete.
Publish pilot reports
.github/workflows/maint-78-model-evaluation-pilot.yml
The workflow displays category_report and uploads pilot-preflight.json alongside the full pilot results.
Update execution metadata
langsmith-fleet-worker-attempt.json
The recorded timestamp and pull request number are updated, while selected model and selection reason are cleared.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant run_preflight
  participant run_pilot
  participant GitHub
  participant evaluator
  CLI->>run_preflight: execute representative case
  run_preflight->>run_pilot: run reduced corpus
  run_pilot->>GitHub: fetch and cache PR context
  run_pilot->>evaluator: evaluate candidate
  evaluator-->>run_pilot: return result row
  run_pilot-->>run_preflight: return preflight report
  CLI->>run_pilot: execute full corpus after validation
Loading

Suggested labels: needs-human

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR adds preflight, context enrichment, and reporting, but the corpus rebalance and broken-candidate repair/removal requirements are not evidenced. Add the corpus rebalance and either repair or remove broken candidates, then rerun the pilot with all required schema-valid rows and category metrics.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed The changes stay focused on the pilot workflow, its tests, and related workflow metadata.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely captures the main change: adding preflight checks for model pilot candidates.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/issue-2768-calibrate-pilot-inputs

Comment @coderabbitai help to get the list of available commands.

@stranske-keepalive

stranske-keepalive Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

🤖 Keepalive Loop Status

PR #2769 | Agent: Codex | Iteration 0/12

Current State

Metric Value
Iteration progress [----------] 0/12
Action run (agent-run-failed)
Agent status ❌ AGENT FAILED
Gate success
Tasks 9/13 complete
Timeout 45 min (default)
Timeout usage 13m elapsed (29%, 32m remaining)
Keepalive ✅ enabled
Autofix ❌ disabled

Last Codex Run

Result Value
Status ❌ AGENT FAILED
Reason agent-run-failed
Exit code unknown
Failures 1/3 before pause

To retry immediately:

  • Add the agent:retry label to this PR

Or wait for the next successful Gate run to automatically retry.

🔍 Failure Classification

| Error type | infrastructure |
| Error category | transient |
| Suggested recovery | Capture logs and context; retry once and escalate if the issue persists. |

⚠️ Failure Tracking

| Consecutive failures | 1/3 |
| Reason | agent-run-failed |

@stranske
stranske temporarily deployed to agent-high-privilege July 13, 2026 05:08 — with GitHub Actions Inactive
@stranske-keepalive

stranske-keepalive Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor
Keepalive Work Log (click to expand)
# Time (UTC) Agent Action Result Files Tasks Progress Commit Gate
0 2026-07-13 05:08:31 Codex wait (gate-pending-transient) skipped 0 0/13
0 2026-07-13 05:09:14 Codex run (agent-run-skipped) skipped 0 0/13 cancelled
0 2026-07-13 05:16:19 Codex run (agent-run-failed) failure 4 file(s) 0 0/13 5f0d572 cancelled
0 2026-07-13 05:20:07 Codex run (agent-run-failed) failure 4 file(s) 0 0/13 2a1f1ff cancelled
0 2026-07-13 05:26:16 Codex run (agent-run-failed-repeat) failure 4 file(s) 0 0/13 b420b2c cancelled
0 2026-07-13 05:26:52 Codex skip (needs-human) skipped 0 0/13
0 2026-07-13 05:27:34 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 05:28:11 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 05:33:52 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 05:37:28 Codex skip (needs-human) skipped 0 0/13 success
0 2026-07-13 06:09:05 Codex run (agent-run-failed-repeat) retry failure 4 file(s) 0 0/13 dad5c0e
0 2026-07-13 06:09:49 Codex skip (needs-human) skipped 0 0/13
0 2026-07-13 06:10:25 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 06:11:06 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 06:11:46 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 06:15:33 Codex skip (needs-human) skipped 0 0/13 success
0 2026-07-13 06:30:55 Codex run (agent-run-failed-repeat) retry failure 4 file(s) 0 0/13 01b76ac
0 2026-07-13 06:31:31 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 06:32:16 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 06:32:57 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 06:36:02 Codex skip (needs-human) skipped 0 0/13 success
0 2026-07-13 07:09:39 Codex run (agent-run-failed-repeat) retry failure 4 file(s) 0 0/13 6ad874c
0 2026-07-13 07:10:24 Codex skip (needs-human) skipped 0 0/13 success
0 2026-07-13 07:11:05 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 07:15:09 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 07:18:47 Codex skip (needs-human) skipped 0 0/13 success
0 2026-07-13 07:26:56 Codex run (agent-run-failed-repeat) retry failure 4 file(s) 0 0/13 6d1ac92
0 2026-07-13 07:27:34 Codex skip (needs-human) skipped 0 0/13
0 2026-07-13 07:28:14 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 07:28:54 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 07:29:35 Codex skip (needs-human) skipped 0 0/13 cancelled
0 2026-07-13 07:33:26 Codex skip (needs-human) skipped 0 0/13 success
0 2026-07-13 07:34:05 Codex skip (needs-human) retry skipped 0 0/13 success
0 2026-07-13 08:05:12 Codex run (agent-run-failed-repeat) retry failure 4 file(s) +9 9/13 f7ff286
0 2026-07-13 08:05:56 Codex skip (needs-human) skipped 0 9/13
0 2026-07-13 08:06:35 Codex skip (needs-human) skipped 0 9/13 cancelled
0 2026-07-13 08:10:44 Codex skip (needs-human) skipped 0 9/13 success
0 2026-07-13 08:24:16 Codex wait (gate-pending-transient) skipped 0 9/13
0 2026-07-13 08:38:09 Codex run (agent-run-failed) failure 1 file(s) 0 9/13 1ce8c1f success
0 2026-07-13 09:25:05 Codex wait (gate-pending-transient) skipped 0 9/13
0 2026-07-13 09:37:28 Codex run (agent-run-failed) failure 1 file(s) 0 9/13 04d756a success

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Runner dispatch state for codex on PR #2769. Do not edit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the LLM verifier model-evaluation pilot by enriching each case’s prompt with linked source-issue context, adding a one-case-per-candidate preflight stage, and emitting an aggregated category-level summary alongside the raw per-row results.

Changes:

  • Extend fetch_pr() to include linked source issue bodies plus recent verifier/disposition comments in the evaluation context.
  • Add a candidate preflight run and cache per-case GitHub fetches so each case is fetched once across all candidates.
  • Add a summary section to the pilot results and surface it in the workflow step summary; upload the preflight artifact.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
tools/run_model_eval_pilot.py Adds linked-issue context enrichment, preflight stage, per-case fetch caching, and a computed summary in the pilot output.
tests/tools/test_run_model_eval_pilot.py Adds coverage for linked-issue context enrichment, preflight behavior, fetch caching, and summary aggregation.
.github/workflows/maint-78-model-evaluation-pilot.yml Updates the run summary to include the new summary payload and uploads the preflight artifact.

Comment thread tools/run_model_eval_pilot.py
Comment thread tools/run_model_eval_pilot.py
@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege July 13, 2026 05:13 Inactive

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 91912fa77c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tools/run_model_eval_pilot.py Outdated
@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege July 13, 2026 05:17 Inactive

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/maint-78-model-evaluation-pilot.yml (1)

33-38: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Preflight failure diagnostics aren't surfaced when the full pilot never runs.

When preflight fails (main() returns 1 before pilot-results.json exists), the summary falls back to a generic message even though pilot-preflight.json (with the specific unusable candidates) is already on disk at that point. Surfacing it here would speed up triage.

💡 Fall back to the preflight report when the full-run artifact is missing
           if [ ! -f pilot-results.json ]; then
             echo '## Verifier model pilot' >> "$GITHUB_STEP_SUMMARY"
-            echo 'The pilot failed before producing a results artifact; inspect the run step.' \
-              >> "$GITHUB_STEP_SUMMARY"
+            if [ -f pilot-preflight.json ]; then
+              echo 'Preflight failed before the full pilot ran:' >> "$GITHUB_STEP_SUMMARY"
+              echo '```json' >> "$GITHUB_STEP_SUMMARY"
+              jq '{schema, candidates: .summary.candidates}' pilot-preflight.json \
+                >> "$GITHUB_STEP_SUMMARY"
+              echo '```' >> "$GITHUB_STEP_SUMMARY"
+            else
+              echo 'The pilot failed before producing a results artifact; inspect the run step.' \
+                >> "$GITHUB_STEP_SUMMARY"
+            fi
             exit 0
           fi
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/maint-78-model-evaluation-pilot.yml around lines 33 - 38,
Update the pilot-results.json fallback block in the workflow to check for
pilot-preflight.json when the full-run artifact is missing. If present, append a
fenced JSON summary containing its schema and summary.candidates to
GITHUB_STEP_SUMMARY; otherwise retain the existing generic failure message, then
exit successfully.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/tools/test_run_model_eval_pilot.py`:
- Around line 101-124: Add a negative-path test alongside
test_fetch_pr_includes_linked_source_issue_context that makes fetch_issue or
fetch_issue_comments raise, then assert fetch_pr still returns the PR context
and diff without propagating the enrichment failure. Use the existing
pilot.api_client mocks and verify the linked-issue enrichment is omitted or
safely degraded while the core PR result remains available.

In `@tools/run_model_eval_pilot.py`:
- Around line 225-239: Wrap the run_preflight call in main() with a ValueError
handler so empty or malformed corpus validation failures are reported cleanly to
stderr and main() returns 1, matching the existing token and preflight failure
behavior. Keep successful preflight processing and unusable-candidate handling
unchanged.
- Around line 21-29: Update _linked_issue_numbers to recognize relationship
phrases such as “closes,” “fixes,” “resolves,” and “related to” when they appear
inline, while preserving case-insensitive matching, deduplication order, and
exclusion of pr_number. Add focused tests covering duplicate references and
self-references, including inline occurrences, rather than relying only on
test_fetch_pr_includes_linked_source_issue_context.
- Around line 37-46: Update the linked-issue loop around _linked_issue_numbers
and api_client.fetch_issue so each issue fetch and its related comment retrieval
are wrapped in a narrow try/except. On fetch, API-shape, or comment errors, skip
that issue and continue processing the remaining linked issues, while preserving
disposition_comments behavior for successful issues.
- Around line 39-72: Limit and sanitize linked source-issue bodies and
disposition comments before appending them to source_issues and context in the
model-evaluation flow. Apply a bounded length to each issue body/comment and
enforce an overall linked-issue context budget, preserving the existing issue
metadata while preventing attacker-controlled threads from dominating the
verifier prompt.

---

Outside diff comments:
In @.github/workflows/maint-78-model-evaluation-pilot.yml:
- Around line 33-38: Update the pilot-results.json fallback block in the
workflow to check for pilot-preflight.json when the full-run artifact is
missing. If present, append a fenced JSON summary containing its schema and
summary.candidates to GITHUB_STEP_SUMMARY; otherwise retain the existing generic
failure message, then exit successfully.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5b6005ef-b684-4293-82f0-f317cecdd6bb

📥 Commits

Reviewing files that changed from the base of the PR and between 5e14605 and 91912fa.

📒 Files selected for processing (3)
  • .github/workflows/maint-78-model-evaluation-pilot.yml
  • tests/tools/test_run_model_eval_pilot.py
  • tools/run_model_eval_pilot.py

Comment thread tests/tools/test_run_model_eval_pilot.py
Comment thread tools/run_model_eval_pilot.py
Comment thread tools/run_model_eval_pilot.py Outdated
Comment thread tools/run_model_eval_pilot.py Outdated
Comment thread tools/run_model_eval_pilot.py Outdated
@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege July 13, 2026 05:21 Inactive
@agents-workflows-bot

agents-workflows-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

🤖 Bot Comment Handler

  • Agent: codex
  • Bot comments to address: 9

The agent has been assigned to this PR to address the bot review comments.

Instructions for agent

  1. Implement suggested fixes that improve the code
  2. Skip suggestions that don't apply (note why in your response)

The bot comment handler workflow has prepared context in the artifacts.

@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege July 13, 2026 05:26 Inactive
@stranske-keepalive stranske-keepalive Bot added agent:needs-attention Agent needs human review or intervention needs-human Requires human intervention or review labels Jul 13, 2026
@stranske-keepalive
stranske-keepalive Bot temporarily deployed to agent-high-privilege July 13, 2026 05:27 Inactive
@stranske
stranske temporarily deployed to agent-high-privilege July 13, 2026 06:29 — with GitHub Actions Inactive
@agents-workflows-bot agents-workflows-bot Bot added agent:needs-attention Agent needs human review or intervention needs-human Requires human intervention or review labels Jul 13, 2026
@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege July 13, 2026 06:31 Inactive

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
tools/run_model_eval_pilot.py (2)

282-296: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Error message text no longer matches the failure condition it reports.

unusable_candidates now flags candidates missing schema-valid rows for some expected cases, not necessarily "no schema-valid rows" (a candidate could be 29/30 valid and still trip this). The stderr message on both failure paths still says "produced no schema-valid rows," which will mislead whoever triages a CI failure.

✏️ Align wording with actual semantics
-            "pilot preflight error: candidates produced no schema-valid rows: "
+            "pilot preflight error: candidates missing schema-valid rows for one or more corpus cases: "
             + ", ".join(unusable),
             file=sys.stderr,
         )
         return 1
     payload = run_pilot(corpus, candidates, token=token)
     args.output.write_text(json.dumps(payload, indent=2) + "\n")
     unusable = unusable_candidates(payload)
     if unusable:
         print(
-            "pilot error: candidates produced no schema-valid rows: " + ", ".join(unusable),
+            "pilot error: candidates missing schema-valid rows for one or more corpus cases: "
+            + ", ".join(unusable),
             file=sys.stderr,
         )
         return 1
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tools/run_model_eval_pilot.py` around lines 282 - 296, Update both stderr
messages in the preflight and post-run branches of the main evaluation flow to
describe candidates missing schema-valid rows for one or more expected cases,
rather than claiming they produced none. Keep the existing unusable candidate
list and failure handling unchanged.

54-88: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Budget check runs after the network calls it's meant to prevent.

remaining_context <= 0 is only checked after fetch_issue/fetch_issue_comments already ran for that issue. Once the budget is exhausted, every subsequent linked issue still pays for 2 GitHub API calls before being discarded on break.

♻️ Check the budget before fetching
     for issue_number in _linked_issue_numbers(pr_body, pr_number=number):
+        if remaining_context <= 0:
+            break
         try:
             issue = api_client.fetch_issue(repo, issue_number, token)
             ...
         except Exception as exc:
             print(f"pilot: skipping linked issue #{issue_number}: {exc}", file=sys.stderr)
             continue
-        if remaining_context <= 0:
-            break
         source_issues.append(source_issue[:remaining_context])
         remaining_context -= len(source_issues[-1])
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tools/run_model_eval_pilot.py` around lines 54 - 88, Move the
remaining_context <= 0 guard in the linked-issue loop so it executes before
fetch_issue and fetch_issue_comments are called. Keep the existing source_issues
append and budget decrement behavior unchanged for issues fetched while budget
remains.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tools/run_model_eval_pilot.py`:
- Around line 83-84: Update the exception handler in the per-issue processing
flow to emit a diagnostic log containing the failed issue context and exception
details before continuing. Preserve the existing continue behavior so one issue
failure does not stop processing the remaining issues.

---

Outside diff comments:
In `@tools/run_model_eval_pilot.py`:
- Around line 282-296: Update both stderr messages in the preflight and post-run
branches of the main evaluation flow to describe candidates missing schema-valid
rows for one or more expected cases, rather than claiming they produced none.
Keep the existing unusable candidate list and failure handling unchanged.
- Around line 54-88: Move the remaining_context <= 0 guard in the linked-issue
loop so it executes before fetch_issue and fetch_issue_comments are called. Keep
the existing source_issues append and budget decrement behavior unchanged for
issues fetched while budget remains.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 99ec09b1-5abc-463f-b8ea-8da34a7d5140

📥 Commits

Reviewing files that changed from the base of the PR and between 411b30b and 2306e5c.

📒 Files selected for processing (3)
  • langsmith-fleet-worker-attempt.json
  • tests/tools/test_run_model_eval_pilot.py
  • tools/run_model_eval_pilot.py

Comment thread tools/run_model_eval_pilot.py Outdated
@stranske stranske added agent:retry Add to trigger agent retry after rate limit or pause and removed agent:needs-attention Agent needs human review or intervention needs-human Requires human intervention or review labels Jul 13, 2026
@stranske
stranske temporarily deployed to agent-standard July 13, 2026 07:02 — with GitHub Actions Inactive
@stranske
stranske temporarily deployed to agent-high-privilege July 13, 2026 07:03 — with GitHub Actions Inactive
@stranske-keepalive stranske-keepalive Bot removed the agent:retry Add to trigger agent retry after rate limit or pause label Jul 13, 2026
@stranske
stranske temporarily deployed to agent-standard July 13, 2026 07:03 — with GitHub Actions Inactive
@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege July 13, 2026 07:09 Inactive
@stranske-keepalive stranske-keepalive Bot added agent:needs-attention Agent needs human review or intervention needs-human Requires human intervention or review labels Jul 13, 2026
@stranske-keepalive
stranske-keepalive Bot temporarily deployed to agent-high-privilege July 13, 2026 07:10 Inactive
@stranske

Copy link
Copy Markdown
Owner Author

Addressed the remaining CodeRabbit thread in 1c55b31: linked-source failures now emit a bounded diagnostic and the context budget guard runs before additional API calls. Focused pilot tests (13), Ruff, Black check, and diff check pass.

@stranske stranske removed needs-human Requires human intervention or review agent:needs-attention Agent needs human review or intervention labels Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:codex Agent-created issues from Codex agents:keepalive Use to initiate keepalive functionality with agents autofix Opt-in automated formatting & lint remediation verify:compare Compare multiple LLM evaluations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

follow-up(llm): calibrate pilot inputs and candidate availability

3 participants