Skip to content

fix(skills-evals): rename copilot_workspace fixture to workspace - #46

Merged
tsaqib merged 3 commits into
mainfrom
fix/copilot-workspace-fixture
May 29, 2026
Merged

tsaqib merged 3 commits into
mainfrom
fix/copilot-workspace-fixture

Conversation

@tsaqib

@tsaqib tsaqib commented May 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The 3 copilot scenario tests reference a copilot_workspace pytest fixture that does not exist. conftest.py only provides workspace. Every recent copilot eval errors at fixture-setup time before any agent code runs:

fixture 'copilot_workspace' not found
available fixtures: ..., workspace

Reproduces in https://github.com/stackific/stax/actions/runs/26618529351 (the first run after #44 unblocked copilot collection): copilot smoke test PASSES (it builds its own workspace, doesn't use the fixture), then all 3 scenario tests ERROR with the missing-fixture message.

Every other backend's tests (test_claude_*, test_opencode_*, test_pi_*, test_cline_*, test_omp_*) use workspace. Renaming the copilot tests to match unblocks them — the conftest workspace fixture is generic across backends and reads STAX_AGENT_KEY to dispatch any agent-specific setup.

Pre-existing bug; only surfaces now because PR #43 (collection-time SyntaxError/ImportError) and PR #44 (copilot STAX_AGENT_KEY default) masked it earlier.

Verification

Local: STAX_AGENT_KEY=copilot uv run pytest tests/test_copilot_todo.py tests/test_copilot_work_item_extends.py tests/test_copilot_reminders_supersedes_todo.py --collect-only → 3 tests collected, 0 errors.

Pre-push: vet, lint, govulncheck, test, e2e (624 passed) all green.

Test plan

  • workflow_dispatch re-run of skills eval / github copilot cli against this branch — 3 scenario tests reach the agent driver instead of erroring at fixture setup
  • Same for skills eval / github copilot cli (user scope)
  • Local pre-push green

tsaqib added 3 commits May 29, 2026 00:49
The 3 copilot scenario tests (test_copilot_todo,
test_copilot_work_item_extends, test_copilot_reminders_supersedes_todo)
referenced a `copilot_workspace` pytest fixture that does not exist in
conftest.py. The conftest only provides `workspace`. Every recent
copilot eval errored at fixture-setup time with:

  fixture 'copilot_workspace' not found
  available fixtures: ..., workspace

The copilot smoke test passes because it builds its own workspace
directly without the fixture. The three scenario tests must use the
same conftest-provided `workspace` fixture every other backend's tests
use.

Verified locally with --collect-only against the 3 files: 3 tests
collected, no errors.

Pre-existing bug, surfaces only now because earlier failures
(STAX_AGENT_KEY missing in #44, syntax/import errors in #43) masked
the collection-time error.

Signed-off-by: Tanzim Saqib <[email protected]>
2.1.156 (current @latest) emits a `system`-role message at
messages[1] of the wire payload. DeepSeek's Anthropic-compat
endpoint rejects it with `400 Failed to deserialize the JSON
body into the target type: messages[1].role: unknown variant
'system', expected 'user' or 'assistant'`.

Reproduces on both claude workflows against the post-#44 main:

  https://github.com/stackific/stax/actions/runs/26618513746
  https://github.com/stackific/stax/actions/runs/26618519248

2.1.150 is the most recent release I can verify doesn't carry
the regression (chosen by working back from 2.1.156; the gap
between 2.1.150 and 2.1.156 is six patch releases). Pinning
rather than @latest matches the policy the install-step comment
has always claimed.

Bump intentionally after verifying the smoke test still passes.

Signed-off-by: Tanzim Saqib <[email protected]>
@tsaqib
tsaqib merged commit 97415a0 into main May 29, 2026
15 of 16 checks passed
@tsaqib
tsaqib deleted the fix/copilot-workspace-fixture branch May 29, 2026 13:03
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