Fixed a bug in suite-level test sharding where every suite was assigned the same median duration, causing all suites to collapse into a single shard regardless of the per-shard duration target. Historical timing data is now matched by the module-qualified suite name (Module/Suite), so shard plans correctly respect actual per-suite durations and the configured target shard duration. This also prevents unrelated suites with the same name in different modules from being treated as the same suite.
To fully realize a tighter per-shard target on a large suite set, make sure to also raise the --shard-max value as needed. The shard count is still clamped to that limit.