@shoalrun/cli 0.1.0-alpha.16 → 0.1.0-alpha.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. package/AUTHORING.md +29 -0
  2. package/CHANGELOG.md +40 -0
  3. package/DEPLOYMENT-PROFILES.md +96 -5
  4. package/README.md +59 -3
  5. package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +21 -17
  6. package/agent-docs/SNAPSHOT.json +5 -5
  7. package/agent-docs/api-docs/focused-contracts.md +4 -4
  8. package/agent-docs/api-docs/generate.md +11 -11
  9. package/agent-docs/api-docs/generate.sections/add-useful-examples.md +3 -3
  10. package/agent-docs/api-docs/generate.sections/choose-generated-references-or-mdx.md +4 -4
  11. package/agent-docs/api-docs/generate.sections/describe-filters-that-do-not-use-their-openapi-parameter-name.md +1 -1
  12. package/agent-docs/api-docs/generate.sections/generate-many-pages-selectively.md +2 -2
  13. package/agent-docs/api-docs/generate.sections/link-guides-to-api-references.md +1 -1
  14. package/agent-docs/api-docs/generate.sections/map-extension-values-to-shoalrun-status.md +1 -1
  15. package/agent-docs/api-docs/generate.sections/override-generated-reference-order-in-navigation.md +4 -4
  16. package/agent-docs/api-docs/generate.sections/related-reading.md +1 -1
  17. package/agent-docs/api-docs/generate.sections/use-a-template-for-editorial-context.md +2 -2
  18. package/agent-docs/api-docs/support.md +7 -7
  19. package/agent-docs/author/add-page.md +3 -3
  20. package/agent-docs/author/agent-overview.md +3 -3
  21. package/agent-docs/author/agent-workflow.md +7 -7
  22. package/agent-docs/author/analytics.md +27 -27
  23. package/agent-docs/author/analytics.sections/adapter-exports-and-consent.md +3 -3
  24. package/agent-docs/author/analytics.sections/built-in-events.md +15 -15
  25. package/agent-docs/author/analytics.sections/configure-an-adapter.md +1 -1
  26. package/agent-docs/author/analytics.sections/custom-interactions.md +2 -2
  27. package/agent-docs/author/analytics.sections/event-format.md +2 -2
  28. package/agent-docs/author/analytics.sections/html-markdown-and-agents.md +4 -4
  29. package/agent-docs/author/analytics.sections/inspect-events-locally.md +2 -2
  30. package/agent-docs/author/analytics.sections/map-events-to-your-service.md +3 -3
  31. package/agent-docs/author/analytics.sections/posthog-example.md +3 -3
  32. package/agent-docs/author/analytics.sections/related-reading.md +1 -1
  33. package/agent-docs/author/authoring-agent.md +3 -3
  34. package/agent-docs/author/coding-agent.md +4 -4
  35. package/agent-docs/author/components/api-embeds.md +6 -6
  36. package/agent-docs/author/components/api-embeds.sections/apiexample.md +3 -3
  37. package/agent-docs/author/components/api-embeds.sections/html-markdown-and-agents.md +1 -1
  38. package/agent-docs/author/components/api-embeds.sections/related-reading.md +1 -1
  39. package/agent-docs/author/components/badge.md +2 -2
  40. package/agent-docs/author/components/callout.md +2 -2
  41. package/agent-docs/author/components/cards.md +16 -16
  42. package/agent-docs/author/components/cards.sections/add-a-lucide-icon.md +4 -4
  43. package/agent-docs/author/components/cards.sections/build-a-collection.md +7 -7
  44. package/agent-docs/author/components/cards.sections/curate-a-reading-list.md +9 -9
  45. package/agent-docs/author/components/cards.sections/html-markdown-and-agents.md +3 -3
  46. package/agent-docs/author/components/cards.sections/link-to-one-document.md +3 -3
  47. package/agent-docs/author/components/cards.sections/override-card-text.md +5 -5
  48. package/agent-docs/author/components/cards.sections/related-reading.md +3 -3
  49. package/agent-docs/author/components/code-blocks.md +2 -2
  50. package/agent-docs/author/components/collapsible.md +3 -3
  51. package/agent-docs/author/components/cookbook-chooser.md +5 -5
  52. package/agent-docs/author/components/custom/react.md +8 -8
  53. package/agent-docs/author/components/custom/react.sections/html-markdown-and-agents.md +3 -3
  54. package/agent-docs/author/components/custom/react.sections/interactive-react-example.md +2 -2
  55. package/agent-docs/author/components/custom/react.sections/registration.md +1 -1
  56. package/agent-docs/author/components/custom/react.sections/related-reading.md +1 -1
  57. package/agent-docs/author/components/custom/react.sections/share-the-model-with-the-browser.md +3 -3
  58. package/agent-docs/author/components/custom/react.sections/where-the-content-lives.md +3 -3
  59. package/agent-docs/author/components/custom.md +7 -7
  60. package/agent-docs/author/components/definition-list.md +2 -2
  61. package/agent-docs/author/components/diagrams/d2-gallery.md +2 -2
  62. package/agent-docs/author/components/diagrams/d2-gallery.sections/basic-shapes.md +2 -2
  63. package/agent-docs/author/components/diagrams/d2-gallery.sections/flows-and-structures.md +2 -2
  64. package/agent-docs/author/components/diagrams/d2-gallery.sections/html-markdown-and-agents.md +2 -2
  65. package/agent-docs/author/components/diagrams/d2-gallery.sections/layout-engines.md +2 -2
  66. package/agent-docs/author/components/diagrams/d2-gallery.sections/related-reading.md +2 -2
  67. package/agent-docs/author/components/diagrams/d2-gallery.sections/sequences-and-grids.md +2 -2
  68. package/agent-docs/author/components/diagrams/d2-gallery.sections/styles-and-code.md +2 -2
  69. package/agent-docs/author/components/diagrams/pele-gallery.md +3 -3
  70. package/agent-docs/author/components/diagrams/pele-gallery.sections/charts-and-planning.md +2 -2
  71. package/agent-docs/author/components/diagrams/pele-gallery.sections/flowchart-shapes.md +2 -2
  72. package/agent-docs/author/components/diagrams/pele-gallery.sections/flows-and-behavior.md +2 -2
  73. package/agent-docs/author/components/diagrams/pele-gallery.sections/html-markdown-and-agents.md +3 -3
  74. package/agent-docs/author/components/diagrams/pele-gallery.sections/related-reading.md +2 -2
  75. package/agent-docs/author/components/diagrams/pele-gallery.sections/specialized-diagrams.md +2 -2
  76. package/agent-docs/author/components/diagrams/pele-gallery.sections/systems-and-structures.md +2 -2
  77. package/agent-docs/author/components/diagrams.md +8 -8
  78. package/agent-docs/author/components/doc-link.md +3 -3
  79. package/agent-docs/author/components/fields.md +18 -18
  80. package/agent-docs/author/components/file-tree.md +2 -2
  81. package/agent-docs/author/components/images.md +5 -5
  82. package/agent-docs/author/components/info-hint.md +3 -3
  83. package/agent-docs/author/components/kbd.md +2 -2
  84. package/agent-docs/author/components/math.md +2 -2
  85. package/agent-docs/author/components/only.md +3 -3
  86. package/agent-docs/author/components/progress.md +3 -3
  87. package/agent-docs/author/components/steps.md +2 -2
  88. package/agent-docs/author/components/tables.md +2 -2
  89. package/agent-docs/author/components/tabs.md +5 -5
  90. package/agent-docs/author/components/timeline.md +2 -2
  91. package/agent-docs/author/components/tooltips.md +2 -2
  92. package/agent-docs/author/components/walkthroughs.md +2 -2
  93. package/agent-docs/author/components/walkthroughs.sections/attributes.md +1 -1
  94. package/agent-docs/author/components/walkthroughs.sections/build-up-code.md +1 -1
  95. package/agent-docs/author/components/walkthroughs.sections/choose-a-layout.md +2 -2
  96. package/agent-docs/author/components/walkthroughs.sections/explain-one-file.md +1 -1
  97. package/agent-docs/author/components/walkthroughs.sections/html-markdown-and-agents.md +1 -1
  98. package/agent-docs/author/components/walkthroughs.sections/related-reading.md +1 -1
  99. package/agent-docs/author/components/walkthroughs.sections/syntax.md +1 -1
  100. package/agent-docs/author/components/walkthroughs.sections/take-code-from-a-file.md +1 -1
  101. package/agent-docs/author/components.md +2 -2
  102. package/agent-docs/author/content.md +3 -3
  103. package/agent-docs/author/cookbooks.md +9 -9
  104. package/agent-docs/author/css.md +4 -4
  105. package/agent-docs/author/css.sections/borders-fields-and-navigation-tokens.md +3 -3
  106. package/agent-docs/author/css.sections/core-color-tokens.md +3 -3
  107. package/agent-docs/author/css.sections/html-markdown-and-agents.md +4 -4
  108. package/agent-docs/author/css.sections/page-attributes.md +3 -3
  109. package/agent-docs/author/css.sections/page-transitions.md +3 -3
  110. package/agent-docs/author/css.sections/responsive-behavior.md +3 -3
  111. package/agent-docs/author/css.sections/status-code-and-callout-tokens.md +3 -3
  112. package/agent-docs/author/css.sections/typography-shape-and-width-tokens.md +3 -3
  113. package/agent-docs/author/custom-metadata.md +13 -13
  114. package/agent-docs/author/custom-metadata.sections/add-a-custom-page-field.md +4 -4
  115. package/agent-docs/author/custom-metadata.sections/choose-text-for-each-surface.md +3 -3
  116. package/agent-docs/author/custom-metadata.sections/preview-changes-to-metadata-providers.md +2 -2
  117. package/agent-docs/author/custom-metadata.sections/read-metadata-from-a-project-module.md +3 -3
  118. package/agent-docs/author/custom-metadata.sections/related-reading.md +1 -1
  119. package/agent-docs/author/design-templates.md +3 -3
  120. package/agent-docs/author/design-writing-guides.md +3 -3
  121. package/agent-docs/author/frontmatter-reference.md +59 -16
  122. package/agent-docs/author/frontmatter-reference.sections/categorize-connect-and-present-the-page.md +64 -0
  123. package/agent-docs/author/frontmatter-reference.sections/choose-a-publication-and-visibility.md +14 -12
  124. package/agent-docs/author/frontmatter-reference.sections/control-output-details.md +2 -2
  125. package/agent-docs/author/frontmatter-reference.sections/feature-availability.md +59 -0
  126. package/agent-docs/author/frontmatter-reference.sections/global-defaults-and-enforced-values.md +2 -2
  127. package/agent-docs/author/frontmatter-reference.sections/html-markdown-and-agents.md +3 -3
  128. package/agent-docs/author/frontmatter-reference.sections/identify-and-route-a-page.md +2 -2
  129. package/agent-docs/author/frontmatter-reference.sections/point-agents-to-it.md +2 -2
  130. package/agent-docs/author/frontmatter-reference.sections/product-publication-fields.md +37 -0
  131. package/agent-docs/author/frontmatter-reference.sections/project-defined-fields.md +2 -2
  132. package/agent-docs/author/frontmatter-reference.sections/related-reading.md +2 -2
  133. package/agent-docs/author/frontmatter-reference.sections/use-the-local-files-while-authoring.md +4 -4
  134. package/agent-docs/author/frontmatter-reference.sections/when-the-files-update.md +2 -2
  135. package/agent-docs/author/frontmatter.md +13 -13
  136. package/agent-docs/author/frontmatter.sections/audience-badges.md +3 -3
  137. package/agent-docs/author/frontmatter.sections/give-deprecation-guidance.md +4 -4
  138. package/agent-docs/author/frontmatter.sections/global-defaults-and-enforced-values.md +1 -1
  139. package/agent-docs/author/frontmatter.sections/optional-native-fields.md +4 -4
  140. package/agent-docs/author/frontmatter.sections/publication-fields.md +2 -2
  141. package/agent-docs/author/frontmatter.sections/publishing-policy.md +1 -1
  142. package/agent-docs/author/frontmatter.sections/related-metadata-tasks.md +1 -1
  143. package/agent-docs/author/frontmatter.sections/related-reading.md +1 -1
  144. package/agent-docs/author/frontmatter.sections/required-after-inheritance.md +1 -1
  145. package/agent-docs/author/frontmatter.sections/seo-fields.md +2 -2
  146. package/agent-docs/author/frontmatter.sections/validation-rules.md +3 -3
  147. package/agent-docs/author/markdown-metadata.md +20 -20
  148. package/agent-docs/author/navigation.md +12 -12
  149. package/agent-docs/author/navigation.sections/arrange-authored-pages.md +4 -4
  150. package/agent-docs/author/navigation.sections/fill-an-api-tag-group.md +2 -2
  151. package/agent-docs/author/navigation.sections/hide-group-page-counts.md +4 -4
  152. package/agent-docs/author/navigation.sections/html-markdown-and-agents.md +4 -4
  153. package/agent-docs/author/navigation.sections/local-api-preview.md +2 -2
  154. package/agent-docs/author/navigation.sections/mix-guides-and-api-references.md +3 -3
  155. package/agent-docs/author/navigation.sections/optionally-split-a-large-menu-into-files.md +2 -2
  156. package/agent-docs/author/navigation.sections/reach-navigation-while-reading.md +2 -2
  157. package/agent-docs/author/navigation.sections/related-reading.md +2 -2
  158. package/agent-docs/author/navigation.sections/split-navigation-into-tabs.md +4 -4
  159. package/agent-docs/author/navigation.sections/subject-lifecycle-labels.md +3 -3
  160. package/agent-docs/author/reader-views.md +9 -9
  161. package/agent-docs/author/reader-views.sections/configure-the-choices.md +2 -2
  162. package/agent-docs/author/reader-views.sections/connect-your-own-control.md +1 -1
  163. package/agent-docs/author/reader-views.sections/how-it-works-for-agents.md +3 -3
  164. package/agent-docs/author/reader-views.sections/mark-pages.md +3 -3
  165. package/agent-docs/author/reader-views.sections/mark-sections-and-add-an-entry-choice.md +2 -2
  166. package/agent-docs/author/reader-views.sections/place-filter-controls.md +2 -2
  167. package/agent-docs/author/reader-views.sections/try-the-controls-here.md +2 -2
  168. package/agent-docs/author/recipe-drafts.md +5 -5
  169. package/agent-docs/author/recipe-drafts.sections/1-write-one-reusable-step.md +2 -2
  170. package/agent-docs/author/recipe-drafts.sections/2-list-the-steps-for-one-complete-goal.md +2 -2
  171. package/agent-docs/author/recipe-drafts.sections/3-generate-a-draft-and-review-it.md +1 -1
  172. package/agent-docs/author/recipe-drafts.sections/4-maintain-shoalrun-s-published-recipe-snapshots.md +2 -2
  173. package/agent-docs/author/recipe-drafts.sections/related-reading.md +1 -1
  174. package/agent-docs/author/recipe-drafts.sections/start-an-ingredient-from-an-api-example.md +2 -2
  175. package/agent-docs/author/recipes.md +9 -9
  176. package/agent-docs/author/recipes.sections/how-agents-use-this.md +3 -3
  177. package/agent-docs/author/recipes.sections/one-example-from-shoalrun.md +3 -3
  178. package/agent-docs/author/recipes.sections/related-reading.md +2 -2
  179. package/agent-docs/author/recipes.sections/try-a-complete-workflow.md +3 -3
  180. package/agent-docs/author/recipes.sections/use-recipes-for-task-oriented-how-tos.md +4 -4
  181. package/agent-docs/author/recipes.sections/what-changing-an-ingredient-updates.md +3 -3
  182. package/agent-docs/author/recipes.sections/what-each-file-does.md +2 -2
  183. package/agent-docs/author/recipes.sections/what-happens-and-when.md +3 -3
  184. package/agent-docs/author/related-reading.md +11 -11
  185. package/agent-docs/author/related-reading.sections/automatic-footers.md +3 -3
  186. package/agent-docs/author/related-reading.sections/declare-relationships.md +3 -3
  187. package/agent-docs/author/related-reading.sections/display-related-documents.md +3 -3
  188. package/agent-docs/author/related-reading.sections/html-markdown-and-agents.md +1 -1
  189. package/agent-docs/author/related-reading.sections/inspect-output-and-changes.md +2 -2
  190. package/agent-docs/author/related-reading.sections/reading-paths-in-section-markdown.md +3 -3
  191. package/agent-docs/author/related-reading.sections/related-reading.md +1 -1
  192. package/agent-docs/author/related-reading.sections/where-relationship-explanations-come-from.md +2 -2
  193. package/agent-docs/author/release-notes.md +8 -8
  194. package/agent-docs/author/search.md +82 -29
  195. package/agent-docs/author/search.sections/agent-and-mcp-search-scope.md +52 -0
  196. package/agent-docs/author/search.sections/choose-a-provider.md +8 -7
  197. package/agent-docs/author/search.sections/cli-and-mcp-ranking-details.md +4 -4
  198. package/agent-docs/author/search.sections/enable-included-semantic-search.md +66 -0
  199. package/agent-docs/author/search.sections/hosted-semantic-search-limits.md +3 -3
  200. package/agent-docs/author/search.sections/html-markdown-and-agents.md +3 -3
  201. package/agent-docs/author/search.sections/lexical-search.md +6 -6
  202. package/agent-docs/author/search.sections/local-semantic-preview.md +3 -3
  203. package/agent-docs/author/search.sections/read-a-search-result-with-an-agent.md +2 -2
  204. package/agent-docs/author/search.sections/related-reading.md +2 -2
  205. package/agent-docs/author/search.sections/reuse-the-lexical-index.md +5 -5
  206. package/agent-docs/author/search.sections/turn-search-off.md +3 -3
  207. package/agent-docs/author/search.sections/use-the-search-box.md +2 -2
  208. package/agent-docs/author/search.sections/write-a-custom-provider.md +11 -11
  209. package/agent-docs/author/snippets.md +3 -3
  210. package/agent-docs/author/taxonomy.md +3 -3
  211. package/agent-docs/author/templates.md +16 -14
  212. package/agent-docs/author/templates.sections/built-in-feature-templates.md +2 -2
  213. package/agent-docs/author/templates.sections/built-in-templates.md +2 -2
  214. package/agent-docs/author/templates.sections/choose-formatting-enforcement-for-your-project.md +7 -7
  215. package/agent-docs/author/templates.sections/create-or-edit-a-project-template.md +8 -6
  216. package/agent-docs/author/templates.sections/keep-the-four-shapes-distinct.md +2 -2
  217. package/agent-docs/author/templates.sections/project-added-templates.md +3 -3
  218. package/agent-docs/author/templates.sections/related-reading.md +2 -2
  219. package/agent-docs/author/templates.sections/scaffold-a-page.md +2 -2
  220. package/agent-docs/author/templates.sections/short-cli-and-derived-values.md +3 -3
  221. package/agent-docs/author/templates.sections/what-every-template-gives-you.md +3 -3
  222. package/agent-docs/author/workspace/commands.md +4 -4
  223. package/agent-docs/author/workspace.md +7 -7
  224. package/agent-docs/author/writing-style.md +33 -18
  225. package/agent-docs/author/writing-style.sections/adapt-this-example.md +2 -2
  226. package/agent-docs/author/writing-style.sections/choose-components-by-reader-need.md +3 -3
  227. package/agent-docs/author/writing-style.sections/evidence-and-uncertainty.md +4 -4
  228. package/agent-docs/author/writing-style.sections/example-audience-and-scope.md +2 -2
  229. package/agent-docs/author/writing-style.sections/feature-availability.md +20 -7
  230. package/agent-docs/author/writing-style.sections/ingredients-recipes-and-cookbooks.md +5 -5
  231. package/agent-docs/author/writing-style.sections/page-purpose-and-structure.md +4 -4
  232. package/agent-docs/author/writing-style.sections/procedures-and-examples.md +4 -4
  233. package/agent-docs/author/writing-style.sections/related-reading.md +2 -2
  234. package/agent-docs/author/writing-style.sections/review-a-draft.md +3 -3
  235. package/agent-docs/author/writing-style.sections/reviewed-writing-examples.md +2 -2
  236. package/agent-docs/author/writing-style.sections/voice-and-explanations.md +4 -2
  237. package/agent-docs/changelog/2026-10-14-agent-readiness.md +2 -2
  238. package/agent-docs/changelog/2026-10-15-evaluation-builds.md +9 -9
  239. package/agent-docs/changelog/2026-10-16-navigation-layouts.md +4 -4
  240. package/agent-docs/changelog/2026-10-17-mcp-hosting.md +2 -2
  241. package/agent-docs/changelog/2026-10-18-search-and-tooltips.md +3 -3
  242. package/agent-docs/changelog/2026-10-19-visual-navigation.md +3 -3
  243. package/agent-docs/changelog/2026-10-25.md +2 -2
  244. package/agent-docs/changelog/2026-10-26.md +4 -4
  245. package/agent-docs/changelog/2026-10-27.md +1 -1
  246. package/agent-docs/changelog/2026-10-28.md +3 -3
  247. package/agent-docs/changelog/2026-10-30.md +1 -1
  248. package/agent-docs/changelog/2026-11-03.md +5 -5
  249. package/agent-docs/changelog/2026-11-04-runtime-packaging.md +46 -0
  250. package/agent-docs/changelog/authoring-preview.md +3 -3
  251. package/agent-docs/changelog/authoring-search.md +1 -1
  252. package/agent-docs/changelog/authoring-tools.md +2 -2
  253. package/agent-docs/changelog/product-publications.md +60 -0
  254. package/agent-docs/changelog/working-tree-skill.md +1 -1
  255. package/agent-docs/changelog.md +17 -1
  256. package/agent-docs/chat/checks.md +11 -11
  257. package/agent-docs/chat/checks.sections/answer-ahead-of-time.md +1 -1
  258. package/agent-docs/chat/checks.sections/answer-for-one-audience.md +2 -2
  259. package/agent-docs/chat/checks.sections/answer-without-a-model.md +2 -2
  260. package/agent-docs/chat/checks.sections/follow-up-questions.md +2 -2
  261. package/agent-docs/chat/checks.sections/how-an-answer-is-checked.md +3 -3
  262. package/agent-docs/chat/checks.sections/questions-with-several-parts.md +3 -3
  263. package/agent-docs/chat/checks.sections/related-reading.md +1 -1
  264. package/agent-docs/chat/checks.sections/reuse-answers.md +4 -4
  265. package/agent-docs/chat/host.md +8 -8
  266. package/agent-docs/chat/host.sections/cap-the-daily-spend.md +2 -2
  267. package/agent-docs/chat/host.sections/keep-a-record-of-questions.md +3 -3
  268. package/agent-docs/chat/host.sections/related-reading.md +2 -2
  269. package/agent-docs/chat/passage-index.md +31 -27
  270. package/agent-docs/chat/passage-index.sections/build-the-index.md +3 -3
  271. package/agent-docs/chat/passage-index.sections/embed-passages.md +4 -4
  272. package/agent-docs/chat/passage-index.sections/how-the-default-chunker-splits-a-page.md +3 -3
  273. package/agent-docs/chat/passage-index.sections/limits.md +3 -3
  274. package/agent-docs/chat/passage-index.sections/passage-ids-and-links.md +14 -10
  275. package/agent-docs/chat/passage-index.sections/related-reading.md +3 -3
  276. package/agent-docs/chat/passage-index.sections/what-a-passage-contains.md +19 -19
  277. package/agent-docs/chat/prepared-answers.md +4 -4
  278. package/agent-docs/chat/settings.md +3 -3
  279. package/agent-docs/chat/settings.sections/choose-the-scorer.md +1 -1
  280. package/agent-docs/chat/settings.sections/configure-chat.md +1 -1
  281. package/agent-docs/chat/settings.sections/configure-retrieval.md +1 -1
  282. package/agent-docs/chat/settings.sections/related-reading.md +1 -1
  283. package/agent-docs/chat/settings.sections/send-extra-request-fields.md +2 -2
  284. package/agent-docs/chat/settings.sections/use-more-than-one-model.md +2 -2
  285. package/agent-docs/chat/settings.sections/when-the-scorer-is-down.md +1 -1
  286. package/agent-docs/chat/setup.md +2 -2
  287. package/agent-docs/chat.md +3 -3
  288. package/agent-docs/cli.md +73 -59
  289. package/agent-docs/cli.sections/audit-a-project-and-api-sources.md +11 -7
  290. package/agent-docs/cli.sections/author-pages.md +16 -12
  291. package/agent-docs/cli.sections/build-and-serve.md +30 -18
  292. package/agent-docs/cli.sections/inspect-config-and-operations.md +13 -9
  293. package/agent-docs/cli.sections/npm-scripts-in-this-repository.md +7 -3
  294. package/agent-docs/cli.sections/related-reading.md +6 -2
  295. package/agent-docs/cli.sections/search-and-chat.md +24 -18
  296. package/agent-docs/cli.sections/start-a-project.md +7 -3
  297. package/agent-docs/cli.sections/working-tree-authoring-tools.md +7 -3
  298. package/agent-docs/concepts.md +2 -2
  299. package/agent-docs/config/apis.md +2 -2
  300. package/agent-docs/config/content.md +3 -3
  301. package/agent-docs/config/content.sections/authoring.md +3 -3
  302. package/agent-docs/config/content.sections/badges.md +1 -1
  303. package/agent-docs/config/content.sections/callouts.md +1 -1
  304. package/agent-docs/config/content.sections/cookbooks.md +1 -1
  305. package/agent-docs/config/content.sections/frontmatter.md +1 -1
  306. package/agent-docs/config/content.sections/readerfilters.md +1 -1
  307. package/agent-docs/config/content.sections/related-reading.md +1 -1
  308. package/agent-docs/config/content.sections/relationships.md +1 -1
  309. package/agent-docs/config/content.sections/snippets.md +1 -1
  310. package/agent-docs/config/content.sections/templates.md +1 -1
  311. package/agent-docs/config/content.sections/variables.md +1 -1
  312. package/agent-docs/config/examples.md +4 -4
  313. package/agent-docs/config/examples.sections/feature-showcase.md +4 -4
  314. package/agent-docs/config/examples.sections/minimal-site.md +2 -2
  315. package/agent-docs/config/examples.sections/multilingual-help-center.md +2 -2
  316. package/agent-docs/config/examples.sections/parcel-api-documentation.md +2 -2
  317. package/agent-docs/config/examples.sections/related-reading.md +2 -2
  318. package/agent-docs/config/examples.sections/shared-company-preset.md +2 -2
  319. package/agent-docs/config/integrations.md +4 -4
  320. package/agent-docs/config/outputs.md +22 -16
  321. package/agent-docs/config/outputs.sections/exports.md +19 -13
  322. package/agent-docs/config/outputs.sections/metadata.md +2 -2
  323. package/agent-docs/config/outputs.sections/related-reading.md +1 -1
  324. package/agent-docs/config/publishing.md +29 -19
  325. package/agent-docs/config/publishing.sections/navigation.md +2 -2
  326. package/agent-docs/config/publishing.sections/redirects.md +8 -8
  327. package/agent-docs/config/publishing.sections/related-reading.md +2 -2
  328. package/agent-docs/config/site.md +42 -18
  329. package/agent-docs/config/site.sections/related-reading.md +1 -1
  330. package/agent-docs/config/site.sections/theme.md +1 -1
  331. package/agent-docs/config.md +2 -2
  332. package/agent-docs/configuration.md +19 -19
  333. package/agent-docs/configuration.sections/build-several-sites-from-shared-content.md +1 -1
  334. package/agent-docs/configuration.sections/change-inherited-lists-deliberately.md +5 -5
  335. package/agent-docs/configuration.sections/extract-a-section-with-include.md +1 -1
  336. package/agent-docs/configuration.sections/inspect-and-validate-changes.md +5 -5
  337. package/agent-docs/configuration.sections/related-reading.md +1 -1
  338. package/agent-docs/configuration.sections/separate-config-inheritance-from-page-metadata.md +5 -5
  339. package/agent-docs/configuration.sections/share-defaults-through-extends.md +3 -3
  340. package/agent-docs/configuration.sections/start-with-one-working-file.md +2 -2
  341. package/agent-docs/configuration.sections/understand-the-three-stages.md +3 -3
  342. package/agent-docs/configuration.sections/understand-where-paths-point.md +2 -2
  343. package/agent-docs/connect/mcp.md +24 -15
  344. package/agent-docs/content-delivery/agents.md +6 -6
  345. package/agent-docs/content-delivery/api.md +29 -16
  346. package/agent-docs/content-delivery/client.md +14 -8
  347. package/agent-docs/content-delivery/http-api/operations/get-content-representation-fa1d2e3f.md +10 -2
  348. package/agent-docs/content-delivery/http-api/operations/get-content-representation-head-4052375c.md +10 -2
  349. package/agent-docs/content-delivery/http-api/operations/get-content-resource-849f1c49.md +537 -3
  350. package/agent-docs/content-delivery/http-api/operations/get-content-resource-head-0a352acd.md +10 -2
  351. package/agent-docs/content-delivery/http-api/operations/list-content-resources-8e977ec7.md +545 -3
  352. package/agent-docs/content-delivery/http-api/operations/list-content-resources-head-b67cbad9.md +10 -2
  353. package/agent-docs/content-delivery/http-api.md +21 -7
  354. package/agent-docs/content-delivery/manifest.md +30 -8
  355. package/agent-docs/content-delivery/publish.md +5 -5
  356. package/agent-docs/content-delivery/render.md +6 -6
  357. package/agent-docs/content-delivery/rest.md +16 -8
  358. package/agent-docs/content-delivery/sections.md +11 -11
  359. package/agent-docs/content-delivery/select.md +6 -6
  360. package/agent-docs/content-delivery.md +4 -4
  361. package/agent-docs/contribute/agent-skills.md +3 -3
  362. package/agent-docs/cookbooks/authoring.md +3 -3
  363. package/agent-docs/cookbooks/site-workflows.md +2 -2
  364. package/agent-docs/cookbooks/welcome-email.md +14 -11
  365. package/agent-docs/documents.json +2445 -1942
  366. package/agent-docs/example-api/cedar.md +4 -4
  367. package/agent-docs/features.md +49 -0
  368. package/agent-docs/glossary.md +22 -22
  369. package/agent-docs/index.md +5 -5
  370. package/agent-docs/ingredients/audit-site.md +2 -2
  371. package/agent-docs/ingredients/build-site.md +2 -2
  372. package/agent-docs/ingredients/complete-page.md +2 -2
  373. package/agent-docs/ingredients/refresh-agent-bundle.md +2 -2
  374. package/agent-docs/non-goals.md +4 -4
  375. package/agent-docs/provenance.json +10 -4
  376. package/agent-docs/publish/agent-discovery.md +8 -2
  377. package/agent-docs/publish/agent-friendliness.md +21 -21
  378. package/agent-docs/publish/agent-friendliness.sections/discover-a-page-with-a-small-context-budget.md +5 -5
  379. package/agent-docs/publish/agent-friendliness.sections/distinguish-examples-from-a-real-service.md +5 -5
  380. package/agent-docs/publish/agent-friendliness.sections/evidence-has-a-scope.md +5 -5
  381. package/agent-docs/publish/agent-friendliness.sections/keep-shared-instructions-complete.md +5 -5
  382. package/agent-docs/publish/agent-friendliness.sections/related-reading.md +3 -3
  383. package/agent-docs/publish/agent-friendliness.sections/secret-handshake.md +3 -3
  384. package/agent-docs/publish/agent-friendliness.sections/try-the-page-controls.md +3 -3
  385. package/agent-docs/publish/agent-friendliness.sections/use-the-transport-your-client-supports.md +4 -4
  386. package/agent-docs/publish/agent-friendliness.sections/verify-the-page-and-detect-changes.md +9 -9
  387. package/agent-docs/publish/agent-friendliness.sections/what-an-agent-reads.md +5 -5
  388. package/agent-docs/publish/agent-friendliness.sections/what-happens-to-an-unsupported-component.md +4 -4
  389. package/agent-docs/publish/api-references.md +5 -5
  390. package/agent-docs/publish/api-references.sections/author-the-reference-page.md +2 -2
  391. package/agent-docs/publish/api-references.sections/build-and-verify-the-output.md +3 -3
  392. package/agent-docs/publish/api-references.sections/inspect-the-machine-readable-contract.md +2 -2
  393. package/agent-docs/publish/api-references.sections/next-steps.md +2 -2
  394. package/agent-docs/publish/api-references.sections/preview-a-small-api-reference.md +2 -2
  395. package/agent-docs/publish/api-references.sections/put-the-spec-in-your-project.md +2 -2
  396. package/agent-docs/publish/api-references.sections/register-the-operation.md +2 -2
  397. package/agent-docs/publish/api-references.sections/related-reading.md +2 -2
  398. package/agent-docs/publish/api-references.sections/review-imported-content-before-publishing.md +3 -3
  399. package/agent-docs/publish/api-references.sections/what-readers-get.md +3 -3
  400. package/agent-docs/publish/audit.md +8 -8
  401. package/agent-docs/publish/audit.sections/add-project-tests.md +2 -2
  402. package/agent-docs/publish/audit.sections/check-agent-evaluation-reports.md +2 -2
  403. package/agent-docs/publish/audit.sections/check-before-pushing.md +3 -3
  404. package/agent-docs/publish/audit.sections/connect-a-documentation-test-suite.md +2 -2
  405. package/agent-docs/publish/audit.sections/read-the-report.md +3 -3
  406. package/agent-docs/publish/audit.sections/related-reading.md +1 -1
  407. package/agent-docs/publish/content-export.md +37 -15
  408. package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +4 -4
  409. package/agent-docs/publish/content-export.sections/check-the-result.md +2 -2
  410. package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +3 -3
  411. package/agent-docs/publish/content-export.sections/prerequisites.md +4 -4
  412. package/agent-docs/publish/content-export.sections/related-reading.md +2 -2
  413. package/agent-docs/publish/content-export.sections/review-exported-api-material.md +3 -3
  414. package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +2 -2
  415. package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +4 -4
  416. package/agent-docs/publish/content-negotiation.md +10 -10
  417. package/agent-docs/publish/content-negotiation.sections/hosting-contract.md +2 -2
  418. package/agent-docs/publish/content-negotiation.sections/missing-pages.md +3 -3
  419. package/agent-docs/publish/content-negotiation.sections/related-reading.md +1 -1
  420. package/agent-docs/publish/content-negotiation.sections/validators-and-manifest-links.md +2 -2
  421. package/agent-docs/publish/content-negotiation.sections/verify-the-deployed-url.md +2 -2
  422. package/agent-docs/publish/content-negotiation.sections/what-if-the-host-cannot-negotiate.md +3 -3
  423. package/agent-docs/publish/content-negotiation.sections/what-shoalrun-builds-and-what-the-host-does.md +2 -2
  424. package/agent-docs/publish/content-negotiation.sections/why-this-matters.md +2 -2
  425. package/agent-docs/publish/deployment-check.md +6 -6
  426. package/agent-docs/publish/deployment-profiles.md +60 -26
  427. package/agent-docs/publish/deployment-profiles.sections/before-you-begin.md +5 -5
  428. package/agent-docs/publish/deployment-profiles.sections/build-and-inspect-the-edition.md +9 -9
  429. package/agent-docs/publish/deployment-profiles.sections/check-the-result.md +7 -7
  430. package/agent-docs/publish/deployment-profiles.sections/choose-navigation-labels.md +6 -6
  431. package/agent-docs/publish/deployment-profiles.sections/current-limits.md +7 -7
  432. package/agent-docs/publish/deployment-profiles.sections/define-the-shared-sku-manifest.md +6 -6
  433. package/agent-docs/publish/deployment-profiles.sections/html-markdown-and-agents.md +7 -7
  434. package/agent-docs/publish/deployment-profiles.sections/mark-pages-and-shared-sections.md +13 -13
  435. package/agent-docs/publish/deployment-profiles.sections/preview-and-edit-a-customer-edition.md +55 -0
  436. package/agent-docs/publish/deployment-profiles.sections/related-reading.md +6 -6
  437. package/agent-docs/publish/deployment-profiles.sections/select-each-product-release.md +55 -0
  438. package/agent-docs/publish/deployment-profiles.sections/supply-the-profile-from-the-deployment.md +6 -6
  439. package/agent-docs/publish/evals.md +16 -16
  440. package/agent-docs/publish/evals.sections/add-the-audit-hook.md +5 -5
  441. package/agent-docs/publish/evals.sections/check-the-report.md +4 -4
  442. package/agent-docs/publish/evals.sections/define-a-task-file.md +5 -5
  443. package/agent-docs/publish/evals.sections/diagnose-a-different-build.md +5 -5
  444. package/agent-docs/publish/evals.sections/prepare-a-report-for-the-built-site.md +5 -5
  445. package/agent-docs/publish/evals.sections/related-reading.md +3 -3
  446. package/agent-docs/publish/evals.sections/run-and-review-the-tasks.md +4 -4
  447. package/agent-docs/publish/evals.sections/shoalrun-s-own-example.md +6 -6
  448. package/agent-docs/publish/host-adapters.md +6 -6
  449. package/agent-docs/publish/manni.md +16 -16
  450. package/agent-docs/publish/manni.sections/check-the-result.md +3 -3
  451. package/agent-docs/publish/manni.sections/how-this-site-uses-manni.md +6 -6
  452. package/agent-docs/publish/manni.sections/optional-custom-policies.md +4 -4
  453. package/agent-docs/publish/manni.sections/prerequisites.md +2 -2
  454. package/agent-docs/publish/mcp-analytics.md +12 -12
  455. package/agent-docs/publish/mcp-analytics.sections/adapter-exports.md +4 -4
  456. package/agent-docs/publish/mcp-analytics.sections/enable-analytics.md +4 -4
  457. package/agent-docs/publish/mcp-analytics.sections/event-fields-and-service-mappings.md +4 -4
  458. package/agent-docs/publish/mcp-analytics.sections/optionally-collect-intent-and-group-calls.md +4 -4
  459. package/agent-docs/publish/mcp-analytics.sections/optionally-identify-the-client-and-model.md +5 -5
  460. package/agent-docs/publish/mcp-analytics.sections/related-reading.md +3 -3
  461. package/agent-docs/publish/mcp-analytics.sections/safeguards-and-limits.md +5 -5
  462. package/agent-docs/publish/mcp.md +56 -29
  463. package/agent-docs/publish/mcp.sections/check-budgets-and-errors.md +8 -8
  464. package/agent-docs/publish/mcp.sections/choose-the-documentation-source.md +4 -4
  465. package/agent-docs/publish/mcp.sections/configure-the-client.md +4 -4
  466. package/agent-docs/publish/mcp.sections/discover-product-releases-before-searching.md +52 -0
  467. package/agent-docs/publish/mcp.sections/generate-a-vercel-endpoint.md +6 -6
  468. package/agent-docs/publish/mcp.sections/html-markdown-and-agents.md +38 -0
  469. package/agent-docs/publish/mcp.sections/related-reading.md +3 -3
  470. package/agent-docs/publish/mcp.sections/search-then-read.md +13 -12
  471. package/agent-docs/publish/mcp.sections/serve-a-public-endpoint-on-node.md +12 -8
  472. package/agent-docs/publish/mcp.sections/verify-the-connection.md +4 -4
  473. package/agent-docs/publish/mcp.sections/why-offer-mcp-for-public-docs.md +4 -4
  474. package/agent-docs/publish/openapi-extension-mappings.md +12 -12
  475. package/agent-docs/publish/output.md +20 -20
  476. package/agent-docs/publish/output.sections/api-contracts.md +1 -1
  477. package/agent-docs/publish/output.sections/code-highlighting.md +1 -1
  478. package/agent-docs/publish/output.sections/current-limits.md +1 -1
  479. package/agent-docs/publish/output.sections/incremental-sync.md +4 -4
  480. package/agent-docs/publish/output.sections/manifest-records-and-sections.md +3 -3
  481. package/agent-docs/publish/output.sections/navigation-section-indexes.md +1 -1
  482. package/agent-docs/publish/output.sections/page-formats.md +2 -2
  483. package/agent-docs/publish/output.sections/published-output-contract.md +5 -5
  484. package/agent-docs/publish/output.sections/reader-appearance-and-controls.md +1 -1
  485. package/agent-docs/publish/output.sections/related-reading.md +1 -1
  486. package/agent-docs/publish/output.sections/response-identity.md +1 -1
  487. package/agent-docs/publish/output.sections/site-files.md +6 -6
  488. package/agent-docs/publish/output.sections/validate-an-existing-build-locally.md +3 -3
  489. package/agent-docs/publish/output.sections/where-files-go.md +3 -3
  490. package/agent-docs/publish/publications.md +108 -19
  491. package/agent-docs/publish/publications.sections/add-a-language.md +60 -0
  492. package/agent-docs/publish/publications.sections/change-just-one-part-of-a-shared-page.md +63 -0
  493. package/agent-docs/publish/publications.sections/give-each-api-version-its-own-contract.md +34 -0
  494. package/agent-docs/publish/publications.sections/keep-an-unchanged-page-in-one-file.md +53 -0
  495. package/agent-docs/publish/publications.sections/publish-versions-without-a-product-catalog.md +49 -0
  496. package/agent-docs/publish/publications.sections/related-reading.md +42 -0
  497. package/agent-docs/publish/publications.sections/version-products-independently.md +115 -0
  498. package/agent-docs/publish/publications.sections/what-agents-receive.md +38 -0
  499. package/agent-docs/publish/revisions.md +4 -4
  500. package/agent-docs/publish/seo.md +10 -10
  501. package/agent-docs/publish/seo.sections/related-reading.md +2 -2
  502. package/agent-docs/publish/seo.sections/set-the-public-address.md +3 -3
  503. package/agent-docs/publish/seo.sections/what-agents-receive.md +3 -3
  504. package/agent-docs/publish/seo.sections/what-the-build-adds.md +2 -2
  505. package/agent-docs/publish/seo.sections/write-the-page-title-and-summary.md +2 -2
  506. package/agent-docs/publish/single-source-sites.md +5 -5
  507. package/agent-docs/publish/troubleshooting.md +10 -10
  508. package/agent-docs/publish/vercel.md +5 -5
  509. package/agent-docs/publish/vercel.sections/check-the-deployment.md +1 -1
  510. package/agent-docs/publish/vercel.sections/include-an-mcp-endpoint.md +2 -2
  511. package/agent-docs/publish/vercel.sections/prepare-your-project.md +2 -2
  512. package/agent-docs/publish/vercel.sections/related-reading.md +1 -1
  513. package/agent-docs/publish.md +2 -2
  514. package/agent-docs/recipes/add-page.md +5 -5
  515. package/agent-docs/recipes/add-page.sections/audit-the-shoalrun-docs-project.md +2 -2
  516. package/agent-docs/recipes/add-page.sections/before-you-start.md +1 -1
  517. package/agent-docs/recipes/add-page.sections/build-the-shoalrun-docs-site.md +2 -2
  518. package/agent-docs/recipes/add-page.sections/check-agent-search-and-page-lookup.md +1 -1
  519. package/agent-docs/recipes/add-page.sections/check-the-built-page-artifacts.md +1 -1
  520. package/agent-docs/recipes/add-page.sections/check-the-outcome.md +1 -1
  521. package/agent-docs/recipes/add-page.sections/complete-the-guide-and-add-navigation.md +2 -2
  522. package/agent-docs/recipes/add-page.sections/install-the-site-dependencies.md +1 -1
  523. package/agent-docs/recipes/add-page.sections/regenerate-the-agent-documentation-bundle.md +2 -2
  524. package/agent-docs/recipes/add-page.sections/related-reading.md +1 -1
  525. package/agent-docs/recipes/add-page.sections/scaffold-a-new-guide.md +1 -1
  526. package/agent-docs/recipes/audit-docs.md +4 -4
  527. package/agent-docs/recipes/build-docs.md +2 -2
  528. package/agent-docs/recipes/preview-hybrid-search.md +5 -5
  529. package/agent-docs/recipes/preview-page.md +2 -2
  530. package/agent-docs/recipes/queue-email.md +3 -3
  531. package/agent-docs/recipes/refresh-agent-docs.md +4 -4
  532. package/agent-docs/recipes/send-welcome-email.md +15 -15
  533. package/agent-docs/reference/agent-skills.md +7 -7
  534. package/agent-docs/search-and-chat.md +4 -4
  535. package/agent-docs/search-index.json +1 -1
  536. package/agent-docs/start.md +5 -5
  537. package/agent-docs/start.sections/add-the-page-to-navigation.md +3 -3
  538. package/agent-docs/start.sections/build-and-check-both-outputs.md +3 -3
  539. package/agent-docs/start.sections/build-this-site.md +2 -2
  540. package/agent-docs/start.sections/check-writing-style.md +2 -2
  541. package/agent-docs/start.sections/create-a-page.md +2 -2
  542. package/agent-docs/start.sections/make-it-yours.md +2 -2
  543. package/agent-docs/start.sections/migrating-from-github-packages.md +2 -2
  544. package/agent-docs/start.sections/prerequisites.md +2 -2
  545. package/agent-docs/start.sections/related-reading.md +2 -2
  546. package/agent-docs/start.sections/start-your-own-project.md +3 -3
  547. package/agent-docs/status.md +14 -4
  548. package/agent-docs/styling/color-modes.md +2 -2
  549. package/agent-docs/styling/footer.md +2 -2
  550. package/agent-docs/styling/header.md +2 -2
  551. package/agent-docs/styling/layouts.md +3 -3
  552. package/agent-docs/styling/layouts.sections/build-a-landing-page.md +1 -1
  553. package/agent-docs/styling/layouts.sections/build-a-splash-page.md +1 -1
  554. package/agent-docs/styling/layouts.sections/control-navigation-tabs.md +2 -2
  555. package/agent-docs/styling/layouts.sections/customize-the-hero.md +1 -1
  556. package/agent-docs/styling/layouts.sections/hero.md +1 -1
  557. package/agent-docs/styling/layouts.sections/hide-the-table-of-contents-or-give-content-more-room.md +1 -1
  558. package/agent-docs/styling/layouts.sections/html-markdown-and-agents.md +2 -2
  559. package/agent-docs/styling/layouts.sections/related-reading.md +1 -1
  560. package/agent-docs/styling/palettes.md +3 -3
  561. package/agent-docs/styling/share-images.md +3 -3
  562. package/agent-docs/styling/themes.md +2 -2
  563. package/agent-docs/styling/try.md +2 -2
  564. package/agent-docs/what-is-shoalrun.md +7 -3
  565. package/assets/ask-widget.js +20 -6
  566. package/assets/navigation.js +5 -0
  567. package/dist/ai-directory.d.ts +1 -0
  568. package/dist/ai-directory.js +12 -0
  569. package/dist/answer-cards.js +1 -1
  570. package/dist/api-materialize.d.ts +2 -1
  571. package/dist/api-materialize.js +21 -9
  572. package/dist/api-publication-plan.d.ts +2 -0
  573. package/dist/api-publication-plan.js +23 -7
  574. package/dist/api-publication-review.js +4 -3
  575. package/dist/api-selection.d.ts +5 -2
  576. package/dist/api-selection.js +18 -11
  577. package/dist/artifact-bundle.js +9 -6
  578. package/dist/ask-function.d.ts +4 -18
  579. package/dist/ask-function.js +12 -71
  580. package/dist/ask-runtime.d.ts +46 -0
  581. package/dist/ask-runtime.js +101 -0
  582. package/dist/ask-setup.d.ts +3 -42
  583. package/dist/ask-setup.js +5 -93
  584. package/dist/authored-change.js +2 -1
  585. package/dist/authoring-project.js +1 -1
  586. package/dist/cards.js +2 -1
  587. package/dist/cli-discovery.d.ts +2 -2
  588. package/dist/cli-discovery.js +9 -4
  589. package/dist/cli.js +48 -23
  590. package/dist/compiler-config.d.ts +17 -0
  591. package/dist/compiler-config.js +43 -2
  592. package/dist/compiler.d.ts +21 -0
  593. package/dist/compiler.js +16 -12
  594. package/dist/component-transform.d.ts +2 -4
  595. package/dist/component-transform.js +20 -7
  596. package/dist/config.d.ts +1 -0
  597. package/dist/config.js +2 -1
  598. package/dist/content-delivery-contract.d.ts +2 -1
  599. package/dist/content-delivery-validation.d.ts +2 -2
  600. package/dist/content-delivery-validation.js +6 -4
  601. package/dist/content-export-command.d.ts +1 -1
  602. package/dist/content-export-command.js +4 -4
  603. package/dist/content-export-comparison.js +6 -5
  604. package/dist/content-export-config.js +3 -1
  605. package/dist/content-export.js +9 -8
  606. package/dist/content-rest-client.js +4 -2
  607. package/dist/content-rest-contract.d.ts +2 -2
  608. package/dist/content-rest-server.js +11 -6
  609. package/dist/content-source.d.ts +13 -0
  610. package/dist/content-source.js +5 -2
  611. package/dist/content-workspace.d.ts +12 -0
  612. package/dist/content-workspace.js +2 -1
  613. package/dist/content.js +3 -2
  614. package/dist/cookbook-chooser.js +2 -1
  615. package/dist/deployment-profile.d.ts +2 -1
  616. package/dist/deployment-profile.js +38 -8
  617. package/dist/dev.d.ts +3 -1
  618. package/dist/dev.js +99 -12
  619. package/dist/docs-author.js +2 -1
  620. package/dist/docs-command.js +2 -2
  621. package/dist/docs-eval.d.ts +1 -0
  622. package/dist/docs-eval.js +2 -2
  623. package/dist/docs-mcp.d.ts +1 -0
  624. package/dist/docs-mcp.js +10 -5
  625. package/dist/docs-tool.d.ts +4 -10
  626. package/dist/document-sync.d.ts +1 -0
  627. package/dist/document-sync.js +2 -2
  628. package/dist/documentation-core.d.ts +29 -10
  629. package/dist/documentation-core.js +38 -4
  630. package/dist/embeddings.d.ts +1 -1
  631. package/dist/embeddings.js +1 -1
  632. package/dist/freshness.js +2 -2
  633. package/dist/frontmatter.js +13 -7
  634. package/dist/function-package.js +5 -0
  635. package/dist/function-runtime.d.ts +24 -0
  636. package/dist/function-runtime.js +45 -0
  637. package/dist/index-build.d.ts +2 -2
  638. package/dist/index-build.js +5 -13
  639. package/dist/ingredient-draft.js +20 -10
  640. package/dist/mcp-analytics.d.ts +1 -0
  641. package/dist/mcp-artifacts.js +13 -4
  642. package/dist/mcp-config.d.ts +1 -0
  643. package/dist/mcp-config.js +3 -1
  644. package/dist/mcp-http.js +1 -1
  645. package/dist/page-materialization.d.ts +3 -4
  646. package/dist/page-materialization.js +15 -8
  647. package/dist/page-renderer.d.ts +6 -0
  648. package/dist/page-renderer.js +16 -5
  649. package/dist/project-navigation.js +2 -1
  650. package/dist/publication-identity.d.ts +12 -0
  651. package/dist/publication-identity.js +17 -0
  652. package/dist/publication-manifest.d.ts +24 -1
  653. package/dist/publication-manifest.js +14 -6
  654. package/dist/publication-plan.js +21 -9
  655. package/dist/publication-render.js +24 -8
  656. package/dist/recipe-draft.js +9 -6
  657. package/dist/retrieval-runtime.d.ts +5 -0
  658. package/dist/retrieval-runtime.js +21 -0
  659. package/dist/scaffold.d.ts +7 -4
  660. package/dist/scaffold.js +16 -16
  661. package/dist/search-function.d.ts +2 -0
  662. package/dist/search-function.js +30 -0
  663. package/dist/search-handler.js +2 -2
  664. package/dist/search-identifier-core.d.ts +4 -0
  665. package/dist/search-identifier-core.js +30 -0
  666. package/dist/search-identifier.d.ts +3 -3
  667. package/dist/search-identifier.js +7 -30
  668. package/dist/search-literal.js +1 -1
  669. package/dist/search-query.d.ts +4 -10
  670. package/dist/search-query.js +10 -9
  671. package/dist/search-results.js +1 -1
  672. package/dist/search-snippet.d.ts +1 -1
  673. package/dist/search-snippet.js +2 -14
  674. package/dist/search-text.d.ts +1 -0
  675. package/dist/search-text.js +14 -0
  676. package/dist/server.d.ts +8 -0
  677. package/dist/server.js +14 -3
  678. package/dist/subject-deprecation.js +2 -1
  679. package/dist/vercel-function.js +11 -3
  680. package/example-configs/products/README.md +37 -0
  681. package/example-configs/products/content/operations.mdx +50 -0
  682. package/example-configs/products/content/payments-v2.mdx +30 -0
  683. package/example-configs/products/content/payments-v3.mdx +38 -0
  684. package/example-configs/products/content/priority-settlement.mdx +23 -0
  685. package/example-configs/products/content/reporting-v1.mdx +36 -0
  686. package/example-configs/products/content/scheduled-exports.mdx +23 -0
  687. package/example-configs/products/docs.config.yaml +56 -0
  688. package/example-configs/products/profiles/all-releases.yaml +9 -0
  689. package/example-configs/products/profiles/customer-a.yaml +13 -0
  690. package/example-configs/products/profiles/customer-b.yaml +13 -0
  691. package/example-configs/products/skus.yaml +11 -0
  692. package/examples/content-delivery/preview.mjs +1 -1
  693. package/package.json +1 -1
  694. package/schemas/content-export.schema.json +41 -3
  695. package/schemas/content-rest.openapi.json +184 -37
  696. package/skills/shoalrun-author/SKILL.md +6 -2
  697. package/skills/shoalrun-author/references/customer-editions.md +34 -4
  698. package/skills/shoalrun-author/references/publications.md +60 -0
  699. package/skills/shoalrun-recipes/SKILL.md +2 -0
  700. package/skills/shoalrun-setup/SKILL.md +3 -1
  701. package/styles/header.css +3 -0
  702. package/styles/site.css +3 -0
  703. package/agent-docs/publish/content-export.sections/export-selected-pages.md +0 -116
