The PuranGPT Chronicle · No. 5
The Sort That Flattered Everyone
We computed ten thousand birth charts to ask a question nobody had asked our software: how rare is a “rare” combination, actually?
A question nobody had asked the code
Vedic astrology names yogas — specific planetary combinations, each carrying a traditional meaning. The famous one is Rāja yoga, formed when the lords of an angular house (kendra) and a trinal house (trikoṇa) come together. The classical texts call it king-making. Every reading anyone has ever received opens with it if it is present.
Ours opened with it too. The list of findings was sorted by importance, and importance was a ranking inherited from the textbooks — which order by fame, because a textbook is written for a student, not for a sort function.
The question we had never asked: in what fraction of charts is it present at all? A distinction that everyone has is not a distinction. It is a greeting.
Ten thousand charts
So we computed them. Ten thousand birth moments through the production natal engine — fixed seed, uniform sampling across a 1955–2012 window and an Indian latitude and longitude box, zero failures — and counted, for each of 65 yogas, how many charts carried it.
The distribution came back first, and it was already an answer:
- The median chart carries 14 yogas.
- The least-endowed chart in ten thousand carried 5.
- The most carried 29.
- Charts carrying none: zero. Not one in ten thousand.
Then the rates, and the king-maker landed third from the top:
Two-in-three charts carry Rāja yoga. Meanwhile Kemadruma sits at 1.3%, and a floor cluster — Musala, Rajju, Kamala, Yuga — at one in a thousand. Those are the genuinely uncommon shapes a sky can make, and every one of them was rendered below the fold.
Where the flattery actually lived
Nobody wrote code to flatter anyone. That is the part worth being precise about, because the comfortable version of this story is that somebody was cynical, and the true version is worse and much more ordinary.
What happened is that a list was ordered by inherited prominence, and prominence and rarity are inversely related — a combination becomes famous because it turns up often enough to be discussed. So the sort put the most common finding at the top of every reading, dressed as the headline, and every seeker opened their chart on the same two-in-three result presented as a personal distinction.
That is the Barnum effect — the tendency to read a statement true of nearly everyone as specifically true of oneself — implemented, accidentally, in a comparison function. It did not require a deceptive intention anywhere in the system. It required only that nobody had measured.
Every ability now displays the share of charts that carry it, and the list sorts rarest first. Abilities we have not yet measured sort behind the measured ones — because an absent number must never render as rarity.
What shipped on the person page, 23 August 2026
Scoped honestly, as this first went out: it was live on the person page, where a sample chart returns 16 of 16 abilities carrying a measured rate in strict rarest-first order — and the raw natal endpoint still returned its yogas unrated. Half a fix, and worth saying so rather than rounding up.
The other half closed on 25 August 2026. The rate annotation moved down into the natal computation itself instead of sitting in one handler above it, so every caller of that computation now gets rates. The identical production request that had returned 16 yogas and 0 rates returns 16 of 16 rated, rarest first: Shasha at 8.3% at the top, Nishkapata at 69.0% at the bottom, each against the same ten-thousand-chart sample.
No page on the site looked any different afterwards — the chart you see was already reading its rates from the person profile. What had been unrated was the layer underneath it: the raw API, and the chart context handed to the model when you ask it about your own chart. A gap you could not see is still a gap.
The line we will not cross
There is an obvious next step here that we are deliberately not taking, and it is worth naming so that nobody has to wonder.
Population probability— “you have this, and so do 66.4% of charts” — is computed, reproducible, and falsifiable. Anyone with an ephemeris can recompute it and tell us we are wrong. That is a real number and it is the whole product.
Outcome probability— “68% chance of promotion this year” — would be invented. There is no validated dataset linking charts to life outcomes, so any such figure is generated rather than measured. Our own output checker already blocks that class of claim, and it will keep blocking it. Nothing here predicts events.
The two look alike on a screen. One of them is arithmetic and the other is a costume worn by arithmetic.
What the number is not
The honest caveat is written into the data file itself, and it should travel with every quotation of these figures: we sampled birth moments uniformly, not real births. Human births are not uniform across the hours of the day or the months of the year, and they are certainly not uniform across a latitude box.
So these are the rates at which the sky produces a combination — not the share of living people who carry one. Correcting for real natality would move the numbers somewhat. It would not move 66.4% anywhere near rare, which is the only claim this rests on.
The general shape
We have hit this same shape more than once now, in unrelated parts of the system: a thing everybody assumed had been checked, which had merely been inherited. The fix is never clever. It is to compute the base rate and put it on the screen next to the claim.
A reading that says you have this, and so do two in three is a smaller sentence than the one it replaces. It is also the first version of it that a reader can argue with. We would rather be argued with than believed for the wrong reason.