Absolutely monumental milestone on Minima today.
Months ago, when I first experimented with a chat UI for Minima, it was obvious I needed to improve the agent experience.
“Research this product, and add a Product entity” worked but anything beyond the name, slug, and external URL was hit and miss. Maybe not incorrect, but inconsistent and un-queryable. Not good enough for a content management system, whether it's being used by a person or an LLM.
That's because I originally built attributes on top of schema.org. You can validate the structure of the schema is correct, but you can't validate whether the data being represented is correct, or consistent with other entities in the database.
So I decided to hit the drawing board, and built my own schema registry.
It’s like a strongly-typed equivalent of schema.org.
Prices are always stored with a currency. Dates are always stored with a precision. A USB port won't work with a DisplayPort connector...but in some cases it can support a DisplayPort protocol.
I can generate forms, UI, types, and validation schemas from it. And map back to schema.org where necessary.
Now my OpenAPI docs and tool calls for entities are fully typed, with specific attributes and relationships for each type of entity.
Just watched an LLM research and add an OLED monitor, which was the craziest stress-test for the schema registry that I could come up with.
It did it first try:

Onwards.
© 2025 Tim Hanlon