it shoudl be kinda aligned
edited should go
LifeLab · lens · killing the three sections
Those three headers describe how a row got into the result set — a fact about the query plan. And it's a per-row fact, already carried by the home path in the rail, so grouping by it says everything twice and fragments one answer into three lists. A view has a point of view: an order and an arrangement chosen for the question being asked. Origin is never the question.
Nobody asks "show me the linked ones". They ask "what's open", "what's mine", "what's due". Origin is plumbing — it belongs in the rail, at row scale, not as a top-level partition.
Always three, whether or not any help. A fixed taxonomy can't respond to content. subpages 0 is a header that exists to report its own emptiness.
It pre-empts the interesting axis. Grouping is the most powerful thing a view has, and it's spent before you arrive. You can't group by day, tag, or status because origin already took the slot.
Subpages aren't rows at all. They're pages. Listing them as a section of blocks flattens a page into its contents; they should appear as nested lenses, foldable, where the author placed them.
But they were carrying three real things, and the replacement has to keep all of them: (a) the counts — how much of this answer is from elsewhere; (b) the toggles — -linked, -subpages, [page]/[all]; (c) the ghost-add's target — "+ Add" needs to know which page it writes to. Below, all three move into one line and one gesture.
tag /
it shoudl be kinda aligned
edited should go
adada
ayyy
⌄ 3 more lines
+ Add to tags/inbox — TODO applied
+ Add to tags — :tags: applied
sort:. No partitions. The answer is one shape you can scan, not three you have to reconcile.2 here · 3 from elsewhere · 1 subpage — and each fragment is a filter you can click. Reading and scoping are the same gesture; -linked is just clicking "here".no drafts) or not at all. Never a header, never a rule.rows can appear twice — the count says so
one river · origin in the rail · this is the default
The old behaviour is still reachable — it's just demoted to one value among several: PAGE / SUBPAGES / LINKED becomes group:origin, for the rare moment you genuinely want to audit provenance. Everything else in the grammar stays exactly as drafted; this only changes what group: defaults to.
You lose the guarantee that "my page's own blocks come first". With one river under sort:when-desc, a journal block from someone else's page can sit above your own top-level content — which for a page you're authoring (rather than querying) is disorienting. Two ways out, and I'd pick the first: default a page lens to sort:source, where authored order naturally puts owned blocks in their authored positions and foreign rows land where their references occur; or keep a soft two-tier river — owned above, foreign below, separated by nothing but a 24px gap and the hairlines, no header and no label.
The second thing you lose is the subpage index — the flat list of child pages you could scan even when none of them matched. That's a real affordance and it shouldn't die with the section: it belongs in the header, as one line of names under the title (docs · frontend · inbox), where it reads as the page's table of contents rather than as part of the answer.