Skip to content

A link can set which kinds the timeline shows - #166

Merged
robertblust merged 1 commit into
mainfrom
timeline-kinds-param
Sep 9, 2026
Merged

A link can set which kinds the timeline shows#166
robertblust merged 1 commit into
mainfrom
timeline-kinds-param

Conversation

@robertblust

Copy link
Copy Markdown
Owner

The kind filter was state a visitor set in the menu and nothing else could reach: a page that wanted to send someone to the roles alone, or to the community work alone, could only send them to the whole ledger. ?kinds= names the kinds to show, by name and in any case, comma-separated; those are on and the rest off.

https://blust.ch/timeline/?kinds=role
https://blust.ch/timeline/?kinds=role,independent#some-row

The page reads it the way it reads ?lang=: once, on arrival, then strips it from the address and remembers the selection as if the menu had been used. So the link hands the visitor a view, nothing they copy afterwards carries it, and the rule that the selection is state and not a place still holds — the address is read, never written. A name the model does not know is dropped, a list naming no kind at all is ignored whole rather than emptying the ledger, and a hash on the same link still lands: the linked row's kind is turned on if the list left it off. The ledger check asserts all of it, and that the address comes out clean.

Verified: npm run verify passes; og:check after npm run og, pages:check, design:check, test:og, test:dupes, conventions-check and conventions-sync check pass; the timeline card re-rendered to the same pixels, only its stamp changed.

🤖 Generated with Claude Code

The kind filter was state a visitor set in the menu and nothing else could reach: a page
that wanted to send someone to the roles alone, or to the community work alone, could only
send them to the whole ledger. ?kinds= names the kinds to show, by name and in any case,
comma-separated; those are on and the rest off.

The page reads it the way it reads ?lang=: once, on arrival, then strips it from the address
and remembers the selection as if the menu had been used. So the link hands the visitor a
view, nothing they copy afterwards carries it, and the rule that the selection is state and
not a place still holds — the address is read, never written. A name the model does not know
is dropped, a list naming no kind at all is ignored whole rather than emptying the ledger,
and a hash on the same link still lands: the linked row's kind is turned on if the list left
it off. The ledger check asserts all of it, and that the address comes out clean.

Verified: npm run verify passes; og:check after npm run og, pages:check, design:check,
test:og, test:dupes, conventions-check and conventions-sync check pass; the timeline card
re-rendered to the same pixels, only its stamp changed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@robertblust
robertblust merged commit 9feed7b into main Sep 9, 2026
2 checks passed
@robertblust
robertblust deleted the timeline-kinds-param branch September 9, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant