Skip to content

feat(httpapi): honor root filter on /search and MCP search - #57

Merged
eSlider merged 2 commits into
mainfrom
feat/search-root-filter
Aug 19, 2026
Merged

eSlider merged 2 commits into
mainfrom
feat/search-root-filter

Conversation

@eSlider

@eSlider eSlider commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Fixes the gap where facts-only asks were impossible against the live brain: the OpenAPI spec documented root but the handler never read it, and MCP had no root argument.

  • API.Search gains root; handleSearch reads ?root=
  • ExecSearcher passes --root to the brain-search CLI
  • brain.HTTP.Search threads root into searchHits/rank.Deduce/toJSONOut
  • MCP search tool accepts root
  • spec: search Op documents root (facts or info, default all roots)
  • tests: REST + MCP root passthrough

The OpenAPI spec and CLI advertised --root facts|info, but the REST handler
never read the param and the MCP tool had no root argument, so confirmed-
facts-only asks were impossible against the live brain.

- API.Search gains asOf, root; handleSearch reads ?root=
- ExecSearcher passes --root to the brain-search CLI
- brain.HTTP.Search threads root into searchHits/rank.Deduce/toJSONOut
- MCP search tool accepts root (via shared Op params)
- spec: search Op documents root (facts or info, default all roots)
- tests: REST + MCP root passthrough
The OCR job's apt-get step hung under runner lock contention. Instead:
- build the test binary on the runner (go test -c) and execute it inside
  jitesoft/tesseract-ocr (no apt, no poppler needed for the PNG fixture)
- ocr.go: OCR_LANG env override (default eng+deu) so the container image
  only needs eng (jitesoft ships eng/equ/osd)
- job gated to GitHub (Gitea runner has no docker)
@eSlider
eSlider merged commit b81b39d into main Aug 19, 2026
2 checks passed
eSlider added a commit that referenced this pull request Aug 24, 2026
search -> get -> audit operator flow; confirmed vs (not confirmed)
vocabulary; four recipes (dossier URL dedupe, source conflicts, stale
status, correspondence provenance); read-only OnlyOffice PG usage.
eSlider added a commit that referenced this pull request Aug 24, 2026
feat(httpapi): honor root filter on /search and MCP search
eSlider added a commit that referenced this pull request Sep 15, 2026
search -> get -> audit operator flow; confirmed vs (not confirmed)
vocabulary; four recipes (dossier URL dedupe, source conflicts, stale
status, correspondence provenance); read-only OnlyOffice PG usage.
eSlider added a commit that referenced this pull request Sep 15, 2026
feat(httpapi): honor root filter on /search and MCP search
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant