know-cli 0.3.4__tar.gz → 0.3.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. {know_cli-0.3.4 → know_cli-0.3.5}/PKG-INFO +1 -1
  2. {know_cli-0.3.4 → know_cli-0.3.5}/pyproject.toml +1 -1
  3. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/lexical_index.py +6 -2
  4. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/semantic_search.py +2 -2
  5. {know_cli-0.3.4 → know_cli-0.3.5}/.github/actions/know-cli/action.yml +0 -0
  6. {know_cli-0.3.4 → know_cli-0.3.5}/.github/workflows/example-advanced.yml +0 -0
  7. {know_cli-0.3.4 → know_cli-0.3.5}/.github/workflows/example-basic.yml +0 -0
  8. {know_cli-0.3.4 → know_cli-0.3.5}/.gitignore +0 -0
  9. {know_cli-0.3.4 → know_cli-0.3.5}/AGENTS.md +0 -0
  10. {know_cli-0.3.4 → know_cli-0.3.5}/KNOW_SKILL.md +0 -0
  11. {know_cli-0.3.4 → know_cli-0.3.5}/README.md +0 -0
  12. {know_cli-0.3.4 → know_cli-0.3.5}/docs/IMPLEMENTATION_PLAN.md +0 -0
  13. {know_cli-0.3.4 → know_cli-0.3.5}/docs/IMPROVEMENTS.md +0 -0
  14. {know_cli-0.3.4 → know_cli-0.3.5}/docs/STRATEGIC_AUDIT.md +0 -0
  15. {know_cli-0.3.4 → know_cli-0.3.5}/docs/arc.md +0 -0
  16. {know_cli-0.3.4 → know_cli-0.3.5}/docs/architecture-diff.md +0 -0
  17. {know_cli-0.3.4 → know_cli-0.3.5}/docs/architecture.md +0 -0
  18. {know_cli-0.3.4 → know_cli-0.3.5}/docs/dependencies.md +0 -0
  19. {know_cli-0.3.4 → know_cli-0.3.5}/docs/digest-compact.md +0 -0
  20. {know_cli-0.3.4 → know_cli-0.3.5}/docs/digest-llm.md +0 -0
  21. {know_cli-0.3.4 → know_cli-0.3.5}/docs/onboarding-new-devs.md +0 -0
  22. {know_cli-0.3.4 → know_cli-0.3.5}/docs/onboarding-new_devs.md +0 -0
  23. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/__init__.py +0 -0
  24. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/ai.py +0 -0
  25. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/cli.py +0 -0
  26. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/config.py +0 -0
  27. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/context_engine.py +0 -0
  28. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/cost.py +0 -0
  29. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/diff.py +0 -0
  30. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/exceptions.py +0 -0
  31. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/generator.py +0 -0
  32. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/git_hooks.py +0 -0
  33. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/history.py +0 -0
  34. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/import_graph.py +0 -0
  35. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/index.py +0 -0
  36. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/knowledge_base.py +0 -0
  37. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/logger.py +0 -0
  38. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/mcp_server.py +0 -0
  39. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/models.py +0 -0
  40. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/parsers.py +0 -0
  41. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/quality.py +0 -0
  42. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/scanner.py +0 -0
  43. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/state.py +0 -0
  44. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/stats.py +0 -0
  45. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/token_counter.py +0 -0
  46. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/tools.py +0 -0
  47. {know_cli-0.3.4 → know_cli-0.3.5}/src/know/watcher.py +0 -0
  48. {know_cli-0.3.4 → know_cli-0.3.5}/tests/README.md +0 -0
  49. {know_cli-0.3.4 → know_cli-0.3.5}/tests/conftest.py +0 -0
  50. {know_cli-0.3.4 → know_cli-0.3.5}/tests/mcp_stub/mcp/__init__.py +0 -0
  51. {know_cli-0.3.4 → know_cli-0.3.5}/tests/mcp_stub/mcp/server/__init__.py +0 -0
  52. {know_cli-0.3.4 → know_cli-0.3.5}/tests/mcp_stub/mcp/server/fastmcp.py +0 -0
  53. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_efficiency.py +0 -0
  54. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_history_cost.py +0 -0
  55. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_know.py +0 -0
  56. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_search_hybrid.py +0 -0
  57. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_state.py +0 -0
  58. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_unit.py +0 -0
  59. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_week2.py +0 -0
  60. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_week3.py +0 -0
  61. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_week4.py +0 -0
  62. {know_cli-0.3.4 → know_cli-0.3.5}/tests/test_week6_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: know-cli
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: Context Intelligence for AI Coding Agents — smart, token-budgeted code context
5
5
  Project-URL: Homepage, https://github.com/vic/know-cli
6
6
  Project-URL: Repository, https://github.com/vic/know-cli
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "know-cli"
7
- version = "0.3.4"
7
+ version = "0.3.5"
8
8
  description = "Context Intelligence for AI Coding Agents — smart, token-budgeted code context"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -217,8 +217,12 @@ class ChunkFTSIndex:
217
217
  cleaned = re.sub(r"[^A-Za-z0-9_]+", " ", q).strip()
218
218
  if not cleaned:
219
219
  return q
220
- # AND all terms for higher precision.
221
- return " ".join(cleaned.split())
220
+ terms = cleaned.split()
221
+ if len(terms) == 1:
222
+ return terms[0]
223
+ # Use OR to avoid over-strict matching on multi-word queries.
224
+ # Ranking still handled by BM25.
225
+ return " OR ".join(terms)
222
226
 
223
227
  query_sanitized = _sanitize(query)
224
228
 
@@ -834,8 +834,8 @@ class SemanticSearcher:
834
834
 
835
835
  results = []
836
836
  for i in top_indices:
837
- if similarities[i] <= 0:
838
- continue
837
+ # Keep top-k even when cosine is <= 0. In sparse/short queries,
838
+ # all scores can be near/under 0 and filtering causes empty results.
839
839
  chunk_key = file_paths[i]
840
840
  # Parse chunk key: "file_path::name::line_start"
841
841
  parts = chunk_key.split("::")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes