Summary
The v0.6.2 release introduces "Mid-Stream Semantic Memory" and "Plan Mode Integration" as headline features, but the required dependencies (sentence-transformers, numpy) are not declared in requirements.txt or pyproject.toml. The features silently fall back to keyword matching without any warning.
Environment
- ELF Version: v0.6.2 (commit 4a05771)
- OS: Windows 11
- Python: 3.11
- Discovery Date: 2026-01-29
Problem Description
Missing Dependencies
| Dependency |
Required By |
Status in requirements.txt |
Status in pyproject.toml |
sentence-transformers |
semantic_search.py, semantic-memory.py |
MISSING |
MISSING |
numpy |
semantic_search.py (vector operations) |
MISSING |
MISSING |
openai (optional) |
semantic_search.py (fallback embeddings) |
MISSING |
MISSING |
Affected Files
src/query/semantic_search.py (lines 27-30, 23)
.hooks-templates/PreToolUse/semantic-memory.py (line 26)
src/hooks/learning-loop/pre_tool_semantic_memory.py (line 26)
Code Evidence
The code uses try/except for graceful degradation:
# src/query/semantic_search.py
try:
from sentence_transformers import SentenceTransformer
SENTENCE_TRANSFORMERS_AVAILABLE = True
except ImportError:
SENTENCE_TRANSFORMERS_AVAILABLE = False
This means:
- No error is raised
- Features silently fall back to keyword matching
- Users think they have semantic search, but they don't
Impact
- Misleading release notes: v0.6.2 advertises "Mid-Stream Semantic Memory" but it doesn't work out of the box
- Silent degradation: No warning that semantic features are disabled
- Installation incomplete:
pip install -r requirements.txt does not provide full functionality
- User confusion: "Why isn't semantic search finding relevant heuristics?"
Steps to Reproduce
- Fresh install of ELF v0.6.2
- Run
pip install -r requirements.txt
- Check for sentence-transformers:
python -c "from sentence_transformers import SentenceTransformer; print('OK')"
# Result: ModuleNotFoundError
- The semantic memory hook will run but fall back to keyword matching
Expected Behavior
Either:
- Option A: Dependencies should be in
requirements.txt so features work after standard install
- Option B: Dependencies should be in
pyproject.toml under [project.optional-dependencies] with clear documentation
- Option C: A warning should be logged when semantic features are disabled due to missing dependencies
Suggested Fix
Option A: Add to requirements.txt
# Semantic search (for mid-stream memory)
sentence-transformers>=2.3.0
numpy>=1.24.0
Option B: Add as optional dependency in pyproject.toml
[project.optional-dependencies]
semantic = [
"sentence-transformers>=2.3.0",
"numpy>=1.24.0",
]
With install command: pip install emergent-learning-framework[semantic]
Option C: Add warning when disabled
if not SENTENCE_TRANSFORMERS_AVAILABLE:
import warnings
warnings.warn(
"sentence-transformers not installed. Semantic search disabled. "
"Install with: pip install sentence-transformers",
UserWarning
)
Current Workaround
Manual installation:
pip install sentence-transformers numpy
Note: sentence-transformers is ~500MB including PyTorch dependencies.
Additional Context
The documentation in docs/mid-stream-semantic-memory.md does mention the dependency on line 145-146, but:
- This file is not prominently linked from README
- The release notes don't mention additional dependencies
- Users following standard install procedures won't see this
Summary
The v0.6.2 release introduces "Mid-Stream Semantic Memory" and "Plan Mode Integration" as headline features, but the required dependencies (
sentence-transformers,numpy) are not declared inrequirements.txtorpyproject.toml. The features silently fall back to keyword matching without any warning.Environment
Problem Description
Missing Dependencies
sentence-transformerssemantic_search.py,semantic-memory.pynumpysemantic_search.py(vector operations)openai(optional)semantic_search.py(fallback embeddings)Affected Files
Code Evidence
The code uses try/except for graceful degradation:
This means:
Impact
pip install -r requirements.txtdoes not provide full functionalitySteps to Reproduce
pip install -r requirements.txtExpected Behavior
Either:
requirements.txtso features work after standard installpyproject.tomlunder[project.optional-dependencies]with clear documentationSuggested Fix
Option A: Add to requirements.txt
Option B: Add as optional dependency in pyproject.toml
With install command:
pip install emergent-learning-framework[semantic]Option C: Add warning when disabled
Current Workaround
Manual installation:
Note:
sentence-transformersis ~500MB including PyTorch dependencies.Additional Context
The documentation in
docs/mid-stream-semantic-memory.mddoes mention the dependency on line 145-146, but: