Skip to content

test: pin three checks the reviews of #71, #153 and #105 found unpinned - #198

Merged
antonwolfy merged 1 commit into
intel:mainfrom
antonwolfy:test/review-leftover-gaps
Oct 23, 2026
Merged

antonwolfy merged 1 commit into
intel:mainfrom
antonwolfy:test/review-leftover-gaps

Conversation

@antonwolfy

Copy link
Copy Markdown
Contributor

Summary

Three test gaps from the reviews of #71, #153 and #105: in each, a mutant of the new code passed the full suite. The authors fixed the rest of each thread; these parts were left. Only tests change.

Changes

Risk

None: tests only. No changelog fragment, since nothing under dokimi/dokimi/ changes.

Testing

On a Linux review host, at 8fc3cce (on main 506f7ba):

  • make ci-local: 29 passed, 0 failed, 7 skipped (the Docker catalog smoke, test-latest, the cli-surface packaging step, conda-forge-deps without micromamba, docs deploy, the pip-audit report, semgrep). 7,384 tests passed, 1 skipped.
  • Each new test kills its mutant:
    • if False: for the escape check: 1 failed in test_repo_budget.py;
    • if uptake_of[0]: and if uptake_of[1]:: 1 failed each in test_repo_uptake.py;
    • description="": 1 failed in test_novelty_routing.py.
  • Rebased onto main 92d92d3 (test(llm): pin provider-call budgets for judge, panel, answer and validation paths #170, tests only) before opening; with the ten follow-up branches merged together, the full suite (7,447 passed, 1 skipped), the growth check, mypy and ruff pass.

Checklist

  • Tests added/updated and pytest passes
  • ruff, mypy, and schema checks pass
  • Docs updated (or N/A) — see the docs-drift checklist in CONTRIBUTING.md
  • No ad-hoc run artifacts committed
  • New files carry the SPDX license header (or are exempt in .github/.licenserc.yaml)

… found unpinned

- intel#71: `GitTree.resolve` refuses a path that climbs out of the tree after
  a directory link (`docs -> real`, then `docs/../../x.md`). With that
  check disabled, the read failed later as "links to nothing" and the
  suite passed.
- intel#153: a patch that adds only an MCP server, or only a file an agent can
  use, still gets an `uptake` record. Gating `uptake` on the files alone,
  or on the servers alone, passed the suite.
- intel#105: the catalog's competitor cards keep their descriptions. Building
  them with `description=""` passed the suite.

Signed-off-by: Anton Volkov <antonwolfy@gmail.com>
@vchamarthi

Copy link
Copy Markdown
Contributor

@exai-bot /review

@exai-bot exai-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.

Note

AI-generated review of c0b5b46c63c4, requested by @vchamarthi, using the default review skill. It can be wrong: verify a finding before acting on it. React with a thumbs up or down on a finding to tell the bot whether it helped.
Model us.anthropic.claude-sonnet-5-5, effort default, 9 of 80 turns, 0.6 of 40 minutes, 269k in / 3k out tokens.

Tests-only change that pins three previously unpinned checks: the second escape check in GitTree.resolve, repo run uptake for a patch with only a server or only a file, and the description kept on catalog_competitors cards. I found no defects. I traced the escape-check test by hand through source.py: docs/../../x.md goes through docs -> real to ../x.md, so it trips the check at line 230. With that check removed it would fail later as links to nothing, as the description says. The two halves of KIT_PATCH are sliced cleanly. FAKE_TOOL_USES is read by the fixture in the [name, input] form the new parametrization uses. test_repo_budget.py is still under the 1000-line test cap.

No issues found.

Not verified

I could not run the tests or the mutants. The claim that each new test kills its mutant rests on reading the code and the author's stated runs. I did not read the uptake gating code in repo_run, so the two uptake mutants are unchecked.

@vchamarthi vchamarthi 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.

**No blockers ** CI at the head is not green (0 failing, 18 pending).

No defects found; the three new tests each reach the check they pin. Traced at c0b5b46: docs/../../x.md with docs -> real normalizes to ../x.md after the hop and raises at the second escape check in GitTree.resolve (_norm keeps .., so the first check cannot catch it); SERVER_ONLY_PATCH and FILE_ONLY_PATCH each make one element of uptake_of empty, so any(uptake_of) in repos/runner.py:231 is the only gate both cases pass through; catalog_competitors builds Candidate(name=s.name, description=s.description), which the tuple assertion now checks.

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.78%. Comparing base (92d92d3) to head (c0b5b46).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #198   +/-   ##
=======================================
  Coverage   91.78%   91.78%           
=======================================
  Files         223      223           
  Lines       27623    27623           
  Branches     4549     4549           
=======================================
  Hits        25354    25354           
- Misses       1606     1607    +1     
+ Partials      663      662    -1     

see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@antonwolfy
antonwolfy merged commit fd154fb into intel:main Oct 23, 2026
24 checks passed
@antonwolfy
antonwolfy deleted the test/review-leftover-gaps branch October 23, 2026 16:38
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.

4 participants