Build log
Still being built, in public.
Altineris is not generally available. This is what has changed recently and why it mattered — including the parts that were wrong first. The tracker these come from is private while we're in stealth, so there is nothing to link to yet; that changes at general availability.
The schema tells you at boot whether it matches the code
A deploy whose database was a migration behind used to fail later, somewhere unrelated, with an error that named the wrong thing. It now refuses to start and says which migration is missing.
Fetching moved out of the scheduler
Source polling was doing per-client work inside the tick that was only meant to notice work existed. Splitting them stopped one slow client from delaying everyone else’s.
Cost is recorded against whoever asked
Render cost used to be computed and thrown away. Every generation now carries a number attributed to a client, which is the precondition for ever having a budget at all.
Posts write back into a customer’s CRM
The first end-to-end path where another product asks for content and receives it as a record in its own system, rather than as text somebody has to move by hand.
Brand tokens come from a reviewed source, not a stylesheet
Two assets were generated from a CSS file on a branch that predated a customer’s redesign before anyone checked it against the live site. Brand is now recorded data with a provenance, and rendering reads only that.
One engine, many clients
The engine stopped modelling everything as one blog. Sources, vocabulary, formats and output paths are per client, which is what makes it something a product can call rather than something one site runs.