Skip to content

docs(retrieval): add ARCHITECTURE.md and mohu-retrieval crate stub - #302

Open
aaniya22 wants to merge 1 commit into
mohu-org:mainfrom
aaniya22:docs/retrieval-architecture-286
Open

docs(retrieval): add ARCHITECTURE.md and mohu-retrieval crate stub#302
aaniya22 wants to merge 1 commit into
mohu-org:mainfrom
aaniya22:docs/retrieval-architecture-286

Conversation

@aaniya22

Copy link
Copy Markdown

What

Adds ARCHITECTURE.md documenting the retrieval design constraints, and an empty crates/mohu-retrieval stub to reserve the namespace. Addresses part of #286.

Why

mohu's design pillars (Rayon parallelism by default, Arrow-native memory layout, zero-copy Python interop) conflict with FAISS, the most widely-adopted ANN library — it's not Arrow-native and is single-threaded by default. Before any retrieval backend gets implemented, it's worth documenting that conflict and the options under discussion, and giving contributors a clear crate to build toward instead of an ambiguous "where does this go?" question.

How

Important — scope note: #286 also asks to relocate a root-level vector_store.py into examples/faiss_integration/. I checked (git log --all -- "*vector_store.py*", plus a repo-wide grep for faiss) and this file doesn't exist anywhere in this repo's history — there's no FAISS code, and nothing to relocate. This PR covers only the documentation and crate-stub portions of the issue. Happy to close out the rest of #286 once there's clarity on whether that file was expected to exist already or is part of unstarted future work.

Checklist

  • cargo test --workspace passes
  • cargo clippy --workspace -- -D warnings passes
  • cargo fmt --all applied
  • CHANGELOG.md updated (if user-facing change) — not user-facing, no behavior change
  • Benchmarks added or updated (if performance-sensitive path) — not applicable, no implementation

…ohu-org#286)

- Add ARCHITECTURE.md documenting the retrieval design constraints: mohu's
  Rayon-parallel / Arrow-native / zero-copy pillars, why FAISS conflicts
  with them, and the three options under discussion (usearch/hnswlib,
  wrapped FAISS, or a native Rayon-parallel HNSW crate).
- Add an empty crates/mohu-retrieval stub to reserve the namespace and give
  future contributors on this issue a clear home for the implementation.
- No behavior change — purely additive.

Note: issue mohu-org#286 also asks to relocate a root-level vector_store.py into
examples/faiss_integration/. That file does not exist anywhere in this
repo's history (confirmed via git log --all), so there is nothing to
relocate. This PR covers the documentation and crate-stub portions only.

Signed-off-by: Aaniya <aaniyaatomar@gmail.com>
@github-actions

Copy link
Copy Markdown

PR Check Summary

Item Value
Branch docs/retrieval-architecture-286
Changed crates crates/mohu-retrieval
Files changed 5

CI will run: build, test, clippy, fmt, cargo-deny, DCO, semver.
Reviewer assigned from CODEOWNERS.

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@aaniya22, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 39 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b9da0968-dead-4362-bd03-2c592082d235

📥 Commits

Reviewing files that changed from the base of the PR and between 3c07775 and 3619533.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • ARCHITECTURE.md
  • Cargo.toml
  • crates/mohu-retrieval/Cargo.toml
  • crates/mohu-retrieval/src/lib.rs
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant