search now stops before Bobbin's 10,000-hit paging window instead of walking past it and turning a partial result into a 400. What it found is returned, with a stderr note that the search was cut at the cap; a 400 after a non-empty walk is treated as the end. Hits are de-duplicated across pages, and the same cap bounds search --repo walks. Filters for non-comment collections were already sent server-side, so only comment-capable searches filter locally.
--repo DIDs are checked as repo DIDs on the way into pr list, issue list, search and every other command that takes the flag: an account DID is refused with exit 2 and the same atgc repo list hint repo view gives. Comment threads walk the cursor up to 50 pages, and --json says on stderr when a thread is still a prefix. Single-ticket reads now fall back to the knot when Bobbin is warming, unreachable, or still failing after retries, while listings add retry with --source knot to the exit-6 error. issue list prints null for a failed knot comment walk, keeps the record's raw title in --json, and accepts --source knot --author like pr list.
pr diff treats git's patch as bytes: no UTF-8 decode, written to stdout unchanged, with a lossy conversion only where a string is unavoidable. Tests cover a committed Latin-1 file, the search cap and overlap, comment pagination, the new fallbacks, and the listing consistency fixes.
🤖 Generated with Claude Code