@@ -16,11 +16,11 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
23
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
23
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
24
24
 
25
25
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
26
26
 
@@ -35,14 +35,48 @@ outputs:
35
35
  provider: lexical
36
36
  ```
37
37
 
38
- | Provider | Behavior |
39
- | --------- | ----------------------------------------------------------------------- |
40
- | `lexical` | The default. Builds `/search-index.json` and matches it in the browser. |
41
- | `custom` | Loads your browser module. Needs `module`; `index` is optional. |
42
- | `none` | Removes the search box. Writes no index or provider file. |
38
+ | Provider | Behavior |
39
+ | ---------- | ------------------------------------------------------------------------------------------------ |
40
+ | `lexical` | The default. Builds `/search-index.json` and matches it in the browser. |
41
+ | `semantic` | Uses Shoalrun’s same-origin search endpoint, with browser keyword fallback. Since 0.1.0-alpha.16 |
42
+ | `custom` | Loads your browser module. Needs `module`; `index` is optional. |
43
+ | `none` | Removes the search box. Writes no index or provider file. |
43
44
 
44
45
  The build copies the provider module to `/assets/search-provider.js`. The search box imports that file when a reader first focuses the box or types.
45
46
 
47
+ ## Enable included semantic search
48
+
49
+ Since 0.1.0-alpha.16
50
+
51
+ Choose the included semantic provider to connect the search box to Shoalrun's endpoint without writing a browser adapter:
52
+
53
+ ```yaml title="docs.config.yaml"
54
+ outputs:
55
+ html:
56
+ search:
57
+ provider: semantic
58
+ retrieval:
59
+ embeddings:
60
+ provider: voyage
61
+ model: voyage-4-large
62
+ queryModel: voyage-4-lite
63
+ dimension: 1024
64
+ ```
65
+
66
+ Set `VOYAGE_API_KEY` in the terminal environment, then build the site, embed its passages, and start the local endpoint:
67
+
68
+ ```sh
69
+ npx --no-install shoalrun build docs.config.yaml site-dist
70
+ npx --no-install shoalrun index site-dist --embed --config docs.config.yaml
71
+ npx --no-install shoalrun serve site-dist --search --config docs.config.yaml
72
+ ```
73
+
74
+ Keys remain server-side. Each semantic query calls the embedding provider; no chat model is required. The browser sends the selected publication and reader view with each request. A missing or unavailable endpoint uses the included browser keyword index. Requests cancelled by further typing don't start fallback searches.
75
+
76
+ Confirm `mode: vector` in the endpoint response to verify semantic retrieval. Rebuild and reindex edited content, then restart the local server. The [passage index](https://www.shoalrun.com/chat/passage-index.md) explains input reuse and release-specific passage identities.
77
+
78
+ This setting selects the browser connection; it doesn't provision production hosting. The current [Vercel integration](https://www.shoalrun.com/publish/vercel.md) supplies search through its chat-function deployment. Profiled Vercel chat-function builds remain unsupported. Static deployments retain keyword search when no endpoint is present. Custom search services can continue to use `provider: custom`.
79
+
46
80
  ## Use the search box
47
81
 
48
82
  Press `/` or `Ctrl`+`K` (`⌘`+`K` on macOS) to focus the box. Use the arrow keys to move through results, Enter to open one, and Escape to close the list. When a match falls inside a section, the result names the section and links to its heading.
@@ -58,7 +92,7 @@ The browser provider ranks matches in this order:
58
92
  1. Pages containing every query term or its mapped synonym.
59
93
  2. If none match completely, partial results ordered by matched term count, then field score.
60
94
 
61
- Common filler words such as “how,” “do,” and “the” do not count toward partial-match coverage. A partial result must match at least one remaining term. This helps sentence-shaped queries but does not infer meaning or handle typos and general stemming.
95
+ Common filler words such as “how,” “do,” and “the” don't count toward partial-match coverage. A partial result must match at least one remaining term. This helps sentence-shaped queries but doesn't infer meaning or handle typos and general stemming.
62
96
 
63
97
  The [local search command](https://www.shoalrun.com/cli.md) shares the base index and weights, with additional CLI/MCP ranking rules described below.
64
98
 
@@ -88,11 +122,11 @@ Pages rank by where the terms appear:
88
122
  3. Section headings.
89
123
  4. Body text.
90
124
 
91
- The built-in lexical provider returns at most one result per page. It adds a section link when every query term matches one section heading and the query is not already a title match. With a reader view selected, it returns page links because the unfiltered heading list may include hidden sections. Custom providers can return multiple section results from the same page.
125
+ The built-in lexical provider returns at most one result per page. It adds a section link when every query term matches one section heading and the query isn't already a title match. With a reader view selected, it returns page links because the unfiltered heading list may include hidden sections. Custom providers can return multiple section results from the same page.
92
126
 
93
- The list shows the top eight results. The provider downloads the index once, on first focus, and searches only pages in the reader's channel, version, and language. When [reader views](https://www.shoalrun.com/author/reader-views.md) are configured, it also excludes pages and marked section text outside the selected view. The local CLI search command reads the full index and does not apply a browser's saved view.
127
+ The list shows the top eight results. The provider downloads the index once, on first focus, and searches only pages in the reader's publication. Product scope Since 0.1.0-alpha.18 includes product, channel, version, and language. When [reader views](https://www.shoalrun.com/author/reader-views.md) are configured, it also excludes pages and marked section text outside the selected view. The local CLI search command reads the full index and doesn't apply a browser's saved view.
94
128
 
95
- The navigation sidebar has a separate filter. Its optional node-level `search` terms help readers find menu items; they do not change `/search-index.json` or masthead results. See [Organize site navigation](https://www.shoalrun.com/author/navigation.md).
129
+ The navigation sidebar has a separate filter. Its optional node-level `search` terms help readers find menu items; they don't change `/search-index.json` or masthead results. See [Organize site navigation](https://www.shoalrun.com/author/navigation.md).
96
130
 
97
131
  ## Hosted semantic search limits
98
132
 
@@ -110,7 +144,7 @@ These are the defaults. Each value must be a positive whole number. They apply t
110
144
 
111
145
  The Vercel adapter wires these settings into the generated search function when hosted search is included in the build. Configure the embedding provider and shared Redis/KV credentials in the hosting environment. See [Publish on Vercel](https://www.shoalrun.com/publish/vercel.md).
112
146
 
113
- Other hosting platforms need an adapter that runs Shoalrun's hosted search handler, passes the site's settings, and connects the shared counter store. Shoalrun does not automatically apply these limits to another host or a customer's search service. A static-only deployment can use the built-in browser keyword provider without a server function.
147
+ Other hosting platforms need an adapter that runs Shoalrun's hosted search handler, passes the site's settings, and connects the shared counter store. Shoalrun doesn't automatically apply these limits to another host or a customer's search service. A static-only deployment can use the built-in browser keyword provider without a server function.
114
148
 
115
149
  Daily limits count attempts to embed a query and reset at midnight UTC. A caller is identified by the forwarded IP address, so people sharing a network can share an allowance. The site-wide limit applies across callers using the same counter store. Use a separate store for each site's independent allowance.
116
150
 
@@ -153,14 +187,14 @@ The `module` path resolves from the config file that declares it. The module is
153
187
 
154
188
  The search box passes a context object to both functions.
155
189
 
156
- | Field | Value |
157
- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
158
- | `variant` | The page's channel, version, and language, joined by `\|`, such as `production\|current\|en`. |
159
- | `language` | The page's `lang` value. |
160
- | `indexUrl` | The base-path-prefixed `/search-index.json` URL. The file exists only when the build writes an index. |
161
- | `limit` | The maximum number of results the box shows. |
162
- | `signal` | An `AbortSignal`, passed to `search` only. It aborts when the reader types again. |
163
- | `readerSelection` | The active reader view as facet IDs mapped to arrays of choice IDs. An empty object means show all. Custom providers must use it to filter their results. |
190
+ | Field | Value |
191
+ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
+ | `variant` | The page’s publication key. Productless keys stay `channel\|version\|language`, such as `production\|current\|en`. Product publication keys append the product, such as `production\|v3\|en\|payments`. Forward this key unchanged; don't drop its product. |
193
+ | `language` | The page's `lang` value. |
194
+ | `indexUrl` | The base-path-prefixed `/search-index.json` URL. The file exists only when the build writes an index. |
195
+ | `limit` | The maximum number of results the box shows. |
196
+ | `signal` | An `AbortSignal`, passed to `search` only. It aborts when the reader types again. |
197
+ | `readerSelection` | The active reader view as facet IDs mapped to arrays of choice IDs. An empty object means show all. Custom providers must use it to filter their results. |
164
198
 
165
199
  Pass `signal` to `fetch` so stale requests stop. The box ignores results from an aborted search.
166
200
 
@@ -179,7 +213,7 @@ The box drops results without a valid `url` and `title`, and it keeps the first
179
213
 
180
214
  ### Module limits
181
215
 
182
- The build copies one file. It does not copy files that the module imports with relative paths. Bundle the provider into one file, or import dependencies from absolute URLs.
216
+ The build copies one file. It doesn't copy files that the module imports with relative paths. Bundle the provider into one file, or import dependencies from absolute URLs.
183
217
 
184
218
  ## Reuse the lexical index
185
219
 
@@ -218,12 +252,12 @@ The generated index contains one record for each published page:
218
252
  The index fields have these limits:
219
253
 
220
254
  - `headings` covers levels 2 through 4, including headings later in the article.
221
- - `text` holds the first 5,000 characters of the HTML article as plain text. Body words beyond that limit are not searchable through this field.
255
+ - `text` holds the first 5,000 characters of the HTML article as plain text. Body words beyond that limit aren't searchable through this field.
222
256
  - Titles and the selected summary are indexed separately from body text.
223
- - A section result links to a heading; it does not mean the section's full body was indexed.
257
+ - A section result links to a heading; it doesn't mean the section's full body was indexed.
224
258
  - `id` and `markdownUrl` let local tools cite the matching page.
225
259
 
226
- When reader views are enabled, `readerFilters` holds page marks and `readerSegments` holds shared and marked text. A custom provider must apply those marks to respect the selected view. The full text remains in the index; reader views do not restrict access to published files.
260
+ When reader views are enabled, `readerFilters` holds page marks and `readerSegments` holds shared and marked text. A custom provider must apply those marks to respect the selected view. The full text remains in the index; reader views don't restrict access to published files.
227
261
 
228
262
  The browser index comes from the HTML article, including HTML-only blocks and excluding Markdown-only blocks written with [Only](https://www.shoalrun.com/author/components/only.md). It excludes the surrounding header, navigation, and search UI. Marked sections stay in the stored index; the built-in browser provider filters their text when a view is active. Each `readerSegments` text value is capped at 5,000 characters.
229
263
 
@@ -240,18 +274,37 @@ outputs:
240
274
  provider: none
241
275
  ```
