Skip to content

feat: embedding service and patch enrichment for semantic context engine#160

Merged
TannerTorrey3 merged 3 commits intodevfrom
feat/semantic-context-engine
Apr 10, 2026
Merged

feat: embedding service and patch enrichment for semantic context engine#160
TannerTorrey3 merged 3 commits intodevfrom
feat/semantic-context-engine

Conversation

@TannerTorrey3
Copy link
Copy Markdown
Contributor

Summary

  • Adds EmbeddingService class wrapping Voyage AI API with batch support and per-NodeKind content strategies
  • Adds enrichPatchWithEmbeddings() post-processor that computes and injects vector embeddings into UpsertNode patch ops at ingestion time
  • Enables ArangoDB --experimental-vector-index flag in standalone docker-compose for native vector index support
  • Adds .ix-worktrees/ to gitignore

Design decisions

  • Embedding enrichment is a non-invasive post-processing step — patches pass through unchanged if no API key is configured or if the API call fails
  • Content strategy varies by NodeKind (e.g., functions include signature + body, docs include title + content)
  • Batch embedding minimizes API calls during ingestion

Test plan

  • Verify EmbeddingService.fromEnv() returns null when VOYAGE_API_KEY is not set
  • Verify enrichPatchWithEmbeddings() passes patches through unchanged without embedding service
  • Test batch embedding with a sample patch containing UpsertNode ops
  • Verify ArangoDB starts with --experimental-vector-index flag in standalone mode

🤖 Generated with Claude Code

TannerTorrey3 and others added 3 commits April 9, 2026 19:29
… engine

Phase 1 client-side support for the semantic context engine:

- EmbeddingService wrapping Voyage AI API with batch support and per-NodeKind content strategies
- enrichPatchWithEmbeddings() post-processor that injects vector embeddings into UpsertNode ops
- Enable ArangoDB experimental vector index flag in standalone docker-compose
- Add .ix-worktrees/ to gitignore

Embeddings are computed at ingestion time and stored in node attrs. Gracefully
degrades when VOYAGE_API_KEY is not set — patches pass through unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Thin CLI client for semantic ingestion: detect source type → fetch
content → POST to backend /v1/load. Supports tweets, arxiv papers,
PDFs, images, webpages, chat exports, and local files. Remove
client-side embedding code (moved to ix-semantic-extraction service).
Update docker-compose with ollama + semantic-extraction services.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@TannerTorrey3 TannerTorrey3 force-pushed the feat/semantic-context-engine branch from 35e3e98 to 16d4e88 Compare April 10, 2026 02:30
@TannerTorrey3 TannerTorrey3 merged commit f771abf into dev Apr 10, 2026
1 check failed
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