Skip to content

docs: product pitch + compose example; fix meili all-field search; release notes - #2

Merged
jmcgrath207 merged 8 commits into
mainfrom
jmcgrath/bug-fixs-and-docs
Aug 1, 2026
Merged

docs: product pitch + compose example; fix meili all-field search; release notes#2
jmcgrath207 merged 8 commits into
mainfrom
jmcgrath/bug-fixs-and-docs

Conversation

@jmcgrath207

@jmcgrath207 jmcgrath207 commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

7 commits, 13 files, +507 / -35. Three themes:

1. Product docs (README + AGENTS.md)

  • Cost + faster search hero with hit-rate proof (89.5% HR, 138x hit/miss)
  • Consider / Skip checklists + vs alternatives table (GPTCache, RedisVL, in-process memoize)
  • At a glance citable box + FAQ (5 Qs)
  • AGENTS.md Product framing block so in-repo agents don't drift the pitch
  • GitHub topics expanded: rag, mcp, cache, agentic-ai, qdrant, elasticsearch

2. Docker Compose example + docs

  • examples/docker-compose/ - conproxy + Meilisearch, pinned versions, healthcheck, non-root
  • docs/docker-compose.md - full walkthrough, ports, customization, production gaps
  • Wired from README Install, deployment.md, quickstart.md, examples/README, docs table
  • Verified: miss->hit with actual content, numeric id parsed correctly

3. Bug fixes

  • Meilisearch adapter: default search_attributes was ["content"] - only the content field was searched. Documents with title/body but no content returned 0 results. Fix: empty = search all fields (Meili default). Also: hit_id() handles numeric primary keys ("id": 1 -> "1").
  • Release workflow: github-release job had no actions/checkout - git tag --list returned empty, breaking the compare link. Added checkout with fetch-depth: 0.
  • Stale docs: troubleshooting row blamed showRankingScore instead of the real root cause.

Testing

  • 1749 lib tests green, clippy clean
  • Compose smoke: local image build -> miss->hit with content from body field (no content needed)
  • Meili unit tests: 20 pass, including new numeric-id + all-fields tests

Hero now dual-leads on cost (avoided embed + upstream) and speed
(live agentic bench: 0.1 ms hit vs 13.8 ms miss, ~138×, 89.5% HR).
Agentic cache block adds cost/latency framing.
README adds: problem statement, Consider/Skip checklists, vs alternatives
table (GPTCache/RedisVL, in-process memoize, LangChain cache). Leads
with cost + faster search and the measured hit-rate proof.

AGENTS.md adds a short Product framing block so in-repo agents don't
drift the pitch when writing PR copy / external docs. Pins stability
(experimental upstreams, peer = trusted network, no mTLS).
Tight citable box + 5 Qs that GEO/AEO engines love to quote:
- Category / not-GPTCache / proof / integrate
- FAQ covers what, vs GPTCache, when, how-to-try, how-to-prove
- Resolve previous semver tag (Resolve previous tag step) and emit a
  Compare link for the release body
- Add Stability / Install / Docs sections above the auto-generated
  PR-grouped release notes
- Mark prereleases (vX.Y.Z-rc.N) as prerelease and skip "make_latest"
  so vX.Y.Z stable still surfaces as Latest
Tightens the pitch: claim first, three numbers in parentheses, link.
User-facing example: bring up conproxy + Meilisearch with `docker
compose up`, hit `/query` twice, see miss→hit. Pinned versions,
healthcheck, non-root, in-compose DNS. README install + deployment +
quickstart + docs table + examples/README all wired up.

Known issue: v0.1.0 meilisearch adapter can return result_count=0
even with matching docs (showRankingScore config issue). Cache flow
is independent and verified.
Root cause: MeilisearchConfig defaulted search_attributes to ["content"],
so only the "content" field was searched. Documents with title/body but
no content returned 0 results. Fix: empty search_attributes = search all
fields (Meili default). pool.rs no longer injects ["content"].

Also fixed: hit_id() now handles numeric primary keys (JSON integer ids)
in addition to string ids. The old MeiliHitExt::id() returned &str which
couldn't represent integer ids.

Tests: 20 meilisearch tests pass, clippy clean.
github-release job needs git history to resolve the previous semver tag.
Also: clean up stale Meili troubleshooting row (blamed showRankingScore
instead of the real content-only default) and rustdoc.

Compose smoke verified: miss→hit with actual content, no content field
needed, numeric id parsed correctly.
@jmcgrath207
jmcgrath207 merged commit 583949a into main Aug 1, 2026
7 checks passed
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