For the why, you'd have to look at how system facts are constructed on the client machines and passed into Katello. We are not doing any sort of translation of what we get from the client machine to try to format them. Why not just use the `system.facts[""]` notation everywhere instead of trying to interpret this as a potential object structure? I feel like since this is a custom set of values that trying to interpret or transform it might bite us later.