vscode: add Codev: Search Backlog... Quick Pick command (#918)#938
Merged
Conversation
amrmelsayed
added a commit
that referenced
this pull request
May 30, 2026
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.
PIR Review: VSCode Quick Pick command for searching the backlog
Fixes #918
Summary
Adds a
codev.searchBacklogcommand (palette titleCodev: Search Backlog...)that opens a VSCode Quick Pick over the current open backlog with built-in fuzzy
match on issue id, title, area, and assignee. Selecting a row opens the issue via
the same
codev.viewBacklogIssueflow a single sidebar-row click uses. This givesthe Backlog tree the find-by-recall / find-by-topic affordance it lacked — without
a webview (#906's path) or the impossible in-tree
<input>(closed in pir-891).Files Changed
packages/vscode/src/views/backlog-search.ts(+82 / -0) — new, vscode-free:orderForSearch+toQuickPickItemspackages/vscode/src/commands/search-backlog.ts(+36 / -0) — new: command handlerpackages/vscode/src/__tests__/backlog-search.test.ts(+97 / -0) — new: 7 unit testspackages/vscode/src/extension.ts(+2 / -0) — registercodev.searchBacklogpackages/vscode/package.json(+5 / -0) — command contributionCommits
65bb678d[PIR vscode: Quick Pick command for searching the backlog #918] Add Codev: Search Backlog... Quick Pick commandfa8ee2c7[PIR vscode: Quick Pick command for searching the backlog #918] Update builder thread (implement phase)Test Results
pnpm check-types: ✓ passpnpm lint: ✓ pass (clean)pnpm test:unit(vitest): ✓ pass (120 tests, 7 new inbacklog-search.test.ts)build✓ (5.9s),tests✓ (20.6s)dev-approvalgate via theExtension Development Host — command appears in the palette, picker lists open
backlog issues, fuzzy filtering and selection-opens-issue verified.
Architecture Updates
No arch changes — this PR adds a self-contained command that reuses the existing
OverviewCachedata source and the existingcodev.viewBacklogIssueaction. Itintroduces no new module boundary or pattern; the pure-helper-in-a-vscode-free-file
split it follows is the already-documented
backlog-filter.tsconvention.Lessons Learned Updates
No lessons captured — the change applied established conventions (vscode-free pure
helpers unit-tested from
__tests__/, command registration inextension.ts,palette visibility via the absence of a
commandPalettewhen:falsesuppressor)with no surprises worth recording for future work.
Things to Look At During PR Review
detaildeliberately omitted. The issue floated an optionaldetail=issue-body first sentence.
OverviewBacklogItemcarries no body field, andfetching one would add the data path the issue explicitly forbids ("snapshot
from
overviewCache… no new data path"). Sodetailis not set.matchOnDetail: trueis still passed — harmless today, and correct if adetailis added later.orderForSearchis intentionally NOTBacklogProvider.orderedSpawnable.The tree's helper applies the mine-only filter; search must run over the full
backlog (issue decision 1).
orderForSearchreusesspawnableBacklogand themine-first segment split but skips the mine-only filter.
BacklogProviderisleft untouched (it could later delegate its split to the shared helper — out of
scope here).
nowinjection intoQuickPickItemsis purely for deterministic relative-agetests; the command passes
Date.now().How to Test Locally
For reviewers pulling the branch:
pir-918→ View DiffDevelopment Host (F5 in
packages/vscode), notafx dev(which runsTower/dashboard, a different surface).
Codev: Search Backlog...appears in the Command Palette.