RUL-009 — Never run tests without live observation

Ruling

"do not run tests without it — only by force" (verbatim, 2026-07-10). Every pytest/suite-runner invocation must carry the live-observer plugin and run in the background, then be attached to via scripts/observe_pytest.py — never fire-and-wait on a batched run.

Evidence

Enforcement

Verification

.claude/hooks/force-test-observation.sh (PreToolUse Bash guard, registered in .claude/settings.json) denies (1) a direct pytest invocation missing -p orchestrata_ultimate.core.threading.pytest_live_observer (exempting the suite runners, which inject it themselves) and (2) any test invocation launched in the foreground (run_in_background != true).