Skip to content

fix(justfile): repair five recipes that fail on a fresh clone - #639

Merged
ian-flores merged 1 commit into
mainfrom
justfile-dead-recipes
Sep 8, 2026
Merged

fix(justfile): repair five recipes that fail on a fresh clone#639
ian-flores merged 1 commit into
mainfrom
justfile-dead-recipes

Conversation

@ian-flores

Copy link
Copy Markdown
Collaborator

Closes #638

test, test-product and report pointed at tests/, which has been untracked since the product suite moved into src/vip_tests/; they collected nothing and exited 5. coverage and typecheck called pytest --cov and mypy, which live in the dev extra that a bare uv sync does not install.

Points the three at src/vip_tests/ and adds --extra dev to the two, with a comment on each saying why the flag is load-bearing.

Also corrects the docs an agent is told to trust. AGENTS.md gave ruff paths that omit docker/ while itself listing "forgetting examples/" as a common mistake, and docs/development.md gave paths omitting docker/, selftests/ and examples/, plus mypy src/ where CI runs mypy src/vip/.

Drops the instruction never to pass -p no:randomly. pytest-randomly is not in pyproject.toml, has no match in uv.lock, is not importable, and git log -S pytest-randomly -- pyproject.toml returns nothing, so it was never a declared dependency and CI does not run selftests randomized. The neighbouring warning about importing a pytest-bdd step module is a real hazard and is kept, with its cause reattributed to xdist redistribution rather than a plugin that is not installed.

Testing

Every touched recipe was run on a worktree synced with a bare uv sync, which is what just setup does:

  • just typecheckSuccess: no issues found in 35 source files (was Failed to spawn: mypy)
  • just coverage1904 passed, 3 skipped, TOTAL ... 75% (was unrecognized arguments: --cov=src/vip)
  • just test --collect-only -q -n0 — collects 139 (was no tests collected)
  • just test-product connect — collects 21 against a config with Connect enabled. With no vip.toml present it exits 5 because every scenario is deselected for a disabled product; vip.toml is untracked, so that is expected on a fresh clone and is not changed by this PR.

1904 selftests pass. ruff 0.15.0 — CI's exact pin — passes both check and format --check on CI's exact paths.

Deliberately out of scope

just lint and friends resolve ruff from PATH rather than from the project. On one developer machine that is a global ruff 0.15.5, while CI pins exactly 0.15.0 and the dev extra's ruff>=0.15.0,<0.17 resolves 0.16.4 — three versions, so just check can disagree with CI either way. Routing those recipes through --extra dev would widen the gap rather than close it, and pinning the extra to 0.15.0 means a relock, so it is left for a separate decision. Recorded in #638.

test, test-product and report pointed at tests/, which has been untracked since the product suite moved into src/vip_tests/; they collected nothing and exited 5. coverage and typecheck called pytest --cov and mypy, which live in the dev extra that a bare uv sync does not install.

Points the three at src/vip_tests/ and adds --extra dev to the two, with a comment on each saying why the flag is load-bearing.

Also corrects the docs an agent is told to trust. AGENTS.md gave ruff paths that omit docker/ while listing "forgetting examples/" as a common mistake, and docs/development.md gave paths omitting docker/, selftests/ and examples/ plus mypy src/ where CI runs mypy src/vip/.

Drops the instruction never to pass -p no:randomly. pytest-randomly is not in pyproject.toml, has no match in uv.lock, is not importable, and git log -S shows it was never a declared dependency, so CI does not run selftests randomized. The neighbouring warning about importing a pytest-bdd step module is a real hazard and is kept, with the cause reattributed to xdist redistribution.

Closes #638
Copilot AI lite review requested due to automatic review settings September 8, 2026 16:26

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.

🟢 Approval recommended

The changes are straightforward, consistent with the repo’s current structure/markers, and fix confirmed fresh-clone workflow failures without introducing behavioral risk to the test suite itself.

Pull request overview

Repairs developer-facing just recipes and accompanying docs so common workflows work on a fresh clone with only a plain uv sync, aligning local commands with the repo’s current test layout (src/vip_tests/) and CI’s tooling expectations.

Changes:

  • Fixes test, test-product, and report recipes to target src/vip_tests/ instead of the removed tests/ path.
  • Updates typecheck and coverage recipes to use uv run --extra dev (required for mypy and pytest-cov on a bare uv sync).
  • Corrects developer documentation (docs/development.md, AGENTS.md) to reflect the correct ruff paths and mypy invocation scope.
File summaries
File Description
justfile Repairs broken recipes by pointing pytest at src/vip_tests/ and ensuring mypy/pytest-cov are available via --extra dev.
docs/development.md Updates “run ruff directly” paths and documents the correct mypy src/vip/ invocation with --extra dev.
AGENTS.md Fixes ruff path guidance (including docker/) and removes references to pytest-randomly behavior that doesn’t match declared deps.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ian-flores
ian-flores marked this pull request as ready for review September 8, 2026 17:49
@ian-flores
ian-flores merged commit 0acd074 into main Sep 8, 2026
31 checks passed
@ian-flores
ian-flores deleted the justfile-dead-recipes branch September 8, 2026 17:49
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.

[Bug] just test, test-product, report, coverage and typecheck all fail on a fresh clone

2 participants