96c5b94616
The original build_track_index spawned 5+ git subprocesses per track folder (244 tracks * 5 calls = 1200+ subprocesses). That exceeded the 120s NFR1 budget. Replaced with a single 'git log --all --name-only' pass + a mutable _TrackAccumulator; reduces git subprocess count from 1200+ to 1. Also adds 3 smoke tests for build_subagent_task_index, build_session_index, build_track_index (covering previously untested pure-function indexers). 23 tests pass; coverage up from 39% to 61%.