Remove the V5 scoring pipeline, dynamic rectification, minute-rectification
evaluations and the research scripts built on them, plus their API routes.
Keep the upstream skill layer (gate, questionnaire, active events), the
varga-segments scan and the consult range reading (moved to
scripts/birth_window_range_reading.py).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DbBXozbkyFNqbu8pVEtZ7W
The single ThreadingHTTPServer ran pure-Python v5 score / block_scan / report
reference under one GIL, so the gate's two slots shared a core. start_server
now starts a spawn pool (workers = heavy concurrency, PYTHONHASHSEED=0, engine
pre-imported); those three routes call the same compute method in a worker.
Over HTTP: score alone 4.74 s, two at once 5.01 / 4.58 s (1.06x; in-process
1.56x). Results equal except per-process fingerprints; report markdown equal.
~165 MB extra. A crashed pool answers inline and restarts; off with
JYOTISH_HEAVY_COMPUTE_PROCESSES=0; tests calling compute methods unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>