242
276
 
243
- This removes both the reader search box and its index, so the local search command has nothing to query. Markdown twins, `/llms.txt`, and `/documents.json` do not change with the provider. Agents can still discover and fetch pages, but `shoalrun search` cannot query a missing `search-index.json`. The passage index and semantic endpoint are independent of this browser setting. Changing it does not remove those artifacts or disable a deployed endpoint.
277
+ This removes both the reader search box and its index, so the local search command has nothing to query. Markdown twins, `/llms.txt`, and `/documents.json` don't change with the provider. Agents can still discover and fetch pages, but `shoalrun search` can't query a missing `search-index.json`. The passage index and semantic endpoint are independent of this browser setting. Changing it doesn't remove those artifacts or disable a deployed endpoint.
244
278
 
245
279
  ## Local semantic preview
246
280
 
247
281
  The optional search endpoint uses vector similarity when current query and passage embeddings are available. It falls back to keyword passage search if vectors are unavailable, the provider fails, the budget is exhausted, or the deadline expires.
248
282
 
249
- For dotted configuration keys or command flags, the endpoint can add an exact-identifier explanation as the third result. It must contain every requested identifier in prose; tables, code listings, and identifier prefixes do not qualify. The first two semantic results stay in place. File-name queries and requests for fewer than three results keep semantic ranking.
283
+ For dotted configuration keys or command flags, the endpoint can add an exact-identifier explanation as the third result. It must contain every requested identifier in prose; tables, code listings, and identifier prefixes don't qualify. The first two semantic results stay in place. File-name queries and requests for fewer than three results keep semantic ranking.
250
284
 
