- Fix API key index calculation to respect --api-keys parameter
- Previously always used all available keys regardless of setting
- Now correctly assigns only requested number of API keys
Usage:
python predix_parallel.py --runs 25 --api-keys 1 -m openrouter
-> All 25 runs use API Key 1 only
- Allow up to 50 runs (25 recommended max)
- Add --force flag to bypass warnings
- Show RAM estimate for high run counts
- Update CLI help text with max recommendation
Usage:
python predix_parallel.py --runs 25 -m openrouter
python predix_parallel.py --runs 50 --force -m openrouter
Tests: 103 passed
- Use Rich Group instead of string join for Table + Panel layout
- Fix TypeError: sequence item 0: expected str instance, Table found
- Live dashboard now renders correctly with parallel runs
Tests still passing (103)
- Add predix_parallel.py: Run multiple factor experiments concurrently
* python predix_parallel.py --runs 5 --api-keys 2 -m openrouter
* Round-robin API key distribution across available keys
* Rich live dashboard with per-run status, elapsed time, exit codes
* Graceful shutdown (Ctrl+C kills all children cleanly)
- Add --run-id parameter to predix.py for isolated single runs
* Separate log files: fin_quant_run{N}.log
* Separate results: results/runs/run{N}/
* Separate workspace: RD-Agent_workspace_run{N}/
* Separate databases per run
- Modify CoSTEER and FactorRunner for PARALLEL_RUN_ID isolation
* _save_intermediate_results uses run-specific directories
* _save_result_to_database and _write_run_log isolated per run
* _ensure_results_dirs creates run-specific paths
- Reduce max_loop from 10 to 3 for faster iterations
- Add docs/parallel_runs.md with full documentation
Tests: 103 passed