Created
March 9, 2026 03:00
-
-
Save possibilities/a7257b7fdcc98500c1a6f475fec25862 to your computer and use it in GitHub Desktop.
QMD test queries — artbird qmdctl (BM25 search + health)
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
| # QMD Test Queries — artbird qmdctl | |
| # Generated: 2026-03-09T02:57:18Z | |
| # Mode: BM25 keyword search (LLM/vector queries skipped — CPU too slow) | |
| # ============================================ | |
| # BM25 Keyword Search (/api/search) | |
| # ============================================ | |
| --- | |
| test: "keyword: websocket across all" | |
| endpoint: /api/search | |
| request: | |
| query: websocket connection | |
| limit: 5 | |
| response_time_ms: 1605 | |
| result_count: 5 | |
| results: | |
| - docid: "#9ccf70" | |
| collection: "content-topics:zeromq" | |
| title: Language | |
| path: content/documents/github-com-zeromq-rfc/content/docs/rfcs/39/readme.md | |
| score: 0.92 | |
| snippet: @@ -22,4 @@ (21 before, 118 after) ZWS connection is starting after successful WebSockets handshake between the client | |
| - docid: "#49f3d6" | |
| collection: "content-topics:zeromq" | |
| title: Preamble | |
| path: content/documents/github-com-zeromq-rfc/content/docs/rfcs/45/readme.md | |
| score: 0.92 | |
| snippet: @@ -29,4 @@ (28 before, 143 after) ZWS connection is starting after successful WebSockets handshake between the client | |
| - docid: "#ea0106" | |
| collection: content-links | |
| title: Documentation | |
| path: content/links/7e2620ca.md | |
| score: 0.91 | |
| snippet: @@ -3,4 @@ (2 before, 56 after) -- Centrifugo is an open-source scalable real-time messaging server. Centrifugo can inst | |
| - docid: "#0690aa" | |
| collection: content-links | |
| title: Create list | |
| path: content/links/a5c5c338.md | |
| score: 0.91 | |
| snippet: @@ -157,4 @@ (156 before, 397 after) * **Message parsing utilities** that normalize Claude streaming payloads. * **WebSo | |
| - docid: "#f13dff" | |
| collection: "content-topics:vitest" | |
| title: browser.connectTimeout | |
| path: .../documents/github-com-vitest-dev-vitest/docs/config/browser/connecttimeout.md | |
| score: 0.91 | |
| snippet: "@@ -15,4 @@ (14 before, 0 after) ::: info This is the time it should take for the browser to establish the WebSocket con" | |
| --- | |
| test: "keyword: hooks in claude-code" | |
| endpoint: /api/search | |
| request: | |
| query: hooks system prompt | |
| collections: ["content-topics:claude-code"] | |
| limit: 5 | |
| response_time_ms: 1519 | |
| result_count: 5 | |
| results: | |
| - docid: "#b1c194" | |
| collection: "content-topics:claude-code" | |
| title: Automate workflows with hooks | |
| path: content/documents/code-claude-com-docs-en-hooks-guide.md | |
| score: 0.9 | |
| snippet: @@ -15,4 @@ (14 before, 696 after) For decisions that require judgment rather than deterministic rules, you can also us | |
| - docid: "#b8bb09" | |
| collection: "content-topics:claude-code" | |
| title: Create custom subagents | |
| path: content/documents/code-claude-com-docs-en-sub-agents.md | |
| score: 0.89 | |
| snippet: "@@ -183,4 @@ (182 before, 636 after) The `--agents` flag accepts JSON with the same [frontmatter](#supported-frontmatte" | |
| - docid: "#8cf14e" | |
| collection: "content-topics:claude-code" | |
| title: Hooks reference | |
| path: content/documents/code-claude-com-docs-en-hooks.md | |
| score: 0.89 | |
| snippet: @@ -11,4 @@ (10 before, 1848 after) > Reference for Claude Code hook events, configuration schema, JSON input/output fo | |
| - docid: "#ad7aea" | |
| collection: "content-topics:claude-code" | |
| title: Claude Code settings | |
| path: content/documents/code-claude-com-docs-en-settings.md | |
| score: 0.89 | |
| snippet: @@ -843,4 @@ (842 before, 149 after) | `CLAUDE_CODE_SHELL_PREFIX` | Command prefix to wrap all bash | |
| - docid: "#5d009d" | |
| collection: "content-topics:claude-code" | |
| title: CLI reference | |
| path: content/documents/code-claude-com-docs-en-cli-reference.md | |
| score: 0.89 | |
| snippet: @@ -45,4 @@ (44 before, 127 after) | `--allowedTools` | Tools that execute without prompting for p | |
| --- | |
| test: "keyword: useEffect in react" | |
| endpoint: /api/search | |
| request: | |
| query: useEffect cleanup | |
| collections: ["content-topics:react"] | |
| limit: 5 | |
| response_time_ms: 1183 | |
| result_count: 5 | |
| results: | |
| - docid: "#64be98" | |
| collection: "content-topics:react" | |
| title: "Reference {/*reference*/}" | |
| path: ...cuments/github-com-reactjs-react-dev/src/content/reference/react/useeffect.md | |
| score: 0.94 | |
| snippet: @@ -928,4 @@ (927 before, 934 after) Note the `ignore` variable which is initialized to `false`, and is set to `true` d | |
| - docid: "#8d623c" | |
| collection: "content-topics:react" | |
| title: "What are Effects and how are they different from events? {/*what-are-effects-and-how-are-they-different-from-events*/}" | |
| path: .../github-com-reactjs-react-dev/src/content/learn/synchronizing-with-effects.md | |
| score: 0.94 | |
| snippet: @@ -51,4 @@ (50 before, 1558 after) 2. **Specify the Effect dependencies.** Most Effects should only re-run *when needed | |
| - docid: "#1536aa" | |
| collection: "content-topics:react" | |
| title: "Reference {/*reference*/}" | |
| path: ...ithub-com-reactjs-react-dev/src/content/reference/react/useinsertioneffect.md | |
| score: 0.94 | |
| snippet: @@ -8,4 @@ (7 before, 132 after) `useInsertionEffect` is for CSS-in-JS library authors. Unless you are working on a CSS | |
| - docid: "#c2b272" | |
| collection: "content-topics:react" | |
| title: "Reference {/*reference*/}" | |
| path: ...s/github-com-reactjs-react-dev/src/content/reference/react/uselayouteffect.md | |
| score: 0.93 | |
| snippet: "@@ -8,4 @@ (7 before, 733 after) `useLayoutEffect` can hurt performance. Prefer [`useEffect`](/reference/react/useEffec" | |
| - docid: "#2a8291" | |
| collection: "content-topics:react" | |
| title: "Reference {/*reference*/}" | |
| path: ...uments/github-com-reactjs-react-dev/src/content/reference/react/strictmode.md | |
| score: 0.93 | |
| snippet: "@@ -47,4 @@ (46 before, 1204 after) - Your components will [re-render an extra time](#fixing-bugs-found-by-double-render" | |
| --- | |
| test: "keyword: exact phrase" | |
| endpoint: /api/search | |
| request: | |
| query: "\"rate limiter\"" | |
| limit: 5 | |
| response_time_ms: 1682 | |
| result_count: 5 | |
| results: | |
| - docid: "#75f725" | |
| collection: "content-topics:perplexity" | |
| title: Rate Limits & Usage Tiers | |
| path: content/documents/docs-perplexity-ai-docs-admin-rate-limits-usage-tiers.md | |
| score: 0.89 | |
| snippet: "@@ -175,4 @@ (174 before, 96 after) <Accordion title=\"Rate Limiter Behavior Example\"> Let's examine how **50 requ" | |
| - docid: "#06d7ad" | |
| collection: "content-topics:perplexity" | |
| title: Error Handling | |
| path: content/documents/docs-perplexity-ai-docs-sdk-error-handling.md | |
| score: 0.88 | |
| snippet: "@@ -47,4 @@ (46 before, 365 after) except perplexity.RateLimitError as e: print(\"Rate limit exceeded, please ret" | |
| - docid: "#a1bc88" | |
| collection: "content-topics:repoprompt" | |
| title: "#" | |
| path: content/documents/www-youtube-com-ratelimitedpod.md | |
| score: 0.88 | |
| snippet: "@@ -1,3 @@ (0 before, 495 after) --- url: https://www.youtube.com/@ratelimitedpod md5: a762d533c97737e4c4f10e58aeba966b" | |
| - docid: "#9b5f4a" | |
| collection: "content-topics:qmd" | |
| title: QMD Query Syntax | |
| path: content/documents/github-com-tobi-qmd/docs/syntax.md | |
| score: 0.87 | |
| snippet: "@@ -58,4 @@ (57 before, 126 after) | `word` | Prefix match | `perf` matches \"performance\" | | `\"phrase\"` | Exact phrase " | |
| - docid: "#8f5c83" | |
| collection: "content-topics:perplexity" | |
| title: Performance Optimization | |
| path: content/documents/docs-perplexity-ai-docs-sdk-performance.md | |
| score: 0.87 | |
| snippet: "@@ -210,4 @@ (209 before, 453 after) print(f\"Request ID: {response.headers.get('X-Request-ID')}\") print(f\"Rate Limit" | |
| --- | |
| test: "keyword: code identifiers" | |
| endpoint: /api/search | |
| request: | |
| query: handleError async retry | |
| limit: 5 | |
| response_time_ms: 796 | |
| result_count: 1 | |
| results: | |
| - docid: "#3eb1f2" | |
| collection: "content-topics:qmd" | |
| title: QMD - Quick Markdown Search | |
| path: content/documents/github-com-tobi-qmd/skills/qmd/skill.md | |
| score: 0.94 | |
| snippet: "@@ -49,4 @@ (48 before, 96 after) - Exclude terms: `performance -sports` (minus prefix) - Code identifiers work: `handle" | |
| --- | |
| test: "keyword: multi-collection" | |
| endpoint: /api/search | |
| request: | |
| query: configuration file format | |
| collections: ["content-topics:turborepo", "content-topics:vitest", "content-topics:ruff"] | |
| limit: 5 | |
| response_time_ms: 1340 | |
| result_count: 5 | |
| results: | |
| - docid: "#0c1699" | |
| collection: "content-topics:ruff" | |
| title: Configuring Ruff | |
| path: content/documents/github-com-astral-sh-ruff/docs/configuration.md | |
| score: 0.84 | |
| snippet: @@ -9,4 @@ (8 before, 843 after) Whether you're using Ruff as a linter, formatter, or both, the underlying configuratio | |
| - docid: "#d90fdf" | |
| collection: "content-topics:ruff" | |
| title: The Ruff Formatter | |
| path: content/documents/github-com-astral-sh-ruff/docs/formatter.md | |
| score: 0.84 | |
| snippet: @@ -12,4 @@ (11 before, 661 after) `ruff format` is the primary entrypoint to the formatter. It accepts a list of files | |
| - docid: "#eaba25" | |
| collection: "content-topics:ruff" | |
| title: Settings | |
| path: content/documents/github-com-astral-sh-ruff/docs/editors/settings.md | |
| score: 0.84 | |
| snippet: "@@ -21,4 @@ (20 before, 1259 after) 1. **Configuration file path:** Specify the path to a `ruff.toml` or `pyproject.tom" | |
| - docid: "#bf12f9" | |
| collection: "content-topics:ruff" | |
| title: Features | |
| path: content/documents/github-com-astral-sh-ruff/docs/editors/features.md | |
| score: 0.84 | |
| snippet: @@ -20,4 @@ (19 before, 95 after) The server dynamically refreshes the diagnostics when a configuration file is changed | |
| - docid: "#e5bd06" | |
| collection: "content-topics:ruff" | |
| title: Migrating from `ruff-lsp` | |
| path: content/documents/github-com-astral-sh-ruff/docs/editors/migration.md | |
| score: 0.84 | |
| snippet: "@@ -72,4 @@ (71 before, 86 after) ### Configuration file If you've been providing a configuration file as shown below:" | |
| --- | |
| test: "keyword: terminal emulator in links" | |
| endpoint: /api/search | |
| request: | |
| query: terminal emulator gpu | |
| collections: [content-links] | |
| limit: 5 | |
| response_time_ms: 943 | |
| result_count: 2 | |
| results: | |
| - docid: "#0e5372" | |
| collection: content-links | |
| title: Which repo would you like to understand? | |
| path: content/links/f0f0f798.md | |
| score: 0.85 | |
| snippet: "@@ -1352,4 @@ (1351 before, 442 after) A cross-platform, OpenGL terminal emulator. 61.8k](/alacritty/alacritty)" | |
| - docid: "#f558bc" | |
| collection: content-links | |
| title: Model Context Protocol servers | |
| path: content/links/b5025440.md | |
| score: 0.72 | |
| snippet: "@@ -935,4 @@ (934 before, 725 after) - **[itemit MCP](https://github.com/umin-ai/itemit-mcp)** - itemit is Asset Trackin" | |
| --- | |
| test: "keyword: pydantic validation" | |
| endpoint: /api/search | |
| request: | |
| query: pydantic model validation | |
| collections: ["content-topics:pydantic"] | |
| limit: 5 | |
| response_time_ms: 1540 | |
| result_count: 5 | |
| results: | |
| - docid: "#af6d62" | |
| collection: "content-topics:pydantic" | |
| title: `AliasPath` and `AliasChoices` | |
| path: content/documents/github-com-pydantic-pydantic/docs/concepts/alias.md | |
| score: 0.93 | |
| snippet: "@@ -334,4 @@ (333 before, 102 after) The `by_alias` and `by_name` flags are available on the [`model_validate()`][pydant" | |
| - docid: "#03e970" | |
| collection: "content-topics:pydantic" | |
| title: Field validators | |
| path: content/documents/github-com-pydantic-pydantic/docs/concepts/validators.md | |
| score: 0.93 | |
| snippet: @@ -60,4 @@ (59 before, 861 after) from pydantic import AfterValidator, BaseModel, ValidationError | |
| - docid: "#afd025" | |
| collection: "content-topics:pydantic" | |
| title: "Class not fully defined {#class-not-fully-defined}" | |
| path: content/documents/github-com-pydantic-pydantic/docs/errors/usage-errors.md | |
| score: 0.93 | |
| snippet: @@ -11,4 @@ (10 before, 1386 after) This error is raised when a type referenced in an annotation of a pydantic-validated | |
| - docid: "#211166" | |
| collection: "content-topics:pydantic" | |
| title: Dataclass config | |
| path: content/documents/github-com-pydantic-pydantic/docs/concepts/dataclasses.md | |
| score: 0.93 | |
| snippet: "@@ -8,4 @@ (7 before, 452 after) If you don't want to use Pydantic's [`BaseModel`][pydantic.BaseModel] you can instead " | |
| - docid: "#7454eb" | |
| collection: "content-topics:pydantic" | |
| title: `arguments_type` | |
| path: content/documents/github-com-pydantic-pydantic/docs/errors/validation-errors.md | |
| score: 0.93 | |
| snippet: @@ -17,4 @@ (16 before, 2279 after) from pydantic import BaseModel, ValidationError | |
| --- | |
| test: "keyword: zeromq pub sub" | |
| endpoint: /api/search | |
| request: | |
| query: publisher subscriber pattern | |
| collections: ["content-topics:zeromq"] | |
| limit: 5 | |
| response_time_ms: 1138 | |
| result_count: 5 | |
| results: | |
| - docid: "#eb7eaa" | |
| collection: "content-topics:zeromq" | |
| title: Preamble | |
| path: content/documents/github-com-zeromq-rfc/content/docs/rfcs/29/readme.md | |
| score: 0.94 | |
| snippet: @@ -28,4 @@ (27 before, 122 after) The pattern is intended for event and data distribution, usually from a small number | |
| - docid: "#c2d86a" | |
| collection: "content-topics:zeromq" | |
| title: Key differences to conventional sockets | |
| path: content/documents/github-com-zeromq-zeromq-org/content/docs/socket-api.md | |
| score: 0.94 | |
| snippet: "@@ -111,4 @@ (110 before, 468 after) * [**Pub-sub**]({{< relref \"#publish-subscribe-pattern\" >}}), which connects a set" | |
| - docid: "#39d214" | |
| collection: "content-topics:zeromq" | |
| title: Preamble | |
| path: content/documents/github-com-zeromq-rfc/content/docs/rfcs/46/readme.md | |
| score: 0.93 | |
| snippet: @@ -93,4 @@ (92 before, 337 after) Each node SHALL create a ZeroMQ PUB and a ZeroMQ SUB socket to communicate with the t | |
| - docid: "#444f85" | |
| collection: "content-topics:zeromq" | |
| title: Preamble | |
| path: content/documents/github-com-zeromq-rfc/content/docs/rfcs/48/readme.md | |
| score: 0.93 | |
| snippet: @@ -31,4 @@ (30 before, 73 after) The pattern is intended for event and data distribution, usually from a small number | |
| - docid: "#c89876" | |
| collection: "content-topics:zeromq" | |
| title: License | |
| path: content/documents/github-com-zeromq-rfc/content/docs/rfcs/12/readme.md | |
| score: 0.92 | |
| snippet: @@ -10,4 @@ (9 before, 172 after) The Clustered Hashmap Protocol (CHP) defines a cluster-wide key-value hashmap, and me | |
| --- | |
| test: "keyword: yabai window rules" | |
| endpoint: /api/search | |
| request: | |
| query: window management tiling rules | |
| collections: ["content-topics:yabai"] | |
| limit: 5 | |
| response_time_ms: 1588 | |
| result_count: 5 | |
| results: | |
| - docid: "#896f33" | |
| collection: "content-topics:yabai" | |
| title: Commands | |
| path: ...ts/github-com-asmvik-yabai-wiki-commands-automation-with-rules-and-signals.md | |
| score: 0.95 | |
| snippet: @@ -383,4 @@ (382 before, 155 after) Rules and signals can be used to automate window management. Rules define how wind | |
| - docid: "#456309" | |
| collection: "content-topics:yabai" | |
| title: Commands | |
| path: content/documents/github-com-asmvik-yabai-wiki-commands-focus-window.md | |
| score: 0.94 | |
| snippet: @@ -383,4 @@ (382 before, 155 after) Rules and signals can be used to automate window management. Rules define how wind | |
| - docid: "#9c65da" | |
| collection: "content-topics:yabai" | |
| title: Commands | |
| path: content/documents/github-com-asmvik-yabai-wiki-commands-move-window.md | |
| score: 0.94 | |
| snippet: @@ -383,4 @@ (382 before, 155 after) Rules and signals can be used to automate window management. Rules define how wind | |
| - docid: "#97e9d9" | |
| collection: "content-topics:yabai" | |
| title: Commands | |
| path: content/documents/github-com-asmvik-yabai-wiki-commands-window-commands.md | |
| score: 0.94 | |
| snippet: @@ -383,4 @@ (382 before, 155 after) Rules and signals can be used to automate window management. Rules define how wind | |
| - docid: "#650191" | |
| collection: "content-topics:yabai" | |
| title: Commands | |
| path: content/documents/github-com-asmvik-yabai-wiki-commands-modify-window-tree.md | |
| score: 0.94 | |
| snippet: @@ -383,4 @@ (382 before, 155 after) Rules and signals can be used to automate window management. Rules define how wind | |
| --- | |
| test: "keyword: sqlite in sqlmodel" | |
| endpoint: /api/search | |
| request: | |
| query: sqlite database connection | |
| collections: ["content-topics:sqlmodel"] | |
| limit: 5 | |
| response_time_ms: 1053 | |
| result_count: 5 | |
| results: | |
| - docid: "#9087ba" | |
| collection: "content-topics:sqlmodel" | |
| title: Create a Table with SQLModel - Use the Engine | |
| path: ...nt/documents/github-com-fastapi-sqlmodel/docs/tutorial/create-db-and-table.md | |
| score: 0.93 | |
| snippet: @@ -14,4 @@ (13 before, 566 after) * Define a table with **SQLModel** * Create the same SQLite database and table with * | |
| - docid: "#432bee" | |
| collection: "content-topics:sqlmodel" | |
| title: Create Connected Tables | |
| path: .../github-com-fastapi-sqlmodel/docs/tutorial/connect/create-connected-tables.md | |
| score: 0.93 | |
| snippet: @@ -184,4 @@ (183 before, 34 after) As we saw before, those `VARCHAR` columns are converted to `TEXT` in SQLite, which | |
| - docid: "#baa8fb" | |
| collection: "content-topics:sqlmodel" | |
| title: tutorial003 | |
| path: ...-sqlmodel/docs-src/tutorial/create-db-and-table/annotations/en/tutorial003.md | |
| score: 0.92 | |
| snippet: @@ -37,4 @@ (36 before, 41 after) This doesn't create the database yet, no file or table is created at this point, | |
| - docid: "#a10a96" | |
| collection: "content-topics:sqlmodel" | |
| title: Create Rows - Use the Session - INSERT | |
| path: content/documents/github-com-fastapi-sqlmodel/docs/tutorial/insert.md | |
| score: 0.92 | |
| snippet: @@ -121,4 @@ (120 before, 232 after) Because we have Python code executing with data in memory, and the database is an | |
| - docid: "#af899e" | |
| collection: "content-topics:sqlmodel" | |
| title: test_main_003 | |
| path: ...utorial/fastapi/app-testing/tutorial001-py310/annotations/en/test-main-003.md | |
| score: 0.92 | |
| snippet: "@@ -15,4 @@ (14 before, 25 after) We use the new URL of the database for tests: ```" | |
| --- | |
| test: "keyword: embedding vector in chromadb" | |
| endpoint: /api/search | |
| request: | |
| query: embedding vector similarity search | |
| collections: ["content-topics:chromadb"] | |
| limit: 5 | |
| response_time_ms: 708 | |
| result_count: 1 | |
| results: | |
| - docid: "#516eee" | |
| collection: "content-topics:chromadb" | |
| title: Code Search Agent | |
| path: content/examples/github-com-chroma-core-chroma-cookbooks/code-search/readme.md | |
| score: 0.94 | |
| snippet: @@ -176,4 @@ (175 before, 74 after) |------|-------------| | **Semantic Search** | Vector similarity search for conceptu | |
| --- | |
| test: "keyword: vitest assertion matchers" | |
| endpoint: /api/search | |
| request: | |
| query: expect assertion matcher toEqual | |
| collections: ["content-topics:vitest"] | |
| limit: 5 | |
| response_time_ms: 486 | |
| result_count: 4 | |
| results: | |
| - docid: "#08f0ba" | |
| collection: "content-topics:vitest" | |
| title: expectTypeOf | |
| path: content/documents/github-com-vitest-dev-vitest/docs/api/expect-typeof.md | |
| score: 0.97 | |
| snippet: "@@ -41,4 @@ (40 before, 533 after) ::: This matcher checks if expect type extends provided type. It is different from `t" | |
| - docid: "#cec68c" | |
| collection: "content-topics:vitest" | |
| title: expect | |
| path: content/documents/github-com-vitest-dev-vitest/docs/api/expect.md | |
| score: 0.97 | |
| snippet: @@ -13,4 @@ (12 before, 2215 after) `expect` is used to create assertions. In this context `assertions` are functions t | |
| - docid: "#d046bb" | |
| collection: "content-topics:vitest" | |
| title: Testing Types | |
| path: content/documents/github-com-vitest-dev-vitest/docs/guide/testing-types.md | |
| score: 0.96 | |
| snippet: @@ -49,4 @@ (48 before, 104 after) When types don't match, `.toEqualTypeOf` and `.toExtend` use a special helper type t | |
| - docid: "#e86d0d" | |
| collection: "content-topics:vitest" | |
| title: Features | |
| path: content/documents/github-com-vitest-dev-vitest/docs/guide/features.md | |
| score: 0.95 | |
| snippet: "@@ -84,4 @@ (83 before, 227 after) ::: warning When running concurrent tests, Snapshots and Assertions must use `expect`" | |
| --- | |
| test: "keyword: nextjs server components" | |
| endpoint: /api/search | |
| request: | |
| query: server component streaming | |
| collections: ["content-topics:nextjs"] | |
| limit: 5 | |
| response_time_ms: 358 | |
| result_count: 0 | |
| results: | |
| --- | |
| test: "keyword: textual widgets" | |
| endpoint: /api/search | |
| request: | |
| query: widget compose mount | |
| collections: ["content-topics:textual"] | |
| limit: 5 | |
| response_time_ms: 483 | |
| result_count: 5 | |
| results: | |
| - docid: "#0de051" | |
| collection: "content-topics:textual" | |
| title: App Basics | |
| path: content/documents/github-com-textualize-textual/docs/guide/app.md | |
| score: 0.94 | |
| snippet: @@ -142,4 @@ (141 before, 248 after) When you mount a widget, Textual will mount everything the widget *composes*. Text | |
| - docid: "#5407ba" | |
| collection: "content-topics:textual" | |
| title: Reactivity | |
| path: content/documents/github-com-textualize-textual/docs/guide/reactivity.md | |
| score: 0.93 | |
| snippet: @@ -236,4 @@ (235 before, 276 after) An alternative to a refresh is *recompose*. If you set `recompose=True` on a reacti | |
| - docid: "#634552" | |
| collection: "content-topics:textual" | |
| title: Tutorial | |
| path: content/documents/github-com-textualize-textual/docs/tutorial.md | |
| score: 0.93 | |
| snippet: @@ -475,4 @@ (474 before, 29 after) The Stopwatch app creates widgets when it starts via the `compose` method. We will | |
| - docid: "#6a8e38" | |
| collection: "content-topics:textual" | |
| title: Screens | |
| path: content/documents/github-com-textualize-textual/docs/guide/screens.md | |
| score: 0.93 | |
| snippet: @@ -13,4 @@ (12 before, 359 after) Textual requires that there be at least one screen object and will create one implic | |
| - docid: "#43d53c" | |
| collection: "content-topics:textual" | |
| title: Styles | |
| path: content/documents/github-com-textualize-textual/docs/guide/styles.md | |
| score: 0.91 | |
| snippet: @@ -40,4 @@ (39 before, 323 after) The compose method stores a reference to the widget before yielding it. In the mount | |
| # ============================================ | |
| # Structured lex queries via /api/query | |
| # (lex-only, no LLM expansion) | |
| # ============================================ | |
| --- | |
| test: "structured lex: turborepo caching" | |
| endpoint: /api/query | |
| request: | |
| searches: | |
| - type: lex | |
| query: remote cache artifacts | |
| collections: ["content-topics:turborepo"] | |
| limit: 5 | |
| response_time_ms: timeout | |
| error: query timed out after 30s | |
| --- | |
| test: "structured lex: dspy modules" | |
| endpoint: /api/query | |
| request: | |
| searches: | |
| - type: lex | |
| query: module predict chain | |
| collections: ["content-topics:dspy"] | |
| limit: 5 | |
| response_time_ms: timeout | |
| error: query timed out after 30s | |
| --- | |
| test: "structured lex: process-compose" | |
| endpoint: /api/query | |
| request: | |
| searches: | |
| - type: lex | |
| query: process dependency restart | |
| collections: ["content-topics:process-compose"] | |
| limit: 5 | |
| response_time_ms: timeout | |
| error: query timed out after 30s | |
| --- | |
| test: "structured lex: lima VM" | |
| endpoint: /api/query | |
| request: | |
| searches: | |
| - type: lex | |
| query: virtual machine container linux | |
| collections: ["content-topics:lima"] | |
| limit: 5 | |
| response_time_ms: timeout | |
| error: query timed out after 30s | |
| --- | |
| test: "structured lex: mermaid diagrams" | |
| endpoint: /api/query | |
| request: | |
| searches: | |
| - type: lex | |
| query: flowchart sequence diagram | |
| collections: ["content-topics:mermaid"] | |
| limit: 5 | |
| response_time_ms: timeout | |
| error: query timed out after 30s | |
| # ============================================ | |
| # Health Check | |
| # ============================================ | |
| --- | |
| test: health endpoint | |
| endpoint: /api/health | |
| response: | |
| status: degraded | |
| search: ok | |
| llm: ok | |
| embeddings: | |
| total: 3829 | |
| embedded: 3776 | |
| pending: 3231 | |
| coverage: 98.6% | |
| # ============================================ | |
| # Notes | |
| # ============================================ | |
| # - Advanced queries (vec, hyde, expand) skipped: CPU-only mode is too slow | |
| # for LLM-based query expansion (30+ min per query) | |
| # - Embedding generation running in background (qmd embed) | |
| # - Once embeddings complete, vec queries via /api/search will be fast | |
| # - LLM expansion queries via /api/query will remain slow on CPU |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment