The frame the walker chose is the frame they stay in - #134
Merged
Conversation
Three things the desk got wrong about where the walker is. The empty right pane. With nothing open, the desk held a 280px column beside the queue containing one line of placeholder text — a blank column reads as something failing to load. Nothing open now means the queue has the whole width, and the pane comes back when a day or a Thread does. The day that was never asked for. Opening a Thread out of a re-stacked or narrowed queue scoped the whole left pane to that Thread's day — inferred from the Thread, never chosen — so a Topics view silently became a day view with the URL still saying lens=topics. A day frames what is inside it only when the walker actually opened one; otherwise the working set stays the frame, and the queue stays walkable from inside the Thread. With a Thread open the rows now come before the rail, which is the order a narrow pane needs. Search that could not find the research. The box reads every day, but only the walker's own words — so "what did we find out about X", where X appears only in the report, returned nothing. Search now reads the Enrichment text too, and each result carries the line it matched rather than only a title. No-ticket: true
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three things the desk got wrong about where the walker is. The first two are regressions from #120.
The empty right pane. On
/dayswith nothing open, the desk held a 280–360px column beside the queue containing one line of placeholder text. A blank column reads as something failing to load. Nothing open now means the queue takes the whole width; the pane returns when a day or Thread does.The day nobody asked for.
activeDayKeyis inferred from the open Thread, and the whole left pane scoped to it — so opening a Thread out of?reports=full&lens=topicssilently replaced the Topics queue with that Thread's day, while the URL still saidlens=topics. A day frames what is inside it only when the walker actually opened one (selectedDayKey); otherwise the working set stays the frame, the queue stays walkable withj/kfrom inside the Thread, and the day header stays away. With a Thread open the pane is narrow, so the rows now come before the rail.Search that couldn't find the research. The box reads every day but only the walker's own words — title, Captures, topics. So "what did we find out about X", where X appears only in the report the Enrichment wrote, returned nothing at all. Search now reads the Enrichment text too, and each result carries the line it matched rather than only a title.
No-ticket: true
Test plan
tests/desk-working-set-desktop.spec.ts— opening a Thread from?reports=full&lens=topicskeeps the Lens active, the facet active, no day header, the stacks intact, andjstill focusing a row; a day the walker opened still frames a facet chosen inside it; with nothing open the detail pane is hidden and the list pane is >90% of the viewport, and opening a day brings the pane backtests/desk-search.spec.ts— the matcher reads any text the Thread holds; the snippet cuts at word boundaries, marks where it cut, and returns null on no matchtests/desk-search-desktop.spec.ts— searching a phrase that appears only in the report finds its Thread, excludes the others, and shows the matched line; the walker's own words still find theirspnpm typecheckclean;pnpm test— 310 passed, 1 failed (trash-repository.spec.ts, Neon-backed, fails identically on a clean checkout ofmainhere), 10 skippedpnpm lint— 6 errors, all pre-existingWhat this is not
Search is substring matching over text the device already holds — it finds the words you type, in your Captures and in the reports. It is not the ask-across-everything surface: no embeddings, no concept grouping, no synthesized answer. That is #123 (structured mentions), #124 (pgvector similarity), #125 (retrieval into the Enrichment prompt), none of which are built.
Generated by Claude Code