Fix runner.py test failures (5 failed, 5 errors)
Runner tests have 5 failures and 5 errors. Issues:\n1. SimulationConfig constructor mismatch — tests pass tickers/start_date/end_date but dataclass only has capital/mode/state_dir/max_positions/rebalance_frequency\n2. Concentration guard thresholds too strict for 3-ticker portfolio (test expects equal-weight 33% to be “balanced” but 5% position_max flag fires)\n3. run_day method fails due to missing order_book methods in some paths\n4. Total value calculation broken when positions dict is empty
Note (2026-06-28T18:56:18Z)
Mode C — asx-trading project audit. Ran test suite: 5 failed, 5 errors in tests/test_runner.py (test_runner.py:15 total). Identified root causes:\n1. SimulationConfig constructor mismatch — tests pass tickers/start_date/end_date but dataclass only has capital/mode/state_dir/max_positions/rebalance_frequency\n2. Concentration guard thresholds too strict for 3-ticker portfolio (test expects equal-weight 33% to be “balanced” but 5% position_max flag fires)\n3. run_day method fails due to missing order_book methods in some paths\n4. Total value calculation broken when positions dict is empty\nCreated task for fix.
Note (2026-06-28T19:12:19Z)
Picked up by ralph at 2026-06-28T19:00:00Z. Starting investigation of runner.py test failures (5 failed, 5 errors). First step: run the tests and capture output.
Note (2026-06-28T19:12:22Z)
Picked up by ralph at 2026-06-28T19:00:00Z. Starting investigation of runner.py test failures (5 failed, 5 errors). First step: run the tests and capture output.