RUL-001 — No pytest-xdist
Ruling
NEVER run pytest with xdist (-n auto, -n N, --numprocesses, --dist) in orchestrata-ultimate. Use the threadpool runner: python scripts/run_tests_threadpool.py or scripts/run_tests_streaming.py tests/ -j 8.
Evidence
- User corrected the default-to-
-n autohabit repeatedly (memoryno-xdist-orchestrata, session originSessionId 0e53b714-4efe-4a43-a4a4-789ebeef5b11). - xdist deadlocks this suite ~78% of the time (shared Redis/Neo4j/gRPC + free-threaded Prolog) — not a style preference, a correctness fact.
- xdist was PURGED session 228 after being found banned-yet-still-declared in
pyproject.tomland invoked byhealth_check.py/agent_check.py/kimi-startup.sh/validate_ci.py(memoryproject-banned-libraries).
Enforcement
- hook .claude/hooks/no-xdist.sh
- banned-deps pytest-xdist
- banned-deps xdist
- gate scripts/test-review.py T15
Verification
.claude/hooks/no-xdist.sh denies any Bash tool_input containing pytest ... -n/--numprocesses/--dist; pytest-xdist/xdist are lines in .claude/banned-libraries.txt; scripts/test-review.py rule T15 flags xdist command-flag usage in test files.