Skip to content

docs(plan): Mecatl Studio global search and keyboard shortcuts acceptance plan - #1763

Merged
samuv merged 1 commit into
studio/settingsfrom
plan/studio-search-shortcuts
Sep 23, 2026
Merged

samuv merged 1 commit into
studio/settingsfrom
plan/studio-search-shortcuts

Conversation

@samuv

@samuv samuv commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds docs/acceptance/studio-search-shortcuts.md (Bounded): two coupled browser-only surfaces with no BFF change — the search index and palette over inventories the BFF already serves, and the closed shortcut registry with the reference page and its honest help-feature rows.

Review focus

  • One plan for two features, recorded in Human decisions: they are coupled and neither adds a route.
  • Search indexes only titles, names, descriptions, and ids of already-authorised inventories; queries never leave the browser.

Checker: check-acceptance-plan.sh passes; task docs passes. Stacked delivery: nothing in this series merges until the whole stack is reviewed; the plan's approval-by-merge event is deferred to the end, as its Delivery line records.

Contract amendments

  • Palette. It is a modal dialog: it traps and restores focus, only its own shortcuts fire while it is open, a navigating palette shortcut closes it, and an IME composition never activates a result (AC3.4).
  • Schedule prompts. A schedule is indexed by name, model, status, and owner, never its prompt.
  • Memory row. It is gated on the user-model capability (AC3.1).
  • Keyboard wording. The contract now states that a few plain keys such as ? are bound, and that only modifier commands and Escape fire inside inputs.
  • AC2.2. Ctrl and Meta held together never match. Shift must match exactly, except on punctuation, whose produced character already encodes it. A table test proves every registered binding.

Development stage

  • Plan / Interface
  • Implementation
  • Combined
  • Spike / Routine / Cleanup

Contract linkage

  • Work classification: Bounded
  • Classification rationale: two browser-only surfaces over inventories the BFF already serves; no BFF route, schema, or daemon change
  • Decision record: None — the boundary and the published-SDK rule are ADR 0351's; this plan only fills in a feature contract that ADR anticipated
  • Human waiver of spine: Yes — the directing human chose stacked (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.
  • Acceptance plan: docs/acceptance/studio-search-shortcuts.md
  • Human decisions resolved and recorded: Yes
  • Plan / Interface PR: this PR
  • Approved commit baseline: absent until the stack root merges (stacking exception above)
  • Combined/exemption rationale: N/A

Interface conformance

  • Interface contract under review: No BFF change at all; browser-only search index and closed shortcut registry.

Issue relationship

Relates to #1751 (parent #1736; stack #1766). Non-closing: the step completes when both of its layers merge.

Type of change

  • Behavioral/interface plan
  • Bug fix
  • New feature
  • Refactoring (no behavior change)
  • Dependency update
  • Documentation/process

Test plan

Baseline checks

  • Acceptance-plan checker
  • Linting (task lint)
  • Offline test suite (task test)
  • Offline demo (go run ./cmd/mecademo)
  • Markdown changed: docs generation/link checks (task docs)

Plan layer: the acceptance-plan checker and task docs pass. The Studio gates (task studio:check, task ac-trace) run on the implementation layer above, since this layer adds no apps/ code.

User-facing change

None — a plan document and, for the bootstrap, ADR 0351.

Special notes for reviewers

Part of a fourteen-layer stack; review bottom-up. Nothing merges until the whole series is reviewed.

@samuv
samuv added this pull request to stack #1766 September 22, 2026 08:01
@samuv samuv self-assigned this Sep 22, 2026
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from 6952540 to 79c5147 Compare September 22, 2026 09:04
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from 79c5147 to d686741 Compare September 22, 2026 09:13
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from d686741 to cdd9034 Compare September 22, 2026 09:23
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from cdd9034 to a6f8af6 Compare September 22, 2026 09:59
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from a6f8af6 to 733519c Compare September 23, 2026 08:56
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from 733519c to f0b3472 Compare September 23, 2026 09:41
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from f0b3472 to 49f3b17 Compare September 23, 2026 10:47
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from 49f3b17 to 3412b3b Compare September 23, 2026 11:54
…ance plan

Bounded plan for the last Studio feature layer, two coupled browser-only
surfaces with no BFF change: the search index and palette over
inventories the BFF already serves, and the closed shortcut registry with
the reference page and its honest help-feature rows.

Tracking: #1736

Signed-off-by: Samuele Verzi <samu@stacklok.com>
@samuv
samuv force-pushed the plan/studio-search-shortcuts branch from 3412b3b to fa9e36a Compare September 23, 2026 12:54
@samuv
samuv merged commit 115c441 into main Sep 23, 2026
31 checks passed
@samuv
samuv deleted the plan/studio-search-shortcuts branch September 23, 2026 13: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