Two fixes for remaining flaky E2E failures (5-10 random tests per run):
1. Limit parallel threads to 8 (package.json test:e2e) to reduce Chrome
process contention and CPU pressure during parallel test runs.
2. Add wait_page_ready() helper that polls document.readyState every 200ms
(up to 2s) after session start/goto. Called in all 14 local start_session()
functions and both harness helpers. Prevents tests from interacting with
pages before DOM is ready under high parallel load.
Result: 441 passed, 0 failed (was 5-10 random failures per run).
14 test files defined local start_session() without unique_session(),
causing all parallel tests to share the default profile and hit
SESSION_STARTING rejections (238 failures).
Fix: add unique_session("s") to each local start_session(), passing
--set-session-id and --profile to browser start. This gives each test
its own isolated Chrome profile, matching the pattern in harness.rs.
Result: 238 failures → 3 flaky (unrelated to session isolation).