First Principles — Analytics
Data · Certainty · Intelligence
datumwise develops first-principles foundations, languages, and systems for analytics across data, certainty, and intelligence.
Last Tuesday it rained.
You have fifty-two shops. Somebody is going to ask you, before lunch, what fraction of them sold an umbrella.
It is a completely ordinary question. Take a moment with it anyway.
What you actually have
- 52
- shops on the roster
- 3
- shut for refurbishment — nothing was ever going to be sold there
- 49
- open for business
- 8
- of those open shops had a dead till feed and sent you nothing at all
- 41
- shops whose day you can actually see
- 6
- of those forty-one reported selling an umbrella
None of this is disputed. Everyone in the room agrees on every line.
So: six out of what?
There is only one decision left in the whole problem. Make it.
Something can decline.
The request below is not about umbrellas. It is about stock, in a small declared world that ships inside the software. But it is the same kind of question as the one you just had: the arithmetic is available and the meaning is not.
asked
SELECT stock.sum AT {store*cal.month} answered
refuse
blocked_reduction
'stock.sum' reduces by 'sum' across blocked lineage 'calendar' — 'sum' is declared BLOCKED along 'calendar', so this reduction has no lawful reading at store*cal.month; per-bucket totals do not reconcile along this axis. Generating a new family does not create the permission: the declared reducer needs the same authority the declaration withholds.
instead
- use a reducer that IS applicable along 'calendar' (e.g. '.last' for a stock collapsed over time)
- address at an anchor that does not cross 'calendar'
manifold cascadia · columna 0.18.1 · contract 4 — produced by running the shipped package at build time, not written by hand
Nothing was broken. Every number it needed was present and every one of them was correct. It declined because the result would not have meant anything — and then it named the law that stopped it, and what it would have accepted instead.
That is the difference, and it is smaller and stranger than a feature. Not a faster answer. An answer that knows what it is an answer about.
If that landed
There is a shorter, stranger version of this problem that starts one step further back — at a single number, on a plinth, with nothing attached to it at all.
When is it data? — a four-minute walk
and the full account of what a population is, and when a number exists
The Theory of DataThis is one problem out of several, and not the hardest. The others are where we think analytics actually begins — Foundations.
Columna has three parts. The Manifold is a data model that holds what your data means — declared by a person, then checked against the data itself before it serves. FrameQL is a query language that can only ask for meaning the Manifold declares. The engine serves nothing the model can't defend. Behind the model stands a published theory with a proved kernel — a growing fragment of its laws are machine-checked theorems, not house style.
Every answer comes back in one of four moods: serve (the number), disclose (the number and the assumptions it rides on), clarify (the question has more than one legitimate answer — choose), or refuse (the data does not define this — here's why). The same contract reaches a Python caller, an HTTP client, and an AI agent over MCP.
Where to go
In the order a reader usually wants them.
Or just browse: a few pieces worth reading, and where each one opens.
- The Theory of Data in One Afternoon start here the whole idea in one sitting, from a cold start — the failures you have already debugged, the world they imply, and the queries that fall out of them. No prior reading needed.
- 1 Never Let Your Agent Touch the Database the position: why the model should never hold your database credentials, and what to put between them.
- 2 Run the demo install, and a clarify, a refuse, and a disclose print on your machine as wire JSON.
- 3 Read the case a complete worked example: a realistic warehouse, the Manifold that serves it, and recorded agent transcripts.
- 4 Learn the framework what Columna, FrameQL, and a Manifold are; the three manuals; the live Explorer.
- 5 Read the argument the eight-minute case for why this exists, with two live exhibits.
- 6 Positions every stance we hold, with its evidence and its paper edition.
- 7 Research the current source estate: every deposited work with its current record, the normative references, the machine evidence, the teaching surfaces, and what we know is broken. Read here where the text is here.
datumwise builds and stewards Columna: Huayin Wang (research), Irena Wang (engineering). It is an independent open-source research project.
We are taking three design partners for real-world deployments — contact@datumwise.ai.