rag-your-code 1.4.1__tar.gz → 1.4.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.4.1/src/rag_your_code.egg-info → rag_your_code-1.4.2}/PKG-INFO +23 -18
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/README.md +22 -17
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/pyproject.toml +1 -1
- {rag_your_code-1.4.1 → rag_your_code-1.4.2/src/rag_your_code.egg-info}/PKG-INFO +23 -18
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/__init__.py +1 -1
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/LICENSE +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/setup.cfg +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/rag_your_code.egg-info/SOURCES.txt +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/rag_your_code.egg-info/dependency_links.txt +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/rag_your_code.egg-info/entry_points.txt +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/rag_your_code.egg-info/requires.txt +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/rag_your_code.egg-info/top_level.txt +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/agentic.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/annotate.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/cli.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/config.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/descriptions.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/document.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/embeddings.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/graph.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/indexer.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/models.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/parser.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/providers.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/py.typed +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/search.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/src/ragyourcode/workflow.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_absent_queries.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_agent_protocol.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_agentic.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_config.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_descriptions.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_doc_comments.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_document.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_e2e_cli.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_evidence.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_golden.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_graph_incremental.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_language_fixtures.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_large_repo.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_local_model.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_metadata.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_multilanguage.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_parser_edges.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_providers.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_ragyourcode.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_ranking.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_repo_queries.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_resilience.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.2}/tests/test_retrieval_correctness.py +0 -0
- {rag_your_code-1.4.1 → rag_your_code-1.4.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.4.
|
|
3
|
+
Version: 1.4.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
|
|
@@ -467,19 +467,15 @@ Four qualifications, because the table would otherwise flatter both sides:
|
|
|
467
467
|
`the` gets every file back in no order. It is also why Grep declines nine of
|
|
468
468
|
the seventy questions here — those had no word left that this corpus does not
|
|
469
469
|
use everywhere.
|
|
470
|
-
- **Payload is counted in characters on both sides
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
of
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
factor of 1.8. On Flask it is a factor of 5.5 — 47,200 characters against
|
|
480
|
-
8,600 — because a framework repeats its own vocabulary across many files and
|
|
481
|
-
Grep has no way to rank what it finds. Both sides decline the same five of
|
|
482
|
-
those 35 — and they are the five Chinese ones, all of them. A Chinese word is
|
|
470
|
+
- **Payload is counted in characters on both sides.** Grep hands back 18,600
|
|
471
|
+
characters per question it answers here, unranked and without spans, against
|
|
472
|
+
10,300 ranked and capped by `search.max_chars` — a factor of 1.8, and 5.5 on
|
|
473
|
+
Flask, where a framework repeats its vocabulary across many files and Grep
|
|
474
|
+
cannot rank what it finds. 1.4.1 changed what fits in that cap: the block had
|
|
475
|
+
been reprinting the docstring the code below already showed, 2,381 of 3,382
|
|
476
|
+
characters of prose header on Flask, so the same budget now carries **119
|
|
477
|
+
declarations instead of 92** there and 323 instead of 305 here. Both sides
|
|
478
|
+
decline the same five of those 35 — the five Chinese ones, all of them. A Chinese word is
|
|
483
479
|
not a substring of English source and it is not a token in an index built
|
|
484
480
|
from English source, so on a repository written in one language the cold
|
|
485
481
|
cross-language case is not this tool's failure but the corpus's.
|
|
@@ -560,10 +556,10 @@ against a pinned corpus:
|
|
|
560
556
|
| **C** own, described | 581 `978a1d48a82a` | **0.443 / 0.614 / 0.507** | 0.429 / 0.600 / 0.500 |
|
|
561
557
|
| **D** silence, own / foreign | as above | 0.967 / 0.833 | 0.967 / 0.833 |
|
|
562
558
|
|
|
563
|
-
**Worse or identical on every ruler.**
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
559
|
+
**Worse or identical on every ruler.** The 581-unit stamps are the corpus both
|
|
560
|
+
arms shared, kept rather than refreshed — that is what a stamp is for. It ships
|
|
561
|
+
anyway because it does one thing the hash cannot and these rulers cannot see:
|
|
562
|
+
reach a unit sharing no word with the question. The pairs it scores zero on:
|
|
567
563
|
|
|
568
564
|
| pair | signed hash | MiniLM |
|
|
569
565
|
|---|---|---|
|
|
@@ -618,6 +614,14 @@ measured worse, so it stays off there.
|
|
|
618
614
|
/reload-plugins
|
|
619
615
|
```
|
|
620
616
|
|
|
617
|
+
Updating needs the full id and a marketplace refresh first; the bare name is
|
|
618
|
+
refused with `Plugin "rag-your-code" not found`, which reads like it is gone:
|
|
619
|
+
|
|
620
|
+
```bash
|
|
621
|
+
claude plugin marketplace update rag-your-code
|
|
622
|
+
claude plugin update rag-your-code@rag-your-code # then restart
|
|
623
|
+
```
|
|
624
|
+
|
|
621
625
|
Four commands and one skill. No hooks, no agents, no MCP server:
|
|
622
626
|
|
|
623
627
|
| | |
|
|
@@ -765,6 +769,7 @@ Windows, plus a job that installs the built wheel into a clean environment and
|
|
|
765
769
|
runs every documented command, and another that runs the skill's own install
|
|
766
770
|
line verbatim.
|
|
767
771
|
|
|
772
|
+
- [docs/FLOW.md](docs/FLOW.md) — the whole thing in four diagrams
|
|
768
773
|
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — how each stage works and why
|
|
769
774
|
- [docs/TESTING.md](docs/TESTING.md) — what the suites protect
|
|
770
775
|
- [docs/ROADMAP.md](docs/ROADMAP.md) — what shipped, what was rejected and why
|
|
@@ -438,19 +438,15 @@ Four qualifications, because the table would otherwise flatter both sides:
|
|
|
438
438
|
`the` gets every file back in no order. It is also why Grep declines nine of
|
|
439
439
|
the seventy questions here — those had no word left that this corpus does not
|
|
440
440
|
use everywhere.
|
|
441
|
-
- **Payload is counted in characters on both sides
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
of
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
factor of 1.8. On Flask it is a factor of 5.5 — 47,200 characters against
|
|
451
|
-
8,600 — because a framework repeats its own vocabulary across many files and
|
|
452
|
-
Grep has no way to rank what it finds. Both sides decline the same five of
|
|
453
|
-
those 35 — and they are the five Chinese ones, all of them. A Chinese word is
|
|
441
|
+
- **Payload is counted in characters on both sides.** Grep hands back 18,600
|
|
442
|
+
characters per question it answers here, unranked and without spans, against
|
|
443
|
+
10,300 ranked and capped by `search.max_chars` — a factor of 1.8, and 5.5 on
|
|
444
|
+
Flask, where a framework repeats its vocabulary across many files and Grep
|
|
445
|
+
cannot rank what it finds. 1.4.1 changed what fits in that cap: the block had
|
|
446
|
+
been reprinting the docstring the code below already showed, 2,381 of 3,382
|
|
447
|
+
characters of prose header on Flask, so the same budget now carries **119
|
|
448
|
+
declarations instead of 92** there and 323 instead of 305 here. Both sides
|
|
449
|
+
decline the same five of those 35 — the five Chinese ones, all of them. A Chinese word is
|
|
454
450
|
not a substring of English source and it is not a token in an index built
|
|
455
451
|
from English source, so on a repository written in one language the cold
|
|
456
452
|
cross-language case is not this tool's failure but the corpus's.
|
|
@@ -531,10 +527,10 @@ against a pinned corpus:
|
|
|
531
527
|
| **C** own, described | 581 `978a1d48a82a` | **0.443 / 0.614 / 0.507** | 0.429 / 0.600 / 0.500 |
|
|
532
528
|
| **D** silence, own / foreign | as above | 0.967 / 0.833 | 0.967 / 0.833 |
|
|
533
529
|
|
|
534
|
-
**Worse or identical on every ruler.**
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
530
|
+
**Worse or identical on every ruler.** The 581-unit stamps are the corpus both
|
|
531
|
+
arms shared, kept rather than refreshed — that is what a stamp is for. It ships
|
|
532
|
+
anyway because it does one thing the hash cannot and these rulers cannot see:
|
|
533
|
+
reach a unit sharing no word with the question. The pairs it scores zero on:
|
|
538
534
|
|
|
539
535
|
| pair | signed hash | MiniLM |
|
|
540
536
|
|---|---|---|
|
|
@@ -589,6 +585,14 @@ measured worse, so it stays off there.
|
|
|
589
585
|
/reload-plugins
|
|
590
586
|
```
|
|
591
587
|
|
|
588
|
+
Updating needs the full id and a marketplace refresh first; the bare name is
|
|
589
|
+
refused with `Plugin "rag-your-code" not found`, which reads like it is gone:
|
|
590
|
+
|
|
591
|
+
```bash
|
|
592
|
+
claude plugin marketplace update rag-your-code
|
|
593
|
+
claude plugin update rag-your-code@rag-your-code # then restart
|
|
594
|
+
```
|
|
595
|
+
|
|
592
596
|
Four commands and one skill. No hooks, no agents, no MCP server:
|
|
593
597
|
|
|
594
598
|
| | |
|
|
@@ -736,6 +740,7 @@ Windows, plus a job that installs the built wheel into a clean environment and
|
|
|
736
740
|
runs every documented command, and another that runs the skill's own install
|
|
737
741
|
line verbatim.
|
|
738
742
|
|
|
743
|
+
- [docs/FLOW.md](docs/FLOW.md) — the whole thing in four diagrams
|
|
739
744
|
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — how each stage works and why
|
|
740
745
|
- [docs/TESTING.md](docs/TESTING.md) — what the suites protect
|
|
741
746
|
- [docs/ROADMAP.md](docs/ROADMAP.md) — what shipped, what was rejected and why
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rag-your-code
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.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
|
|
@@ -467,19 +467,15 @@ Four qualifications, because the table would otherwise flatter both sides:
|
|
|
467
467
|
`the` gets every file back in no order. It is also why Grep declines nine of
|
|
468
468
|
the seventy questions here — those had no word left that this corpus does not
|
|
469
469
|
use everywhere.
|
|
470
|
-
- **Payload is counted in characters on both sides
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
of
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
factor of 1.8. On Flask it is a factor of 5.5 — 47,200 characters against
|
|
480
|
-
8,600 — because a framework repeats its own vocabulary across many files and
|
|
481
|
-
Grep has no way to rank what it finds. Both sides decline the same five of
|
|
482
|
-
those 35 — and they are the five Chinese ones, all of them. A Chinese word is
|
|
470
|
+
- **Payload is counted in characters on both sides.** Grep hands back 18,600
|
|
471
|
+
characters per question it answers here, unranked and without spans, against
|
|
472
|
+
10,300 ranked and capped by `search.max_chars` — a factor of 1.8, and 5.5 on
|
|
473
|
+
Flask, where a framework repeats its vocabulary across many files and Grep
|
|
474
|
+
cannot rank what it finds. 1.4.1 changed what fits in that cap: the block had
|
|
475
|
+
been reprinting the docstring the code below already showed, 2,381 of 3,382
|
|
476
|
+
characters of prose header on Flask, so the same budget now carries **119
|
|
477
|
+
declarations instead of 92** there and 323 instead of 305 here. Both sides
|
|
478
|
+
decline the same five of those 35 — the five Chinese ones, all of them. A Chinese word is
|
|
483
479
|
not a substring of English source and it is not a token in an index built
|
|
484
480
|
from English source, so on a repository written in one language the cold
|
|
485
481
|
cross-language case is not this tool's failure but the corpus's.
|
|
@@ -560,10 +556,10 @@ against a pinned corpus:
|
|
|
560
556
|
| **C** own, described | 581 `978a1d48a82a` | **0.443 / 0.614 / 0.507** | 0.429 / 0.600 / 0.500 |
|
|
561
557
|
| **D** silence, own / foreign | as above | 0.967 / 0.833 | 0.967 / 0.833 |
|
|
562
558
|
|
|
563
|
-
**Worse or identical on every ruler.**
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
559
|
+
**Worse or identical on every ruler.** The 581-unit stamps are the corpus both
|
|
560
|
+
arms shared, kept rather than refreshed — that is what a stamp is for. It ships
|
|
561
|
+
anyway because it does one thing the hash cannot and these rulers cannot see:
|
|
562
|
+
reach a unit sharing no word with the question. The pairs it scores zero on:
|
|
567
563
|
|
|
568
564
|
| pair | signed hash | MiniLM |
|
|
569
565
|
|---|---|---|
|
|
@@ -618,6 +614,14 @@ measured worse, so it stays off there.
|
|
|
618
614
|
/reload-plugins
|
|
619
615
|
```
|
|
620
616
|
|
|
617
|
+
Updating needs the full id and a marketplace refresh first; the bare name is
|
|
618
|
+
refused with `Plugin "rag-your-code" not found`, which reads like it is gone:
|
|
619
|
+
|
|
620
|
+
```bash
|
|
621
|
+
claude plugin marketplace update rag-your-code
|
|
622
|
+
claude plugin update rag-your-code@rag-your-code # then restart
|
|
623
|
+
```
|
|
624
|
+
|
|
621
625
|
Four commands and one skill. No hooks, no agents, no MCP server:
|
|
622
626
|
|
|
623
627
|
| | |
|
|
@@ -765,6 +769,7 @@ Windows, plus a job that installs the built wheel into a clean environment and
|
|
|
765
769
|
runs every documented command, and another that runs the skill's own install
|
|
766
770
|
line verbatim.
|
|
767
771
|
|
|
772
|
+
- [docs/FLOW.md](docs/FLOW.md) — the whole thing in four diagrams
|
|
768
773
|
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — how each stage works and why
|
|
769
774
|
- [docs/TESTING.md](docs/TESTING.md) — what the suites protect
|
|
770
775
|
- [docs/ROADMAP.md](docs/ROADMAP.md) — what shipped, what was rejected and why
|
|
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
|