driver: feed compile-index a file list, not roots
odoc compile-index builds one sidebar hierarchy per --root, so a
package whose pages root and library directories are separate — the
compiler's pages live in lib/ocaml-compiler, its units in lib/ocaml —
got a split sidebar: page entries in one tree, module groups in
another. Files passed via --file-list all land in a single group, so
enumerate the roots' odocls ourselves and pass the list; the sidebar
is again byte-identical to the pre-colocation driver's.
Found by diffing the rendered HTML of 16 packages against main.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>