Clio matter search: status filter, 100-result pages, honest pagination

↗ view on GitHub · sloth-ninja · 2026-08-04 · faaf5a6b

Pilot bug (04/08): "open Kyckr matters" made the model loop targeted
searches for minutes because clio_find_matter hardcoded limit 10 with no
filters or pagination. Now: page size 100 (Clio caps index actions at
200/request), validated open/pending/closed status filter passed through
as Clio's comma-separated status param, page_token continuation minted
from meta.paging.next and replayed against the API base, and a
{ matters, count, total_entries, has_more, next_page_token? } payload so
the model reports totals honestly instead of guessing. meta.records is
undocumented in reachable Clio docs, so it is parsed tolerantly (null
when absent). Schema + system prompt teach: status arg not query
keywords, report totals, fetch further pages only on request, never
brute-force loop.

Verified: tsc clean, 616/616 vitest (baseline 604 + 12 new), prettier
clean on changed files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Repository Sloth-ninja/JessicaOSS
Author sloth-ninja <ezanahaddis@gmail.com>
Authored
Parents 381d6fff
Stats 3 files changed , +331 , -15
Part of Clio connector: per-user OAuth, chat tools, and matter search

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-faaf5a6b.md from inside the repo you want the change in.

⬇ Download capture-commit-faaf5a6b.md