Skip to content
quarry Check-in [11c9c4a43b]
Login

Check-in [11c9c4a43b]

Overview
Comment:merge search-links into trunk
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 11c9c4a43ba25a068c4f6d052b7b540478c4e581439a36c23b9439c09b8525bc
User & Date: dmestas on 2026-08-24 19:59:48.643
Other Links: manifest | tags
Context
2026-08-24
20:20
search: documentation is searchable (fossil's scope "d")

quarry rendered tree documents as a first-class surface — the docs tab, the reading furniture — and could not find them. A reader could open www/quickstart.wiki and get nothing searching for it. Fossil searches c d t w e f; quarry had everything but d.

Indexed at the default branch tip only, asynchronously, on the trigger warmReads already uses: a round that moved the tip, plus once at boot. Not through dagnats — dagnats is optional, a forge without one "simply has no CI rather than a broken one", and search must not inherit that. This is local derivation from the store, the same class of work as the fold, which Reindex already routes around the bus on purpose.

isDocPath is exported so the indexer and the docs listing share one definition of what a document is; two would drift and the drift would be invisible.

Adding the kind exposed how many places the list is written down: the index, two ops validators, the scope chips, hitOf. The validator was missed and refused every doc search before it reached the query. Two tests now hold the four in agreement. closed check-in: 57a2f8e3d2 user: dmestas tags: doc-search

20:16
Suite green; merges clean. Proven against a real server: two clones read 2, a pull leaves it at 2. check-in: bc4fbd1c79 user: dmestas tags: trunk
19:59
merge search-links into trunk check-in: 11c9c4a43b user: dmestas tags: trunk
19:59
search: forum and technote results had no link at all

They fell through hitOf's switch with no URL, so the title rendered as — which a browser resolves to the current page. Clicking a forum result reloaded the search. The index found them, the facet chips offered them, and the one step that turns a hit into somewhere to go was missing.

Their refs are not artifact hashes: searchDoc files a forum post under its thread root and a technote under its event id, which is what a reader wants to land on.

The test walks index.SearchKinds rather than a hand-written list, so a kind added to the index without a link here fails instead of shipping a dead result. closed check-in: 69f5a86ccd user: dmestas tags: search-links

18:08
Suite green across 29 packages; merges clean.

Four commits: the fan-out onto the vocabulary, per-subscription event selection, the settings surface, and the RFC correction that preceded them. check-in: 69fc3f06d1 user: dmestas tags: trunk

Changes