The metadata indexer crawls the archive's content to extra metadata files. Mappings are the part of this indexer responsible for translating the many dialects into the CodeMeta format.
As they have to read data from all source code we know of, they may encounter many edge cases of these formats, which may or may not be valid.
Currently, only the most frequent edge cases are dealt with (see swh/indexer/tests/test_metadata.py and diffs linked to this task), but we should test more to check they behave correctly (even though "correct behavior" isn't always properly defined)