Orchestrata Ultimate › Plans › claude-only-tests-handoff

Claude-only test campaign — handoff (2026-08-04)

Source: plans/claude-only-tests-handoff.md at 8a2cb42ad · last changed 2026-08-05 · first committed 2026-08-05 · 62 lines.

Prose pending.

Plan text

Claude-only test campaign — handoff (2026-08-04)

Policy (Mohamed): tests exercise Claude ONLY; never OpenRouter/qwen/minimax/deepseek. Follow-ups: "copy claude's answer as if it is the same for the other llms" and "do not call the llm in the tests, just return any viable text and save the time". Runs must be threaded AND observed (never blind buffered pytest).

DONE (in working tree, uncommitted, gate-clean where noted)

REMAINING TODO

  1. Run the llm_integration lane OBSERVABLY (hook now enforces it): python scripts/run_tests_streaming.py <28 marker files> -j 8 -a="-m" -a="llm_integration" -a="-p" -a="orchestrata_ultimate.core.threading.pytest_live_observer" backgrounded, then observe_pytest.py list / attach. File list: grep -rlE llm_integration tests/ --include='*.py' (drop conftest.py).
  2. Neutralize real-subprocess LLM tests synth can't reach (they don't go through call_llm/_execute_with_retry): chiefly tests/drivers/test_claude_code_driver_live.py (spawns the real claude binary). Options: a stub claude on PATH returning viable text, or skip-guard, or route the driver through the synth seam. Audit the full 28-file set for other direct-provider/subprocess callers.
  3. Confirm the lane is green + fast end to end under synth; capture per-module timing.
  4. Full gate on every touched file: ruff, pyright, audit_test_purity (the client.call_llm/_provider_manager swap pattern in some tests — confirm it passes T-rules), and the infra-env rule.
  5. Review Builder 5's diff (it was stopped mid-verify) — confirm each converted qwen/minimax/deepseek/llm-judge test actually passes under synth/replay.
  6. Memory: feedback-tests-claude-only.md updated; consider a note on the synth mode + observer-in-hook once settled.
  7. Commit only when Mohamed asks (no AI attribution).

Carried backlog (unrelated): #22 cxpt→prod, #28 dangling @traces, #30 codemod_review.pl, #31 RemoveUnusedImportPass.