251
285
  Result snippets prefer prose matching the substantive words in your question, omit generated discovery text, and keep a matching term visible in a long paragraph. Code-only and table-only passages use the page summary.
252
286
 
253
287
  [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) covers the embedding provider key, passage index, local endpoint, lexical fallback, and Network inspector checks.
254
288
 
289
+ ## Agent and MCP search scope
290
+
291
+ `outputs.html.search.provider: semantic` changes the website search box. It doesn't change CLI or MCP search into semantic retrieval. Those tools retain keyword search and explicit publication selection.
292
+
293
+ Since 0.1.0-alpha.18
294
+
295
+ A product is part of publication identity, even when a reader facet also uses the name `product`. A saved reader view doesn't choose a product release or remove content from generated files.
296
+
297
+ For a build containing independently versioned products, select the product release when searching:
298
+
299
+ ```sh
300
+ npx --no-install shoalrun search site-dist "missing events" \
301
+ --product payments --channel production --version v3 --language en
302
+ ```
303
+
304
+ A local MCP server’s `search_docs` tool accepts the same `product`, `channel`, `version`, and `language` fields. Call `get_publications` first when the scope is unknown; it returns a compact page of published coordinates, not a page inventory. Follow `nextOffset` for more. Follow the returned `read.tool` and `read.arguments` to read the matching page or section in that publication. Don't substitute a current-release page with the same logical ID.
305
+
306
+ A hosted MCP build still packages one configured publication, including its product when present, and rejects requests for another scope. Its `get_publications` result lists only that endpoint’s publication. A local stdio MCP server can discover and select among publications in its built site. Customer-specific builds expose only their compiled edition; excluded product releases don't become available through search or reader filters.
307
+
255
308
  ## CLI and MCP ranking details
