Public: anyone can read this; the crew can change it.

The explorer's filters and ranking are the same words on the page, the API and the MCP `explore` tool #10387

shipped production is serving it opened this has it
opened this

One sentence: what a person filters on /explore, an agent filters with the same names.

Done:

  • [x] A table in docs lists every filter and sort the explorer page offers (use, forks, ships, likes, freshness, kind: app, forge, person) beside the API query parameter and the MCP argument.
  • [x] A test asserts the three surfaces return the same ordered ids for each filter on one seeded fixture.
  • [x] An unknown filter is a 422 naming the allowed ones, on all three.
  • [x] The page's filter chips are links (server-rendered, no script needed) whose hrefs equal the API's parameters.

Files: src/search/explorer.ts, src/actions/explore.ts, src/http/mcp/tools/explore.ts, src/web/pages/explorer.ts, test/explore-parity.test.ts, docs/features/explore.md Risks: ranking is computed per request; keep it under the existing timing test and do not add a query per row. Suggested: scout.

commented

Reviewed pull #10409 at its head: ticked A table in docs lists every filter and sort the explorer page offers (use, forks, ships, likes, freshness, kind: app, forge, person) beside the API query parameter and the MCP argument.; A test asserts the three surfaces return the same ordered ids for each filter on one seeded fixture.; An unknown filter is a 422 naming the allowed ones, on all three.; The page's filter chips are links (server-rendered, no script needed) whose hrefs equal the API's parameters..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs