Skip to content

MIT-618: one more verified GitHub task (second batch) - #165

Merged
ZachFara merged 4 commits into
feature/eval-setupfrom
feat/MIT-618-batch2
Nov 8, 2026
Merged

ZachFara merged 4 commits into
feature/eval-setupfrom
feat/MIT-618-batch2

Conversation

@ZachFara

@ZachFara ZachFara commented Nov 8, 2026 •

Copy link
Copy Markdown
Owner

What changed

tools/eval/github_tasks.py gets 1 more verified GitHub task, for 4 in all. That is short of the 10 asked for. I stopped adding tasks rather than lower the bar. The record follows the existing style: a source comment citing the issue, the fix and the upstream release notes; EXCLUDE_NEWER in the setup; and the same tests() helper.

Task Repo (license) Upstream release upstream_change
gh-pydantic-settings-signature pydantic/pydantic-settings (MIT) pydantic 2.14.0, 2026-10-08 pydantic-2.14-field-name-for-signature
  • Pairs: 0. The new key has one task. I found no second repo hit by the same change that met the bar (see the rejected candidates).
  • Timing: the release came out after the June 2026 cutoff, and the upstream change (Use the field name in __signature__ when validate_by_alias isFalse pydantic/pydantic#13730) merged on 2026-08-29. Issue #1023 was opened 2026-10-09, and its fix #1029 was squash-merged 2026-10-13.
  • Squash merge: base_commit is the parent of the squash commit (10dc635).
  • Previous version: the base passes on pydantic 2.13.5 and fails on 2.14.0, so the release causes the break.
  • Not a hard-set task under decision 0023. The TypeError names the missing validate_by_alias argument, which points at a fix, and the record's comment says so.
  • Install size: about 16 MB.

Base failing output (containerized, -v) and cause-word check

  • Test: tests/test_source_cli.py::test_cli_app_run_base_model_validate_by_name_only. The traceback ends in CliApp.run (pydantic_settings/main.py:883):
    E TypeError: _field_name_for_signature() missing 1 required positional argument: 'validate_by_alias'
  • Cause words: 2.14, added a required, new required. Not private or signature: the traceback ends in pydantic/_internal/_signature.py, so a fix that only describes the symptom would say them (the same rule as tekore's _missing_).
  • Checked, lowercased and as substrings, against:
    • the whole captured base output;
    • the whole laid-over test file at the fix sha (5,201 lines);
    • the symptom words, in both directions;
    • the function names run, _init_kwarg_name and _field_name_for_signature.
  • No hits.
  • The PR's other new test (test_cli_app_run_base_model_aliases) is left out: it fails at the base on any pydantic version, because a non-identifier alias never worked.

Leak review of the laid-over test

I read every comment, docstring and test name in tests/test_source_cli.py at the fix sha, plus the fix's whole diff. The new tests have no docstrings or comments. None of the file's 179 test names or its comments mention pydantic versions, signatures or private helpers.

Rejected candidates

Why

Ticket: MIT-618 (second batch), the GitHub-task eval. These are real post-cutoff tasks for the arms run.

How it was tested

  • The task was checked with a helper that calls tools/eval/repos.py and tools/eval/container.py directly, the same steps agent_eval.py check runs:
    • it materialized the base plus the fix's test file, and the fix tree;
    • it ran setup, pins and tests in throwaway containers, one at a time;
    • it kept the verbose output.
  • Result: fails before, passes after, and the base passes on pydantic 2.13.5. No --on-host was used, and no containers were left behind.
  • server/tests/test_eval_repos.py and test_eval_grader.py pass.
  • make check passes.

Learned

  • Before verifying a candidate, ask whether its fix was answered before the cutoff, not only whether the release came after it. A deprecation that becomes a hard error (polars pl.count()) fails that test even when the release is new.
  • Polars 2.0's _polars_runtime_32 is 169 MB installed, so every polars 2.0 task lands near or over the 200 MB install guideline.
  • cause_words like "2.0" match ordinary float data ("21002.0") and timestamps. Check them against the full captured output.
  • Most polars 2.0 join-order fixes (six seen) either add no test or have a test docstring that states the cause. Finding a pair there probably means reading the fix diffs, not searching titles.
  • gh search prs with a bare version string such as "polars 2" matches unrelated PRs numbered 2.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Qc1CQTb8r67J32HpkhS43y

@ZachFara ZachFara changed the title MIT-618: two more verified GitHub tasks (second batch) MIT-618: one more verified GitHub task (second batch) Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant