Parent: #268
Depends on: #320
Found by: CI run 29697384769, job 88220383132
Once the shared prelude reaches the threads corpus, wait appends the joined child thread's nested command records to the top-level evaluator report. The serial merge path incorrectly indexes those extra records through the shorter top-level source command list and crashes with IndexError, hiding all command results.
Acceptance:
- Preserve every nested thread command record in evaluator order.
- Assign stable flattened indexes to serial/nested reports without weakening sharded one-to-one validation.
- Turn count mismatches into bounded runner records, never Python exceptions.
- Add focused regressions for nested serial reports and sharded mismatches.
- Pass the bounded Python suite and replacement Linux threads smokes.
Progress
Implemented on main in 7650986f. The merge path now deliberately distinguishes one-to-one shards from serial thread reports, flattens nested records in evaluator order, and converts unexpected ordinary/sharded count drift into runner records. Local Python suite: 14/14. Replacement run 29697559754 passed the Linux Threads smoke.