256
309
 
257
310
  CLI and MCP use the lexical index too, with additional ranking rules for documentation lookups. Browser search keeps its complete-match-first, coverage-first behavior.
@@ -262,11 +315,11 @@ When CLI/MCP search has no complete matches, it first finds the highest meaningf
262
315
 
263
316
  ### Title plurals
264
317
 
265
- CLI and MCP page-title matching also accepts a simple final-`s` query plural against a singular title. It leaves short words and endings `-ss`, `-us`, and `-is` intact. This title-only rule does not add general stemming to body or heading searches.
318
+ CLI and MCP page-title matching also accepts a simple final-`s` query plural against a singular title. It leaves short words and endings `-ss`, `-us`, and `-is` intact. This title-only rule doesn't add general stemming to body or heading searches.
266
319
 
267
320
  ### Mixed matches
268
321
 
269
- CLI and MCP search can also return a stronger partial match when every complete match gets all meaningful query terms from body text alone. The partial match must contain all but one meaningful term, match at least two, and score higher through title, summary, or heading matches. Common question words cannot earn this preference. A complete match with any meaningful title, summary, or heading match keeps the original preference. Results report `matchMode: mixed` when the exception applies, retain the complete matches, and rank by non-filler field score. This bounded lexical rule does not infer intent or guarantee an answer. The browser search box keeps its complete-match-first behavior.
322
+ CLI and MCP search can also return a stronger partial match when every complete match gets all meaningful query terms from body text alone. The partial match must contain all but one meaningful term, match at least two, and score higher through title, summary, or heading matches. Common question words can't earn this preference. A complete match with any meaningful title, summary, or heading match keeps the original preference. Results report `matchMode: mixed` when the exception applies, retain the complete matches, and rank by non-filler field score. This bounded lexical rule doesn't infer intent or guarantee an answer. The browser search box keeps its complete-match-first behavior.
270
323
 
