Skip to content

feat: drop the -v2 suffix from the search endpoints#5345

Merged
habdelra merged 1 commit into
mainfrom
cs-11636-unified-search-drop-the-v2-suffix-from-the-search-endpoints
Jun 27, 2026
Merged

feat: drop the -v2 suffix from the search endpoints#5345
habdelra merged 1 commit into
mainfrom
cs-11636-unified-search-drop-the-v2-suffix-from-the-search-endpoints

Conversation

@habdelra

Copy link
Copy Markdown
Contributor

Now that the four legacy search endpoints and the search-compat layer are retired, the search-entry endpoints are the only search endpoints — the -v2 suffix no longer disambiguates anything. This reclaims the canonical names:

  • /_search-v2/_search
  • /_federated-search-v2/_federated-search

Scope

  • Route registration + handlerroutes.ts, the realm-internal router in realm.ts, and the handler module (handle-search-v2.tshandle-search.ts, handleSearchV2handleSearch).
  • Consumers — host resources/services, runtime-common query helpers, boxel-cli, vscode-boxel-tools.
  • Tests/fixtures — the search-entry endpoint test files renamed to drop -v2; the prerender fixtures renamed CardSearch* to mirror the sibling FileSearch*; the suffix-aware URL/path regexes (parseSearchURL, the in-flight-search path matcher) narrowed to the single canonical spelling.
  • Skills + docs — the search skill, the boxel-cli plugin skills, and docs/search.md.

End state: main exposes /_search + /_federated-search as the search-entry endpoints, with no -v2 suffix anywhere.

boxel-cli

This changes the client↔server search contract: a boxel-cli built before this release calls the now-removed -v2 paths, and this build calls endpoints that a realm-server older than the rename does not expose. Released as a minor version bump.

Closes CS-11636.

The `search-entry` endpoints are now the only search endpoints, so the
`-v2` disambiguator is retired and the canonical names are reclaimed:

  /_search-v2           -> /_search
  /_federated-search-v2 -> /_federated-search

Updates the route registrations and handler, every consumer (host
resources/services, runtime-common query helpers, boxel-cli,
vscode-boxel-tools), and all tests/fixtures/skills/docs that referenced
the `-v2` paths. The handler module and the `search-entry` test files are
renamed to match.

This changes the client<->server search contract: a boxel-cli built
before this release calls the removed `-v2` paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR renames the canonical search-entry HTTP endpoints by removing the now-redundant -v2 suffix (/_search-v2/_search, /_federated-search-v2/_federated-search) and updates all server/host/CLI/editor consumers, tests, fixtures, and documentation accordingly.

Changes:

  • Reclaims canonical realm-server and realm endpoints (/_search, /_federated-search) and updates handler/router wiring.
  • Updates all call sites (host resources/services, runtime-common helpers, boxel-cli, VS Code tools) to use the new endpoint paths.
  • Renames/updates tests, fixtures, codemods, skills, and docs to drop -v2 terminology and path matching.

Reviewed changes

