bundleRoot property
Directory the manifest itself was read from.
Separate from root because a bundle's parts sit beside the manifest rather than among the goldens: one is the contract and its artifact, the other is the evidence. Null when the bundle was built without opening a manifest file, in which case parts has nowhere to look and says so.
Implementation
final String? bundleRoot;