RUL-005 — Threadpool executor for test parallelism, never xdist

Ruling

All test parallelism in this project comes from orchestrata_ultimate.core.threading.test_executor.run_tests_in_parallel (one pytest subprocess per module), driven via scripts/run_tests.py / run_tests_threadpool.py / run_tests_streaming.py — never pytest-xdist.

Evidence

Enforcement

Verification

Same mechanism as RUL-001: the hook and T15 gate jointly make xdist unusable, which leaves the threadpool runner as the only sanctioned path — there is no separate "threadpool-required" check because the prohibition is what's mechanically gated, not the affirmative choice.