Copilot reviewed 66 out of 66 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/vscode-boxel-tools/src/skills.ts Update skill discovery search URL to /_search.
packages/runtime-common/search-results-component.ts Remove “v2” wording from search-results component contract docs.
packages/runtime-common/search-entry.ts Remove “v2” wording; document wire grammar as /_search//_federated-search.
packages/runtime-common/resource-types.ts Remove “v2” wording from search-entry resource docs.
packages/runtime-common/realm.ts Register realm router search endpoint at /_search (GET/QUERY).
packages/runtime-common/realm-index-query-engine.ts Update cross-realm search comments to /_search.
packages/runtime-common/query.ts Narrow parseSearchURL stripping to /_search only.
packages/runtime-common/query-field-utils.ts Build query search URLs using /_search.
packages/runtime-common/index-query-engine.ts Remove “v2” wording in search projection docs.
packages/runtime-common/document-types.ts Remove “v2” wording from search response types.
packages/realm-server/tests/superseded-search-surface-removed-test.ts Rename guard test away from “pre-v2” terminology.
packages/realm-server/tests/server-endpoints/search-test.ts Update federated endpoint tests to /_federated-search.
packages/realm-server/tests/server-endpoints/realm-lifecycle-test.ts Update lifecycle tests to use /_search.
packages/realm-server/tests/realm-endpoints/search-test.ts Update realm endpoint tests to use /_search.
packages/realm-server/tests/prerendering-test.ts Rename fixtures/test cases from v2-* to card-search-* and update assertions.
packages/realm-server/tests/parse-search-url-test.ts Update parseSearchURL tests to only cover /_search.
packages/realm-server/tests/index.ts Update test file list to renamed search tests and guard test name.
packages/realm-server/tests/helpers/prerender-page-patches.ts Narrow request observer to /_search + /_federated-search.
packages/realm-server/tests/helpers/index.ts Remove “v2” wording from test helper docs.
packages/realm-server/tests/codemod-context-search-test.ts Update codemod test strings/docs to “search-entry” wording (no “v2”).
packages/realm-server/tests/card-endpoints-test.ts Update endpoint expectations/requests to /_search.
packages/realm-server/scripts/codemod/context-search/transform.ts Update codemod comments/docs to “search-entry” wording (no “v2”).
packages/realm-server/scripts/bench-realm/fixtures/realm-snapshot/StickyNote/todo-green.json Update bench fixture text to “search endpoint” wording.
packages/realm-server/scripts/bench-realm/bench.ts Update benchmark request URL to /_search.
packages/realm-server/routes.ts Register federated search route at /_federated-search and use new handler module.
packages/realm-server/middleware/index.ts Update in-flight search path regex to match /_search + /_federated-search.
packages/realm-server/handlers/handle-search.ts Rename handler and update docs to “federated search” (no “v2”).
packages/host/tests/integration/store-test.gts Update mocked federated search route path and docs.
packages/host/tests/integration/search-correlation-id-test.gts Update correlation-id coverage to /_federated-search.
packages/host/tests/integration/resources/search-entries-test.gts Update test wording to “in-flight search” (no “v2”).
packages/host/tests/integration/realm-test.gts Update realm integration tests to /_search and docs.
packages/host/tests/integration/components/serialization-test.gts Update canonical search link assertions to /_search.
packages/host/tests/integration/components/search-results-test.gts Update test wording to “search” (no “v2”).
packages/host/tests/integration/components/card-context-search-results-test.gts Update wording/assertions around @context.searchResultsComponent.
packages/host/tests/integration/components/card-chooser-test.gts Update test docs to “search resource” (no “v2”).
packages/host/tests/integration/commands/sync-openrouter-models-test.gts Update command test wording to /_search.
packages/host/tests/helpers/search-cards.ts Update helper docs to “search-entry engine” (no “v2”).
packages/host/tests/helpers/realm-server-mock/routes.ts Update mock routes and remote realm passthrough to /_search + error text.
packages/host/tests/acceptance/query-fields-test.gts Update intercepted request matcher to /_federated-search.
packages/host/tests/acceptance/host-mode-test.gts Update fetch interception and docs to /_federated-search.
packages/host/app/services/store.ts Update federated search URL to /_federated-search and related docs.
packages/host/app/services/host-mode-service.ts Update head-query federated search URL to /_federated-search.
packages/host/app/routes/render.ts Update render-route cleanup docs to /_federated-search.
packages/host/app/resources/search.ts Update prerender optimization docs to /_federated-search.
packages/host/app/resources/search-entries.ts Update docs to “search” (no “v2”) across resource/view-model docs.
packages/host/app/resources/renderable-search-entries.ts Update view-model docs to “search” (no “v2”).
packages/host/app/lib/search-in-flight-key.ts Update docs to /_federated-search.
packages/host/app/lib/prerender-fetch-headers.ts Update correlation-id docs to /_federated-search.
packages/host/app/components/operator-mode/create-listing-modal.gts Update docs to “search-entry query” (no “v2”).
packages/host/app/components/operator-mode/code-submode/playground/playground-panel.gts Update docs to “search-entry queries/identity” (no “v2”).
packages/host/app/components/card-search/search-results.gts Update component-family docs to “search” (no “v2”).
packages/host/app/components/card-search/panel-content.gts Update docs to “search-entry query/search applies…” (no “v2”).
packages/host/app/components/card-search/hydratable-card.gts Update HydrationMode docs to remove “v2” wording.
packages/host/app/commands/sync-openrouter-models.ts Update direct realm search URL to /_search and warning message text.
packages/experiments-realm/components/card-list.gts Update docs to “search-entry-rooted query” (no “v2”).
packages/experiments-realm/app-card.gts Update docs to “search-entry-rooted query” (no “v2”).
packages/boxel-cli/tests/commands/ingest-card-graph.test.ts Update ingester test fake server routing to /_search.
packages/boxel-cli/src/lib/boxel-cli-client.ts Update federated search docstring to /_federated-search.
packages/boxel-cli/src/commands/search.ts Update endpoint path to /_federated-search and docs to “search-entry”.
packages/boxel-cli/src/commands/realm/ingest-card.ts Update source-realm search URL to /_search.
packages/boxel-cli/plugin/skills/search/SKILL.md Update CLI skill docs to /_federated-search.
packages/boxel-cli/plugin/skills/boxel-api/SKILL.md Update API skill docs to /_federated-search.
packages/base/components/card-list.gts Update docs to “search-entry-rooted query” (no “v2”).
packages/base/card-api.gts Update CardContext docs to “search rendering surface” (no “v2”).
docs/search.md Update documentation and example to /_search + /_federated-search.
.claude/skills/search/SKILL.md Update platform search skill docs/table to canonical endpoints.
Comments suppressed due to low confidence (1)

packages/realm-server/tests/superseded-search-surface-removed-test.ts:9

  • Comment reads awkwardly due to missing article; it currently starts with “superseded in-place additions…”. Adding “the” makes the sentence grammatical and clearer.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Preview deployments

Host Test Results

    1 files      1 suites   2h 28m 12s ⏱️
3 272 tests 3 257 ✅ 15 💤 0 ❌
3 291 runs  3 276 ✅ 15 💤 0 ❌

Results for commit 5f3dc92.

Realm Server Test Results

    1 files      1 suites   9m 44s ⏱️
1 661 tests 1 661 ✅ 0 💤 0 ❌
1 740 runs  1 740 ✅ 0 💤 0 ❌

Results for commit 5f3dc92.

@habdelra habdelra requested review from a team and richardhjtan and removed request for richardhjtan June 26, 2026 14:30
@habdelra habdelra merged commit 24fc2af into main Jun 27, 2026
73 of 75 checks passed
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.

3 participants