Repository navigation
feat(studio): global search palette and keyboard-shortcuts reference - #1764
Merged
Merged
Conversation
samuv
added this pull request to stack #1766
September 22, 2026 08:01
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 22, 2026 09:04
7abe5ee to
de383d7
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 22, 2026 09:13
de383d7 to
26c887f
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 22, 2026 09:23
26c887f to
72bad12
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 22, 2026 09:59
72bad12 to
616e2a6
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 23, 2026 08:56
616e2a6 to
730fce0
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 23, 2026 09:41
730fce0 to
646f9c3
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 23, 2026 10:47
646f9c3 to
97f6d13
Compare
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 23, 2026 11:54
97f6d13 to
f3b3639
Compare
Implementation layer of docs/acceptance/studio-search-shortcuts.md, built against plan commit 3412b3b. Browser-only, no BFF change: the search index (a pure function over the inventories the BFF already served — chats, schedules, configured and learned skills, memory keys — plus the static pages; titles, names, descriptions, and ids only, matched client-side with accent folding), the palette mounted in the top nav with its keycap, the shortcuts reference page over the closed registry with help-feature rows read off the same capability gates the owning components use, /workspace/shortcuts, and the about section's "Keyboard shortcuts" link. The kbd primitive returns. 89 server and 236 web Vitest proofs; apps/contracts unchanged. Tracking: #1736 Signed-off-by: Samuele Verzi <samu@stacklok.com>
samuv
force-pushed
the
studio/search-shortcuts
branch
from
September 23, 2026 12:54
f3b3639 to
2de1967
Compare
This was referenced Sep 23, 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.
Summary
What lands
Browser-only, no BFF change: the search index (a pure function over already-served inventories plus the static pages), the palette in the top nav with its keycap, the shortcuts reference page over the closed registry with help-feature rows read off the same capability gates the owning components use,
/workspace/shortcuts, and the about section's "Keyboard shortcuts" link.Verification
89 server and 236 web Vitest proofs (8 ACs, 0 missing);
task studio:check,task docspass;apps/contractsunchanged.Further amendments
Implements the amended search contract (see the plan layer below):
The palette runs on the Radix dialog and uses a modal shortcut scope in the provider. Its input and results follow the combobox/listbox pattern, and the highlighted result scrolls into view.
IME composition is ignored.
Schedule prompts are no longer indexed.
The Memory row on the shortcuts page follows the user-model capability.
Exact matching. The shortcut matcher now requires exact modifiers. A registry-wide table test checks each binding matches exactly its documented combination.
Plan status. This layer's diff moves its acceptance plan to
landed(header and index), per the plan lifecycle; the transition is authoritative only when this PR merges, andtask ac-trace-strictnow gates the plan.Re-verified on the rebased stack:
task studio:checkpasses (128 server + 295 web Vitest), andtask ac-trace-strictpasses with every Studio plan gated aslanded(141 ACs, 0 failures).Development stage
Contract linkage
gh stack) delivery for the whole Studio series: nothing merges until every layer is reviewed, so the plan's approval-by-merge event is deferred to the end (recorded in each plan's Delivery line), and each implementation layer records the exact plan commit it built against.docs/acceptance/studio-search-shortcuts.md3412b3b6f32611ab6f347e4d384a6ac22c7a8bbc(the plan layer below; not yet merged — stacking exception above)Interface conformance
Issue relationship
Relates to #1751 (parent #1736; stack #1766). Non-closing: the step completes when both of its layers merge.
Type of change
Test plan
Baseline checks
task lint)task test)go run ./cmd/mecademo)task docs)Studio gates (this workspace is not covered by
task lint/task test, which are Go-only):task studio:check(Biome, typecheck, Vitest, generated-drift),task ac-trace— all pass; see Verification above.User-facing change
Studio gains a global search palette and a keyboard-shortcuts reference page.
Special notes for reviewers
Part of a fourteen-layer stack; review bottom-up. Nothing merges until the whole series is reviewed.