If I am hosting a hierarchical CMDI metadata collection, do I need to offer all records over OAI-PMH or only the root nodes?

Short answer: as indicated in the OAI-PMH protocol, you need to offer all records. There is no automatic harvesting of any of the CMDI child nodes.

Long answer: in the case of our toy example hierarchy, you would need to provide the following files over OAI-PMH:

Providing collection_root.cmdi (or even collection_olac.cmdi and collection_lrt_inventory.cmdi) is not enough, as all OAI harvesters are protocol-agnostic and thus do not know about CMDI’s hierarchy building! CMDI-consuming applications, such as the VLO, also need the physical files locally.