If interpreted literally this section currently says it is mandatory to omit at least one category or package from the metadata cache :). Suggested alternate wording: The optional metadata/cache directory contains a cached form of all important ebuild metadata variables. The cache directory, if it exists, contains directories whose name must be that of a category. Each of those directories contains one file per package version, named <package>-<version>. It is not required for the metadata cache to contain a category directory for every category in the repository or a cache file for every ebuild in the repository.
r156