Skip to content

Commit d6cdeb7

Browse files
masonwyatt23claude
andcommitted
feat(genome): resilient embedding batch pipeline with exponential backoff & circuit breaker
- New module src/genome/embedding-resilience.ts (~380 LOC): - Exponential backoff (3–15s range) with full jitter, configurable max attempts (default 3) - Per-backend circuit breaker with sliding window (10-req default), 50% failure threshold, 30s open duration, half-open probe pattern; auto-reset on success - Fallback chain orchestration: skips open-breaker backends directly to next tier - Adaptive timeout scaling: Ollama >8s → reduce to 12s; Anthropic >3s → prefer local-ultrafast - Resilience profile persistence to .ashlrcode/genome/resilience-profile.jsonl - Per-(backend, querySizeBucket) latency histograms with p95 computation - PermanentEmbeddingError class; isPermanentError() guard (401/403 never retried) - resilientGenerateEmbeddingWithFallback() and resilientRouterEmbed() wrappers - EmbeddingResiliencePipeline class + createEmbeddingResiliencePipeline() factory - src/genome/index.ts: export * from embedding-resilience.ts - __tests__/embedding-resilience.test.ts (~440 LOC, 78 tests, all green): - classifyQuerySize, computeBackoffDelay, circuit breaker transitions, AdaptiveTimeoutTracker, pipeline embed, computeLatencyHistogram, JSONL persistence, genome/index.ts export coverage Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent b279354 commit d6cdeb7

3 files changed

Lines changed: 1654 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)