271
324
  ## Read a search result with an agent
272
325
 
@@ -278,7 +331,7 @@ Section resources exist only for pages of at least 2,000 `cl100k_base` tokens an
278
331
 
279
332
  ## HTML, Markdown, and agents
280
333
 
281
- The dropdown is an HTML interaction. It links to published pages and sections; it is not written into a page's Markdown twin. An agent can read the same published Markdown pages through their `.md` routes and discovery files. The local semantic endpoint returns links and short text, not an answer or a new agent-only representation. [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) describes the Markdown routes and discovery files.
334
+ The search results dropdown is an HTML interaction. It links to published pages and sections; it isn't written into a page's Markdown twin. An agent can read the same published Markdown pages through their `.md` routes and discovery files. The publication dropdown changes the active HTML product release and the search scope. It doesn't appear as an interactive control in Markdown. Agents retain the product/channel/version/language coordinates in CLI or MCP reads; a repeated page ID in another product is a different publication. The local semantic endpoint returns links and short text, not an answer or a new agent-only representation. [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) describes the Markdown routes and discovery files.
282
335
 
283
336
  ## Related reading
284
337
 
@@ -0,0 +1,52 @@
1
+ ---
2
+ id: guide.search
3
+ title: Site search
4
+ summary: Search settings, keyboard behavior, provider interfaces, and index fields.
5
+ type: reference
6
+ area: discovery
7
+ subarea: discovery-search
8
+ canonical: /author/search
9
+ ---
10
+
11
+ # Site search
12
+
13
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
14
+
15
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
16
+
17
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
+
19
+ **Updated: 2026-11-05.**
20
+
21
+ **Verified: 2026-10-01.**
22
+
23
+ Parent page: [Full Markdown page](/author/search.md)
24
+
25
+ **Page reading path** — these links apply to the full page.
26
+
27
+ **Next steps**
28
+
29
+ - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
+
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
+
33
+ Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
+
35
+ ## Agent and MCP search scope
36
+
37
+ `outputs.html.search.provider: semantic` changes the website search box. It doesn't change CLI or MCP search into semantic retrieval. Those tools retain keyword search and explicit publication selection.
38
+
39
+ Since 0.1.0-alpha.18
40
+
41
+ A product is part of publication identity, even when a reader facet also uses the name `product`. A saved reader view doesn't choose a product release or remove content from generated files.
42
+
43
+ For a build containing independently versioned products, select the product release when searching:
44
+
45
+ ```sh
46
+ npx --no-install shoalrun search site-dist "missing events" \
47
+ --product payments --channel production --version v3 --language en
48
+ ```
49
+
50
+ A local MCP server’s `search_docs` tool accepts the same `product`, `channel`, `version`, and `language` fields. Call `get_publications` first when the scope is unknown; it returns a compact page of published coordinates, not a page inventory. Follow `nextOffset` for more. Follow the returned `read.tool` and `read.arguments` to read the matching page or section in that publication. Don't substitute a current-release page with the same logical ID.
51
+
52
+ A hosted MCP build still packages one configured publication, including its product when present, and rejects requests for another scope. Its `get_publications` result lists only that endpoint’s publication. A local stdio MCP server can discover and select among publications in its built site. Customer-specific builds expose only their compiled edition; excluded product releases don't become available through search or reader filters.
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -43,10 +43,11 @@ outputs:
43
43
  provider: lexical
