Why we almost didn't build this
Every product you own wants your attention back. The badge, the streak, the red dot, the push notification at dinner — the whole grammar of modern software is an alarm clock that never quite believes you meant to put it down. We built a night sky specifically to refuse that grammar. The sky doesn't blink. It only moves when life moves. So when we decided Terrarium should occasionally suggest something, we understood we were reaching for the most dangerous tool in the box, and we set rules before we wrote code.
The design doctrine we inherited from our own constellation brief says it in five words: every decision is a ghost first. Nothing in Terrarium acts on your street. It renders a possibility, dimly, and waits. This post documents the whole mechanism — every rule, every threshold, every way to make it stop — because a nudge you can audit is a suggestion, and a nudge you can't is a nag with better typography.
What a ghost is
A ghost is a small, dim, dismissible card that appears on your dashboard or your Your Three page. It has one sentence, one link, and an ×. It is never red. It never carries a number badge. It never counts up, counts down, or expires with a deadline. Dismissing one silences that exact ghost for about two months — not "snoozed for 3 days," not "we'll ask again at a worse time." Gone.
Ghosts never act. There is no "auto-schedule," no "we went ahead and," no consent theater. The ghost layer's entire API surface, honestly summarized: it computes a short list of sentences, and it forgets the ones you dismiss.
Every rule, in the open
The engine (one small file, nudges.js) runs six rules over state your profile already holds. Nothing new is collected to power them.
1. The lantern rule. If you named a neighbor more than two weeks ago and the bond never became mutual, a ghost may suggest handing them a lantern link. It only appears when the lamp room (server storage) is actually online — a suggestion that can't work is noise.
2. The stale-bond rule. If a named neighbor hasn't been re-affirmed in about ninety days, a ghost may whisper that a wave counts. This is the same staleness that already dims your Readiness Score — the ghost just gives the dimming a doorbell.
3. The borrow rule. If one of your dim stars is an axis a linked neighbor has marked shareable, a ghost may say so before you spend money on it. This is the closest the ghost layer comes to commerce, and notice its direction: it points you away from the store and toward the street. Borrow before you buy is house doctrine.
4. The table rule. If you have named neighbors but no shared meal on the books in a month, a ghost may point at the calendar. The meal is the metric that matters; everything else on this site is instrumentation.
5. The feast rule. If your declared shareable surplus spans five or more capability axes, a ghost may suggest that this is not a stockpile — it's a feast waiting for a date. This is our favorite rule, borrowed from an old idea in our own design lore: abundance that never becomes celebration curdles into inventory.
6. The season rule. Four windows a year — near the equinoxes and solstices — a ghost may surface the ritual that fits the season: walk the street in spring, games outside in midsummer, the shared meal at harvest, the phone tree before the winter storms. The calendar suggests; it never insists. If the mythic layer of Terrarium ever touches your daily life, it is here, at its lightest possible weight.
What the ghost layer will never do
No ghost will ever be generated by an advertiser, a partner, or a product margin. The borrow rule literally cannot recommend a purchase — it recommends a neighbor. No ghost fires on a schedule designed around your attention (there is no "best time to re-engage" model, and we will not build one). No ghost is A/B-tested against your anxiety. And the rules above are the complete list: if you see a suggestion this post doesn't explain, that's a bug, and we'd genuinely like to hear about it.
Why publish the thresholds?
Because the thresholds are the product. Fourteen days before the lantern rule speaks. Ninety before staleness whispers. Five axes before the feast. Two months of silence after a dismissal. These numbers are editorial judgments about how a good neighbor behaves — patient, occasionally observant, easy to wave off — and editorial judgment you can't inspect is just manipulation with a nicer voice. If we change a threshold, we'll change it here first.
The sky still doesn't blink. But some nights, if you look at the right corner, there's a small pale thing that wasn't there before, suggesting — only suggesting — that the Nguyens might like to hear from you.
Reading is a way of having. This post is a knowledge offering — thinner evidence than a practiced kit, thicker than an unread tab.