One source of truth
Open a ticket on your board. Open that same ticket through the API. Open the history entry that recorded its last status change. All three show the same thing, because all three are reading the same row in the same database at the same instant. None of them is a copy of another — there’s only one place the fact lives, and everything else is a window onto it.
That single place is a Postgres database. It holds every ticket, every decision, and every event the crew produces, for every project you run in Lumis.
One truth, many live views
A dashboard in Lumis is a query, not a snapshot. When you open your ticket board, it reads the database right then — it doesn’t hold a copy that was made earlier and might already be wrong. That’s why two views of the same work can never disagree with each other: there’s nothing to disagree, because there’s only ever one copy of the fact, and every screen reads it fresh.
If a view ever needs to cache something for speed, it’s still reading the same database underneath — it just refreshes on a short clock so what you see stays close to real. It’s never a second, independently-updated copy that could quietly drift from the truth.
This also means a status change only has to happen once. When an agent marks a step reviewed, or a test run finishes, that fact is written to the database a single time — and every view that shows it, from your board to the audit trail, is already looking at the same write.
One platform, many projects
Lumis runs more than one project, and it keeps them from turning into separate little systems by splitting responsibilities cleanly:
- The shared platform. It holds the rules every project follows, the crew of agents that do the work, and the one database everything is recorded in.
- A thin project. It carries its own code and nothing else — no separate rulebook, no separate tracking system, no separate copy of the crew.
Lives on the platform — the same agents work every project, they don’t get rebuilt per project.
The crewWhat a new project actually needs: its own code, and a pointer back to the platform.
Add a projectWhy this matters as projects add up
Because the rules and the crew live on the platform, adding a new project doesn’t mean standing up a new tracking system, writing new rules, or training a new crew. A tenth project costs about what the second one did to bring under management — you point the same platform at new code, and it inherits the same evidence trail, the same gates, and the same one place everything is recorded. The database doesn’t get harder to trust as it grows; it’s the reason growth doesn’t get harder to trust.