Skip to content

refactor: deduplicate Qdrant helper, decompose config/sqlite/orchestrator#278

Merged
bug-ops merged 1 commit intomainfrom
feat/m20/deduplication
Feb 14, 2026
Merged

refactor: deduplicate Qdrant helper, decompose config/sqlite/orchestrator#278
bug-ops merged 1 commit intomainfrom
feat/m20/deduplication

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Feb 14, 2026

Summary

  • R3.1: Extract ensure_qdrant_collection() shared function into zeph-memory, eliminating duplication
  • R4.1: Split config.rs (2937 LOC) → config/{mod,types,env,tests}.rs
  • R4.2: Split sqlite.rs (1663 LOC) → sqlite/{mod,messages,summaries,skills}.rs
  • R4.3: Split orchestrator.rs (1176 LOC) → orchestrator/{mod,classifier,router}.rs
  • R3.2 (file watcher) skipped — implementations differ enough that abstraction adds complexity

Test plan

  • cargo nextest run --workspace --lib --bins — 1347 passed
  • cargo clippy --workspace -- -D warnings — zero warnings
  • Code review: approved (0 blockers)

Phase 3 of #268. Closes #271, closes #272.

…ator

R3.1: extract ensure_qdrant_collection() shared function in zeph-memory
R4.1: split config.rs (2937 LOC) into config/{mod,types,env,tests}.rs
R4.2: split sqlite.rs (1663 LOC) into sqlite/{mod,messages,summaries,skills}.rs
R4.3: split orchestrator.rs (1176 LOC) into orchestrator/{mod,classifier,router}.rs

1347 tests pass, clippy clean.

Closes #271, closes #272
@github-actions github-actions bot added llm zeph-llm crate (Ollama, Claude) memory zeph-memory crate (SQLite) rust Rust code changes core zeph-core crate refactor Code refactoring without functional changes size/XL Extra large PR (500+ lines) labels Feb 14, 2026
@bug-ops bug-ops enabled auto-merge (squash) February 14, 2026 21:22
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.14757% with 97 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/zeph-llm/src/orchestrator/router.rs 70.11% 26 Missing ⚠️
crates/zeph-memory/src/sqlite/skills.rs 95.76% 25 Missing ⚠️
crates/zeph-memory/src/qdrant.rs 0.00% 22 Missing ⚠️
crates/zeph-core/src/config/types.rs 96.85% 9 Missing ⚠️
crates/zeph-memory/src/sqlite/messages.rs 98.32% 7 Missing ⚠️
crates/zeph-core/src/config/env.rs 97.12% 6 Missing ⚠️
crates/zeph-memory/src/sqlite/summaries.rs 98.63% 2 Missing ⚠️

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #278      +/-   ##
==========================================
- Coverage   81.02%   80.36%   -0.67%     
==========================================
  Files          87       94       +7     
  Lines       24588    23718     -870     
==========================================
- Hits        19922    19060     -862     
+ Misses       4666     4658       -8     
Files with missing lines Coverage Δ
crates/zeph-core/src/config/mod.rs 100.00% <100.00%> (ø)
crates/zeph-llm/src/orchestrator/classifier.rs 100.00% <100.00%> (ø)
crates/zeph-llm/src/orchestrator/mod.rs 95.48% <ø> (ø)
crates/zeph-memory/src/sqlite/mod.rs 100.00% <100.00%> (ø)
crates/zeph-memory/src/sqlite/summaries.rs 98.63% <98.63%> (ø)
crates/zeph-core/src/config/env.rs 97.12% <97.12%> (ø)
crates/zeph-memory/src/sqlite/messages.rs 98.32% <98.32%> (ø)
crates/zeph-core/src/config/types.rs 96.85% <96.85%> (ø)
crates/zeph-memory/src/qdrant.rs 33.18% <0.00%> (+0.84%) ⬆️
crates/zeph-memory/src/sqlite/skills.rs 95.76% <95.76%> (ø)
... and 1 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bug-ops bug-ops merged commit f6ea0fd into main Feb 14, 2026
18 checks passed
@bug-ops bug-ops deleted the feat/m20/deduplication branch February 14, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate llm zeph-llm crate (Ollama, Claude) memory zeph-memory crate (SQLite) refactor Code refactoring without functional changes rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

R4: decompose oversized files R3: eliminate code duplication across crates

2 participants