When GUIDs Collide: The App ID Problem Nobody Expected

  • Reading time:6 mins read

You know what’s supposed to be unique? Snowflakes. Fingerprints. And GUIDs.

A GUID (Globally Unique Identifier) is mathematically designed to be so astronomically unique that if you generated one hundred billion GUIDs per second, you’d still have a better chances of being struck by lightning twice and then winning the lottery, all on the same day, than generating a duplicate.

And yet, here we are. Talking about duplicate App IDs in Business Central.

Continue ReadingWhen GUIDs Collide: The App ID Problem Nobody Expected

Object IDs, now assignable by VS Code agents (LM tool integration)

  • Reading time:2 mins read

I’ve just released Ninja 3.1.0, and it adds something I’ve wanted for a while: language-model tool-based object ID assignment.

In practice, this means that when an agent is writing AL code inside VS Code, it can now use Ninja directly as a tool to allocate and commit object IDs. No typing. No IntelliSense. No human in the loop. The agent writes the code, asks Ninja for an ID, and moves on, safely, and conflict-free.

The response was immediate. Within the first hour, agents assigned 64 object IDs across 12 different apps. So, this was an obvious signal that this wasn’t just a “nice to have”, but was a really much needed feature.

This was a very obvious gap once agent-driven coding became real. For previous versions of Ninja there has been an MCP server (written by Torben Leth). I am not sure if that MCP still works (probably not, because the old endpoints are gone, and new ones are not compatible anymore). I am now working on the MCP server of my own: the official AL Object ID Ninja MCP server that will work inside or outside VS Code, in any agentic workflow.

So, if you’re using agents to generate AL code (which you should!), you no longer have to worry about object IDs. They’re assigned correctly, globally, and in real time, exactly the same way Ninja already does it for human developers. It’s amazing to see agent just picking the next number from the tool, instead of trying to figure it out by grepping through the project and trying to do it by hand (which would be inaccurate and would require human intervention anyway).

More new cool features are coming, so stay tuned! Now that Ninja is a commercial product, I can finally put the hours in to make it an even better tool for everyone.

Continue ReadingObject IDs, now assignable by VS Code agents (LM tool integration)