Skip to content

feat: implement BL-049 embedder error tolerance with BM25 fallback#60

Merged
tryweb merged 4 commits intomainfrom
feat/bl-049-embedder-error-tolerance
Apr 3, 2026
Merged

feat: implement BL-049 embedder error tolerance with BM25 fallback#60
tryweb merged 4 commits intomainfrom
feat/bl-049-embedder-error-tolerance

Conversation

@tryweb
Copy link
Copy Markdown
Owner

@tryweb tryweb commented Apr 3, 2026

Summary

  • BL-049 implementation complete: embedder retry with exponential backoff + BM25 fallback
  • All OpenSpec artifacts created and archived
  • Unit tests: 181 pass (3 new embedder tests)

Changes

  • Add retry config (embedding.retry.*) to types and config parsing
  • Add embedWithRetry() / dimWithRetry() wrappers in embedder.ts
  • Add embedder health state management (getEmbedderHealth, setEmbedderHealth)
  • Add BM25 fallback logic in memory_search and recall hook
  • Extend memory_stats with searchMode and embedderHealth fields

Verification

  • openspec validate: passed
  • Unit tests: 181 pass (bun test)
  • New embedder tests: 3/3 pass

Changelog

  • internal-only: Improved embedder error handling and automatic fallback to BM25 search when embedding service is unavailable.

Developer added 4 commits April 3, 2026 18:20
- Add retry with exponential backoff for embedder failures
- Add automatic BM25-only search fallback when embedder unavailable
- Expose embedder health and search mode in memory_stats
- Add unit tests for embedder health state management
- Update backlog status to done
This fixes the CI build failure caused by accidentally removing
type exports during the BL-049 implementation.
- Add bun test/npm test as alternative to Docker tests
- Add TypeScript verification step before push (prevents CI failures)
- Add troubleshooting guide for common TS errors (TS2305, TS2459, TS2304)
- Update quick reference commands
@tryweb tryweb merged commit 9b1f234 into main Apr 3, 2026
9 checks passed
@tryweb tryweb deleted the feat/bl-049-embedder-error-tolerance branch April 3, 2026 14:18
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