rag-your-code 1.5.1__tar.gz → 1.5.2__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.
- {rag_your_code-1.5.1/src/rag_your_code.egg-info → rag_your_code-1.5.2}/PKG-INFO +12 -16
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/README.md +11 -15
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/pyproject.toml +1 -1
- {rag_your_code-1.5.1 → rag_your_code-1.5.2/src/rag_your_code.egg-info}/PKG-INFO +12 -16
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/__init__.py +1 -1
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/LICENSE +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/setup.cfg +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/rag_your_code.egg-info/SOURCES.txt +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/rag_your_code.egg-info/dependency_links.txt +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/rag_your_code.egg-info/entry_points.txt +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/rag_your_code.egg-info/requires.txt +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/rag_your_code.egg-info/top_level.txt +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/agentic.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/annotate.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/cli.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/config.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/descriptions.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/document.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/embeddings.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/graph.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/indexer.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/models.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/parser.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/providers.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/py.typed +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/search.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/src/ragyourcode/workflow.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_absent_queries.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_agent_protocol.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_agentic.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_config.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_descriptions.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_diagrams.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_doc_comments.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_document.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_e2e_cli.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_evidence.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_golden.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_graph_incremental.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_language_fixtures.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_large_repo.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_local_model.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_metadata.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_multilanguage.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_parser_edges.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_providers.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_ragyourcode.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_ranking.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_repo_queries.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_resilience.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_retrieval_correctness.py +0 -0
- {rag_your_code-1.5.1 → rag_your_code-1.5.2}/tests/test_workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rag-your-code
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.2
|
|
4
4
|
Summary: A local, explainable RAG index for codebases and coding agents
|
|
5
5
|
Author: rag-your-code contributors
|
|
6
6
|
License-Expression: MIT
|
|
@@ -366,18 +366,14 @@ a default can have.
|
|
|
366
366
|
| refusing an unanswerable query | **0.016 ms** | 0.015 – 0.018 |
|
|
367
367
|
| refusal cheaper than answering by | **~44×** | 40 – 47 |
|
|
368
368
|
|
|
369
|
-
*Idle* is load-bearing
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
has made to it. Releases before 1.3.0 published `0.83 ms / p95 1.68 ms` to
|
|
378
|
-
three figures from an uncommitted script; both sit inside that band, which is
|
|
379
|
-
the point — unfalsifiable rather than wrong. Refusal is cheap structurally: an
|
|
380
|
-
unanswerable query touches only its distinctive words' posting lists, never ranking.
|
|
369
|
+
*Idle* is load-bearing, and nothing in the report can see whether it was: the
|
|
370
|
+
same corpus at the same commit measures about twice this median while another
|
|
371
|
+
job is running. Two significant figures and a spread, because across releases
|
|
372
|
+
that spread has been wider than any change the code has made to this number —
|
|
373
|
+
which is why the row ships with its range and its corpus stamp rather than to
|
|
374
|
+
three figures. Refusal is cheap structurally, not by tuning: an unanswerable
|
|
375
|
+
query touches only its distinctive words' posting lists and never reaches
|
|
376
|
+
ranking.
|
|
381
377
|
|
|
382
378
|
**Scale**, synthetic 10,000-unit repository (500 files), re-measured in 1.5.0
|
|
383
379
|
— the previous row of figures was optimistic by more than noise:
|
|
@@ -733,9 +729,9 @@ long description cost one graded question and a short one cost three;
|
|
|
733
729
|
appending the docstring to every description instead cost the 1.5.0 corpus
|
|
734
730
|
0.443 → 0.414 hit@1. `describe.skip` records the decision.
|
|
735
731
|
|
|
736
|
-
**The vectors are 72.1% of the index and earn at most two questions**
|
|
737
|
-
default embedder — 74.8% Flask, 79.7%
|
|
738
|
-
|
|
732
|
+
**The vectors are 72.1% of the index and earn at most two questions** on any
|
|
733
|
+
ruler, in either direction, under the default embedder — 74.8% Flask, 79.7%
|
|
734
|
+
cobra. Kept: that same storage is what an optional model needs.
|
|
739
735
|
|
|
740
736
|
**`search.vector_recall` scans every vector per query** — under a semantic
|
|
741
737
|
embedder. The default hash never widens at all. Affordable at the measured
|
|
@@ -336,18 +336,14 @@ a default can have.
|
|
|
336
336
|
| refusing an unanswerable query | **0.016 ms** | 0.015 – 0.018 |
|
|
337
337
|
| refusal cheaper than answering by | **~44×** | 40 – 47 |
|
|
338
338
|
|
|
339
|
-
*Idle* is load-bearing
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
has made to it. Releases before 1.3.0 published `0.83 ms / p95 1.68 ms` to
|
|
348
|
-
three figures from an uncommitted script; both sit inside that band, which is
|
|
349
|
-
the point — unfalsifiable rather than wrong. Refusal is cheap structurally: an
|
|
350
|
-
unanswerable query touches only its distinctive words' posting lists, never ranking.
|
|
339
|
+
*Idle* is load-bearing, and nothing in the report can see whether it was: the
|
|
340
|
+
same corpus at the same commit measures about twice this median while another
|
|
341
|
+
job is running. Two significant figures and a spread, because across releases
|
|
342
|
+
that spread has been wider than any change the code has made to this number —
|
|
343
|
+
which is why the row ships with its range and its corpus stamp rather than to
|
|
344
|
+
three figures. Refusal is cheap structurally, not by tuning: an unanswerable
|
|
345
|
+
query touches only its distinctive words' posting lists and never reaches
|
|
346
|
+
ranking.
|
|
351
347
|
|
|
352
348
|
**Scale**, synthetic 10,000-unit repository (500 files), re-measured in 1.5.0
|
|
353
349
|
— the previous row of figures was optimistic by more than noise:
|
|
@@ -703,9 +699,9 @@ long description cost one graded question and a short one cost three;
|
|
|
703
699
|
appending the docstring to every description instead cost the 1.5.0 corpus
|
|
704
700
|
0.443 → 0.414 hit@1. `describe.skip` records the decision.
|
|
705
701
|
|
|
706
|
-
**The vectors are 72.1% of the index and earn at most two questions**
|
|
707
|
-
default embedder — 74.8% Flask, 79.7%
|
|
708
|
-
|
|
702
|
+
**The vectors are 72.1% of the index and earn at most two questions** on any
|
|
703
|
+
ruler, in either direction, under the default embedder — 74.8% Flask, 79.7%
|
|
704
|
+
cobra. Kept: that same storage is what an optional model needs.
|
|
709
705
|
|
|
710
706
|
**`search.vector_recall` scans every vector per query** — under a semantic
|
|
711
707
|
embedder. The default hash never widens at all. Affordable at the measured
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rag-your-code
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.2
|
|
4
4
|
Summary: A local, explainable RAG index for codebases and coding agents
|
|
5
5
|
Author: rag-your-code contributors
|
|
6
6
|
License-Expression: MIT
|
|
@@ -366,18 +366,14 @@ a default can have.
|
|
|
366
366
|
| refusing an unanswerable query | **0.016 ms** | 0.015 – 0.018 |
|
|
367
367
|
| refusal cheaper than answering by | **~44×** | 40 – 47 |
|
|
368
368
|
|
|
369
|
-
*Idle* is load-bearing
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
has made to it. Releases before 1.3.0 published `0.83 ms / p95 1.68 ms` to
|
|
378
|
-
three figures from an uncommitted script; both sit inside that band, which is
|
|
379
|
-
the point — unfalsifiable rather than wrong. Refusal is cheap structurally: an
|
|
380
|
-
unanswerable query touches only its distinctive words' posting lists, never ranking.
|
|
369
|
+
*Idle* is load-bearing, and nothing in the report can see whether it was: the
|
|
370
|
+
same corpus at the same commit measures about twice this median while another
|
|
371
|
+
job is running. Two significant figures and a spread, because across releases
|
|
372
|
+
that spread has been wider than any change the code has made to this number —
|
|
373
|
+
which is why the row ships with its range and its corpus stamp rather than to
|
|
374
|
+
three figures. Refusal is cheap structurally, not by tuning: an unanswerable
|
|
375
|
+
query touches only its distinctive words' posting lists and never reaches
|
|
376
|
+
ranking.
|
|
381
377
|
|
|
382
378
|
**Scale**, synthetic 10,000-unit repository (500 files), re-measured in 1.5.0
|
|
383
379
|
— the previous row of figures was optimistic by more than noise:
|
|
@@ -733,9 +729,9 @@ long description cost one graded question and a short one cost three;
|
|
|
733
729
|
appending the docstring to every description instead cost the 1.5.0 corpus
|
|
734
730
|
0.443 → 0.414 hit@1. `describe.skip` records the decision.
|
|
735
731
|
|
|
736
|
-
**The vectors are 72.1% of the index and earn at most two questions**
|
|
737
|
-
default embedder — 74.8% Flask, 79.7%
|
|
738
|
-
|
|
732
|
+
**The vectors are 72.1% of the index and earn at most two questions** on any
|
|
733
|
+
ruler, in either direction, under the default embedder — 74.8% Flask, 79.7%
|
|
734
|
+
cobra. Kept: that same storage is what an optional model needs.
|
|
739
735
|
|
|
740
736
|
**`search.vector_recall` scans every vector per query** — under a semantic
|
|
741
737
|
embedder. The default hash never widens at all. Affordable at the measured
|
|
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
|
|
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
|