I've been investigating in the past few days about how to integrate http://theforeman.org/ with Ansible as a Foreman plugin.
Foreman is a lifecycle management tool for your systems provisioning,
monitoring and reporting, and it's been very popular in other
communities, but we've never came around integrating it with Ansible.
Foreman has a pluggable architecture, so many interesting features, such
as metal discovery, Docker integration, Salt, etc.. can be done as plugins.
My first thought is that to save 'facts' create a persistent fact
caching plugin, not a callback, then it works both ways, extra facts
in foreman will be available to ansible and every time ansible gathers
facts it refreshes them.
As for inventory, reading the inventory file might not be enough,
ansible can use many different inventories and formats also there are
host and group variables to consider.