An AI bill of materials, built from your code
Ask a team which AI their product uses and you will usually get one answer: the provider on the invoice. Then look at the code. There is the SDK everyone knows about, a second provider someone added for embeddings, a model name hardcoded in a background job, a LangChain agent in an internal tool, a .pt file checked into a test folder, and an MCP server declared in a config file that nobody remembers adding.
None of that is unusual. AI components arrive the way dependencies always have: one import at a time, by whoever needed them that week. The difference is that more people now want a list. Regulators, customers' security reviews and your own incident response all start with the same question, and "we use one provider" is rarely the full answer.
