buildShard

private fun buildShard(shard: Shard, out: File, ctx: OverlayBuild): Int

Write one shard: its members' widened classes, plus the kotlin_module rebuilt from what they carried.

Entry names are deduped WITHIN the shard — two members claiming one name would collide inside a single jar. Across shards they are left alone: the shards sit in classpath order and the first wins, exactly as the source jars behind them already do.