Repository navigation
What's Changed
🔧 Fixed: Ranking algorithm completely rewritten
The file selector (selector.py) has been rewritten from scratch with a much smarter ranking algorithm:
- Multilingual stopword filtering – English, Italian, and code-noise stopwords are filtered out so common words like "con", "the", "function" no longer dominate scoring
- TF-IDF scoring – Term frequency is weighted by inverse document frequency computed across the entire repository
- Path/filename boosting – Files whose path contains query terms get a 3x score boost
- Phrase matching – Bigram and trigram phrases (e.g. "lambda function") are detected and heavily rewarded
- Document length normalization – TF is normalized by document size to prevent large files from unfairly ranking higher
- Coverage bonus – Files matching more distinct query terms get a quadratic bonus
📊 Before vs After
Query: lambda function con logica principale
- Before: ❌
utility_test/test_file_conv.py - After: ✅
src/lambda_function.py
Query: chatbot main logic
- Before: ❌ irrelevant file
- After: ✅
src/bosa_chatbot/lambda_function.py
Query: lambda function converse API
- Before: ❌ irrelevant file
- After: ✅
src/deep_test_lambda/lambda_function.py
Full Changelog: v0.2.1...v0.2.2
Full Changelog: v0.2.1...v0.2.2