44
44
  ```
45
45
 
46
- | Provider | Behavior |
47
- | --------- | ----------------------------------------------------------------------- |
48
- | `lexical` | The default. Builds `/search-index.json` and matches it in the browser. |
49
- | `custom` | Loads your browser module. Needs `module`; `index` is optional. |
50
- | `none` | Removes the search box. Writes no index or provider file. |
46
+ | Provider | Behavior |
47
+ | ---------- | ------------------------------------------------------------------------------------------------ |
48
+ | `lexical` | The default. Builds `/search-index.json` and matches it in the browser. |
49
+ | `semantic` | Uses Shoalrun’s same-origin search endpoint, with browser keyword fallback. Since 0.1.0-alpha.16 |
50
+ | `custom` | Loads your browser module. Needs `module`; `index` is optional. |
51
+ | `none` | Removes the search box. Writes no index or provider file. |
51
52
 
52
53
  The build copies the provider module to `/assets/search-provider.js`. The search box imports that file when a reader first focuses the box or types.
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -42,8 +42,8 @@ When CLI/MCP search has no complete matches, it first finds the highest meaningf
42
42
 
43
43
  ### Title plurals
44
44
 
45
- CLI and MCP page-title matching also accepts a simple final-`s` query plural against a singular title. It leaves short words and endings `-ss`, `-us`, and `-is` intact. This title-only rule does not add general stemming to body or heading searches.
45
+ CLI and MCP page-title matching also accepts a simple final-`s` query plural against a singular title. It leaves short words and endings `-ss`, `-us`, and `-is` intact. This title-only rule doesn't add general stemming to body or heading searches.
46
46
 
47
47
  ### Mixed matches
48
48
 
49
- CLI and MCP search can also return a stronger partial match when every complete match gets all meaningful query terms from body text alone. The partial match must contain all but one meaningful term, match at least two, and score higher through title, summary, or heading matches. Common question words cannot earn this preference. A complete match with any meaningful title, summary, or heading match keeps the original preference. Results report `matchMode: mixed` when the exception applies, retain the complete matches, and rank by non-filler field score. This bounded lexical rule does not infer intent or guarantee an answer. The browser search box keeps its complete-match-first behavior.
49
+ CLI and MCP search can also return a stronger partial match when every complete match gets all meaningful query terms from body text alone. The partial match must contain all but one meaningful term, match at least two, and score higher through title, summary, or heading matches. Common question words can't earn this preference. A complete match with any meaningful title, summary, or heading match keeps the original preference. Results report `matchMode: mixed` when the exception applies, retain the complete matches, and rank by non-filler field score. This bounded lexical rule doesn't infer intent or guarantee an answer. The browser search box keeps its complete-match-first behavior.
@@ -0,0 +1,66 @@
1
+ ---
2
+ id: guide.search
3
+ title: Site search
4
+ summary: Search settings, keyboard behavior, provider interfaces, and index fields.
5
+ type: reference
6
+ area: discovery
7
+ subarea: discovery-search
8
+ canonical: /author/search
9
+ ---
10
+
11
+ # Site search
12
+
13
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
14
+
15
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
16
+
17
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
+
19
+ **Updated: 2026-11-05.**
20
+
21
+ **Verified: 2026-10-01.**
22
+
23
+ Parent page: [Full Markdown page](/author/search.md)
24
+
25
+ **Page reading path** — these links apply to the full page.
26
+
27
+ **Next steps**
28
+
29
+ - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
+
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
+
33
+ Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
+
35
+ ## Enable included semantic search
36
+
37
+ Since 0.1.0-alpha.16
38
+
39
+ Choose the included semantic provider to connect the search box to Shoalrun's endpoint without writing a browser adapter:
40
+
41
+ ```yaml title="docs.config.yaml"
42
+ outputs:
43
+ html:
44
+ search:
45
+ provider: semantic
46
+ retrieval:
47
+ embeddings:
48
+ provider: voyage
49
+ model: voyage-4-large
50
+ queryModel: voyage-4-lite
51
+ dimension: 1024
52
+ ```
53
+
54
+ Set `VOYAGE_API_KEY` in the terminal environment, then build the site, embed its passages, and start the local endpoint:
55
+
56
+ ```sh
57
+ npx --no-install shoalrun build docs.config.yaml site-dist
58
+ npx --no-install shoalrun index site-dist --embed --config docs.config.yaml
59
+ npx --no-install shoalrun serve site-dist --search --config docs.config.yaml
60
+ ```
61
+
62
+ Keys remain server-side. Each semantic query calls the embedding provider; no chat model is required. The browser sends the selected publication and reader view with each request. A missing or unavailable endpoint uses the included browser keyword index. Requests cancelled by further typing don't start fallback searches.
63
+
64
+ Confirm `mode: vector` in the endpoint response to verify semantic retrieval. Rebuild and reindex edited content, then restart the local server. The [passage index](https://www.shoalrun.com/chat/passage-index.md) explains input reuse and release-specific passage identities.
65
+
66
+ This setting selects the browser connection; it doesn't provision production hosting. The current [Vercel integration](https://www.shoalrun.com/publish/vercel.md) supplies search through its chat-function deployment. Profiled Vercel chat-function builds remain unsupported. Static deployments retain keyword search when no endpoint is present. Custom search services can continue to use `provider: custom`.
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -48,7 +48,7 @@ These are the defaults. Each value must be a positive whole number. They apply t
48
48
 
49
49
  The Vercel adapter wires these settings into the generated search function when hosted search is included in the build. Configure the embedding provider and shared Redis/KV credentials in the hosting environment. See [Publish on Vercel](https://www.shoalrun.com/publish/vercel.md).
50
50
 
51
- Other hosting platforms need an adapter that runs Shoalrun's hosted search handler, passes the site's settings, and connects the shared counter store. Shoalrun does not automatically apply these limits to another host or a customer's search service. A static-only deployment can use the built-in browser keyword provider without a server function.
51
+ Other hosting platforms need an adapter that runs Shoalrun's hosted search handler, passes the site's settings, and connects the shared counter store. Shoalrun doesn't automatically apply these limits to another host or a customer's search service. A static-only deployment can use the built-in browser keyword provider without a server function.
52
52
 
53
53
  Daily limits count attempts to embed a query and reset at midnight UTC. A caller is identified by the forwarded IP address, so people sharing a network can share an allowance. The site-wide limit applies across callers using the same counter store. Use a separate store for each site's independent allowance.
54
54
 
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,10 +28,10 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
35
35
  ## HTML, Markdown, and agents
36
36
 
37
- The dropdown is an HTML interaction. It links to published pages and sections; it is not written into a page's Markdown twin. An agent can read the same published Markdown pages through their `.md` routes and discovery files. The local semantic endpoint returns links and short text, not an answer or a new agent-only representation. [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) describes the Markdown routes and discovery files.
37
+ The search results dropdown is an HTML interaction. It links to published pages and sections; it isn't written into a page's Markdown twin. An agent can read the same published Markdown pages through their `.md` routes and discovery files. The publication dropdown changes the active HTML product release and the search scope. It doesn't appear as an interactive control in Markdown. Agents retain the product/channel/version/language coordinates in CLI or MCP reads; a repeated page ID in another product is a different publication. The local semantic endpoint returns links and short text, not an answer or a new agent-only representation. [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) describes the Markdown routes and discovery files.
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -41,7 +41,7 @@ The browser provider ranks matches in this order:
41
41
  1. Pages containing every query term or its mapped synonym.
42
42
  2. If none match completely, partial results ordered by matched term count, then field score.
43
43
 
44
- Common filler words such as “how,” “do,” and “the” do not count toward partial-match coverage. A partial result must match at least one remaining term. This helps sentence-shaped queries but does not infer meaning or handle typos and general stemming.
44
+ Common filler words such as “how,” “do,” and “the” don't count toward partial-match coverage. A partial result must match at least one remaining term. This helps sentence-shaped queries but doesn't infer meaning or handle typos and general stemming.
45
45
 
46
46
  The [local search command](https://www.shoalrun.com/cli.md) shares the base index and weights, with additional CLI/MCP ranking rules described below.
47
47
 
@@ -71,8 +71,8 @@ Pages rank by where the terms appear:
71
71
  3. Section headings.
72
72
  4. Body text.
73
73
 
74
- The built-in lexical provider returns at most one result per page. It adds a section link when every query term matches one section heading and the query is not already a title match. With a reader view selected, it returns page links because the unfiltered heading list may include hidden sections. Custom providers can return multiple section results from the same page.
74
+ The built-in lexical provider returns at most one result per page. It adds a section link when every query term matches one section heading and the query isn't already a title match. With a reader view selected, it returns page links because the unfiltered heading list may include hidden sections. Custom providers can return multiple section results from the same page.
75
75
 
76
- The list shows the top eight results. The provider downloads the index once, on first focus, and searches only pages in the reader's channel, version, and language. When [reader views](https://www.shoalrun.com/author/reader-views.md) are configured, it also excludes pages and marked section text outside the selected view. The local CLI search command reads the full index and does not apply a browser's saved view.
76
+ The list shows the top eight results. The provider downloads the index once, on first focus, and searches only pages in the reader's publication. Product scope Since 0.1.0-alpha.18 includes product, channel, version, and language. When [reader views](https://www.shoalrun.com/author/reader-views.md) are configured, it also excludes pages and marked section text outside the selected view. The local CLI search command reads the full index and doesn't apply a browser's saved view.
77
77
 
78
- The navigation sidebar has a separate filter. Its optional node-level `search` terms help readers find menu items; they do not change `/search-index.json` or masthead results. See [Organize site navigation](https://www.shoalrun.com/author/navigation.md).
78
+ The navigation sidebar has a separate filter. Its optional node-level `search` terms help readers find menu items; they don't change `/search-index.json` or masthead results. See [Organize site navigation](https://www.shoalrun.com/author/navigation.md).
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -36,7 +36,7 @@ Shoalrun supplies the search box and keyboard controls. A **search provider** su
36
36
 
37
37
  The optional search endpoint uses vector similarity when current query and passage embeddings are available. It falls back to keyword passage search if vectors are unavailable, the provider fails, the budget is exhausted, or the deadline expires.
38
38
 
39
- For dotted configuration keys or command flags, the endpoint can add an exact-identifier explanation as the third result. It must contain every requested identifier in prose; tables, code listings, and identifier prefixes do not qualify. The first two semantic results stay in place. File-name queries and requests for fewer than three results keep semantic ranking.
39
+ For dotted configuration keys or command flags, the endpoint can add an exact-identifier explanation as the third result. It must contain every requested identifier in prose; tables, code listings, and identifier prefixes don't qualify. The first two semantic results stay in place. File-name queries and requests for fewer than three results keep semantic ranking.
40
40
 
41
41
  Result snippets prefer prose matching the substantive words in your question, omit generated discovery text, and keep a matching term visible in a long paragraph. Code-only and table-only passages use the page summary.
42
42
 
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -16,13 +16,13 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
23
23
  Parent page: [Full Markdown page](/author/search.md)
24
24
 
25
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
25
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
26
26
 
27
27
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
28
28
 
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
16
16
 
17
17
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Site search
18
18
 
19
- **Updated: 2026-10-26.**
19
+ **Updated: 2026-11-05.**
20
20
 
21
21
  **Verified: 2026-10-01.**
22
22
 
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/author/search.md)
28
28
 
29
29
  - [Preview semantic search in this checkout](https://www.shoalrun.com/recipes/preview-hybrid-search.md) — Build the passage index and verify hybrid search and lexical fallback in this checkout.
30
30
 
31
- Site search returns links to pages and sections. It is enabled by default and matches words in the browser, with no provider account or server required.
31
+ Site search returns links to pages and sections. It's enabled by default and matches words in the browser, with no provider account or server required.
32
32
 
33
33
  Shoalrun supplies the search box and keyboard controls. A **search provider** supplies results; you can replace the built-in provider with your own module. [Search and chat](https://www.shoalrun.com/search-and-chat.md) explains when to add semantic search or cited answers.
34
34
 
@@ -69,12 +69,12 @@ The generated index contains one record for each published page:
69
69
  The index fields have these limits:
70
70
 
71
71
  - `headings` covers levels 2 through 4, including headings later in the article.
72
- - `text` holds the first 5,000 characters of the HTML article as plain text. Body words beyond that limit are not searchable through this field.
72
+ - `text` holds the first 5,000 characters of the HTML article as plain text. Body words beyond that limit aren't searchable through this field.
73
73
  - Titles and the selected summary are indexed separately from body text.
74
- - A section result links to a heading; it does not mean the section's full body was indexed.
74
+ - A section result links to a heading; it doesn't mean the section's full body was indexed.
75
75
  - `id` and `markdownUrl` let local tools cite the matching page.
76
76
 
77
- When reader views are enabled, `readerFilters` holds page marks and `readerSegments` holds shared and marked text. A custom provider must apply those marks to respect the selected view. The full text remains in the index; reader views do not restrict access to published files.
77
+ When reader views are enabled, `readerFilters` holds page marks and `readerSegments` holds shared and marked text. A custom provider must apply those marks to respect the selected view. The full text remains in the index; reader views don't restrict access to published files.
78
78
 
79
79
  The browser index comes from the HTML article, including HTML-only blocks and excluding Markdown-only blocks written with [Only](https://www.shoalrun.com/author/components/only.md). It excludes the surrounding header, navigation, and search UI. Marked sections stay in the stored index; the built-in browser provider filters their text when a view is active. Each `readerSegments` text value is capped at 5,000 characters.
80
80