I went to a planetarium and watched the periodic table get built by dying stars. Then I built one for the work every business runs on. It handed me back two elements I had been running for months without a name.
The film was about where the elements come from. Not the chart on the classroom wall, the story underneath it. Hydrogen and helium came free, minted in the first minutes of the universe when everything was hot enough to stay simple. Everything heavier had to be built. Carbon, oxygen, iron, all of it cooked inside stars and thrown back out when they died, so the next batch had something to work with. On the dome above me a blank periodic table filled in cell by cell, one round of stars at a time. Light elements first. The heavy ones last, and only because something big had to die to make them.
I could not stop seeing my own work in it.
For a year I have been telling anyone who will sit still that every business is a graph of triggers wired to primitives. A primitive is one unit of work with one job: something gets looked up, something gets captured, someone gets notified. Most companies run on these without ever naming them. The work lives in one person's head, stitched together by hand. Our whole method is to name those units, compose them into chains, and free the humans for the part that needs one. We even have a card that lists the canonical set.
A card. A list. Sitting in the dark I understood why that had always felt one size too small. Somebody could have written the ninety-odd elements down in a column and called it done. Mendeleev did the harder thing. He laid them out in a grid where a thing's position tells you what it is. The grid was so honest about the order underneath that it came out with holes in it, and he pointed at the holes and said there are elements here we have not found, and here is what they will weigh, and how they will behave. People went and found them, right where he said, acting how he said. A list holds what you already know. A table tells you what you are missing.
Every business is a graph of triggers wired to primitives. The primitives are not a list. They are a table: ordered by mass, grouped by valence, forged in stars.
So I went home and built one. The physics took two decisions and both came straight off the dome.
The rows are mass. Not literal weight, but how heavy the machinery is: how much judgment a primitive carries, how much state it has to hold, how much trust it touches. The light ones sit up top, the ones every business is born already running. Capture. Notify. Look something up. The heavy ones sink to the bottom, the ones that only exist because real weight forced them into being: grading work against a standard, mining a firm's whole history to learn its shape, holding money and privilege and a person's name. Just like the dome. Most of the universe by volume is the light stuff. All of the value and the danger is in the heavy stuff.
The columns are valence, which is a chemistry word for how a thing bonds. In our world it means what a primitive takes in and what it hands out. Everything that begins work sits in one column. Everything that proves a thing true sits in another. Everything that sends a message to the outside world in a third. And here it stops being a pretty picture: two primitives in the same column are interchangeable in a chain. If a chain needs something to prove its output is correct, any prover of enough weight can drop into that slot and the chain still stands. That is a real engineering property, and the reason two elements in one column of the real table form the same compounds.
Here is the thing itself. Drag the slider along the top and watch it fill in the way the dome did, oldest work first.
Every filled cell is a unit of work we have named and used. A handful were forged the way the heavy elements are, not drawn up at a desk but hammered out inside a live engagement under real pressure. Ghost, the primitive that lets a law firm use AI without its clients' secrets ever leaving the building, was born in one afternoon against exactly that wall. Canary, which makes an install prove itself the moment it lands, was born the night an install nearly shipped unproven. Those cells have origin stories, because where an element came from is part of what it is.
The reason to build a table instead of keeping the list is the empty cells. If the order is honest, a hole in the grid is not missing information. It is a prediction. It says there is a primitive that belongs right here, with roughly this weight and this way of bonding, and you have not named it yet, and you are going to need it. That is Mendeleev's whole move, pointed at a portfolio instead of at nature. It is also the same discipline we sell: find the thing the business will need before it gets hurt not having it.
So I wrote the empty cells out properly. Not a shrug of "something goes here." A full description of each one, down to where in our own work there was already a faint trace of it trying to exist. And that is where the night turned.
Writing a real profile is a harder test than leaving a blank. A blank hides. A profile has to be specific enough to be wrong. And when I forced myself to describe two of the supposedly empty cells in full, the description kept pointing at things I had already built and never named.
One was a plain counter. A primitive that watches a stream of events and keeps a running tally. I found it running in three places in my own systems, none of them aware of the others. score-history.jsonl, logging every eval result as it lands. cost-preflight, adding up what a scheduled job will cost before it fires. The spend meters running across the whole fleet. Three independent inventions of the same unit. The table had a name-shaped hole where all three belonged.
The other was a plain router, the dumb kind that reads a fixed table and sends each case down its lane, no judgment involved. It was running in two places: the folder-routing that files a law firm's incoming documents by type, and the rules that send inbound mail to the right handler. Same primitive twice, and I had not seen it.
I named them. Meter and Switch. They are light, they are simple, they are the kind of thing you would never write on a card because they feel too obvious to mention. And that is why they had gone a year without a name while I ran them every day. The list could not see them. The table saw them the moment its own order was honest enough to leave a gap where they belonged. Its first act, before it had done anything else useful, was to hand me back two pieces of my own operation I had been running blind.
There is a line in the doctrine now I like more than anything in it. Those two elements sit at the lowest weight on the whole table and the highest atomic numbers, because atomic number is just the order things were admitted. They were found last and they are the lightest. Found late, not light. I think a lot of the most useful things in a business are like that.
The table is not finished and it is not supposed to be. It has five holes left with names and descriptions and no elements in them yet, each one a small bet about a primitive a future engagement will forge. When one of them shows up for the second time, unprompted, the way Meter and Switch did, it earns its cell. Until then it stays a prediction, which is the honest state for it to be in.
You can walk the whole thing yourself. It fills in as you drag, and every element opens to its own card with its job and its origin. It is the clearest picture I have of what we actually do. It is also a picture of what you do. Somewhere in your operation there are three copies of the same small unit of work, running in three places that have never been introduced, and not one of them is named. The list will never show you that. Draw the table and it falls out on its own.