The way I found to make it non-disfunctional was basically "let's focus on cataloguing things for which we have a practical task at hand". E.g. it makes sense to catalogue services because our platform has tools to manage the dev cycle, ci, cd etc. of those services. The issue is.. if you're building such tool, then the catalogue is part of that tool already. You're not building a catalogue but a platform that contains a catalogue.
This logic can only be avoided if you think of the catalogue as "generic". BUT, this is the gateway to building an inventory of things in the company disconnected from a practical purpose. Because you literally end up with an inventory of everything (people, users, teams, services, rooms, chairs.. ) that is integrated with nothing (the platform, hr systems, office management systems, etc. that actually do something with those items). Said integration turns out to be really hard because well.. those tools have their own inventory. And you end up with your grand project for an Über inventory, but no usage.