vaultspec-rag 0.2.0a0__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 (224) hide show
  1. vaultspec_rag-0.2.0a0/.env.example +49 -0
  2. vaultspec_rag-0.2.0a0/.gitattributes +61 -0
  3. vaultspec_rag-0.2.0a0/.github/actionlint.yaml +3 -0
  4. vaultspec_rag-0.2.0a0/.github/workflows/add-to-project.yml +27 -0
  5. vaultspec_rag-0.2.0a0/.github/workflows/bootstrap-branch.yml +40 -0
  6. vaultspec_rag-0.2.0a0/.github/workflows/ci.yml +156 -0
  7. vaultspec_rag-0.2.0a0/.github/workflows/claude.yml +50 -0
  8. vaultspec_rag-0.2.0a0/.github/workflows/publish.yml +93 -0
  9. vaultspec_rag-0.2.0a0/.github/workflows/release-please.yml +50 -0
  10. vaultspec_rag-0.2.0a0/.gitignore +167 -0
  11. vaultspec_rag-0.2.0a0/.mdformat.toml +3 -0
  12. vaultspec_rag-0.2.0a0/.pre-commit-config.yaml +67 -0
  13. vaultspec_rag-0.2.0a0/.pymarkdown.json +42 -0
  14. vaultspec_rag-0.2.0a0/.release-please-manifest.json +3 -0
  15. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-06-gpu-only-rag-stack-adr.md +141 -0
  16. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-blake2b-file-hashing-adr.md +67 -0
  17. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-manual-node-walking-adr.md +71 -0
  18. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-mcp-sync-tools-adr.md +67 -0
  19. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-path-resolve-engine-cache-adr.md +62 -0
  20. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-qdrant-filter-on-prefetch-adr.md +66 -0
  21. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-qdrant-payload-indexes-local-adr.md +59 -0
  22. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-qwen3-no-document-prompt-adr.md +66 -0
  23. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-score-normalization-adr.md +66 -0
  24. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-threading-lock-for-singleton-adr.md +69 -0
  25. vaultspec_rag-0.2.0a0/.vault/adr/2026-03-07-vaultgraph-cache-adr.md +80 -0
  26. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-01-cicl-pipeline-adr.md +95 -0
  27. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-02-service-graph-adr.md +422 -0
  28. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-04-security-hardening-adr.md +134 -0
  29. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-04-test-and-paths-adr.md +120 -0
  30. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-04-vaultragignore-adr.md +159 -0
  31. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-05-service-lifecycle-tests-adr.md +98 -0
  32. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-06-ecosystem-integration-adr.md +155 -0
  33. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-12-index-progress-bars-adr.md +258 -0
  34. vaultspec_rag-0.2.0a0/.vault/adr/2026-04-12-vaultspec-rag-install-adr.md +580 -0
  35. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-cli-api-audit.md +37 -0
  36. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-cli-mcp-audit.md +371 -0
  37. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-codebase-indexer-audit.md +1627 -0
  38. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-config-dependencies-audit.md +35 -0
  39. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-embeddings-gpu-pivot-audit.md +54 -0
  40. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-indexer-pipeline-audit.md +97 -0
  41. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-mcp-security-audit.md +47 -0
  42. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-search-pipeline-audit.md +38 -0
  43. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-06-test-infrastructure-audit.md +37 -0
  44. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-adr-compliance-audit.md +104 -0
  45. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-adr-test-coverage-audit.md +180 -0
  46. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-api-adr-tests-audit.md +195 -0
  47. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-api-config-audit.md +144 -0
  48. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-cli-round14-audit.md +306 -0
  49. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-config-init-round12-audit.md +272 -0
  50. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-embeddings-round10-audit.md +316 -0
  51. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-final-sweep-round27-audit.md +102 -0
  52. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-indexer-round23-audit.md +99 -0
  53. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-indexer-round8-audit.md +253 -0
  54. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-indexer-store-api-audit.md +143 -0
  55. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-integration-tests-round13-audit.md +326 -0
  56. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-integration-tests-round26-audit.md +157 -0
  57. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-mcp-round11-audit.md +292 -0
  58. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-orchestrator-log-audit.md +453 -0
  59. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-pending-task-verification-audit.md +141 -0
  60. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-search-cli-mcp-audit.md +163 -0
  61. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-search-round7-audit.md +228 -0
  62. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-store-embeddings-audit.md +122 -0
  63. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-store-round9-audit.md +346 -0
  64. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-test-compliance-round2-audit.md +117 -0
  65. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-test-live-audit.md +247 -0
  66. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-test-mandate-audit.md +133 -0
  67. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-07-tests-round25-audit.md +144 -0
  68. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-compliance-reaudit-audit.md +259 -0
  69. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-continuous-audit.md +359 -0
  70. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-cross-module-round29-audit.md +250 -0
  71. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-embeddings-round26-audit.md +356 -0
  72. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-fixture-audit.md +436 -0
  73. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-indexer-correctness-audit.md +477 -0
  74. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-mcp-config-watcher-round28-audit.md +319 -0
  75. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-search-embeddings-audit.md +335 -0
  76. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-search-round27-audit.md +293 -0
  77. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-store-api-round25-audit.md +496 -0
  78. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-target-flag-propagation-audit.md +136 -0
  79. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-test-mandate-audit.md +235 -0
  80. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-08-watcher-clipath-audit.md +175 -0
  81. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-coverage-compliance-round33-audit.md +319 -0
  82. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-graph-embedding-round35-audit.md +307 -0
  83. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-graph-embedding-round36-audit.md +226 -0
  84. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-graph-reranker-round34-audit.md +287 -0
  85. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-mcp-server-documentation-audit.md +215 -0
  86. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-performance-round33-audit.md +198 -0
  87. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-round30-new-code-audit.md +254 -0
  88. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-security-errors-round32-audit.md +397 -0
  89. vaultspec_rag-0.2.0a0/.vault/audit/2026-03-09-test-infra-round31-audit.md +376 -0
  90. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-02-release-readiness-audit.md +371 -0
  91. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-02-service-graph-code-review-audit.md +729 -0
  92. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-04-test-and-paths-integration-fixes-audit.md +85 -0
  93. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-05-service-lifecycle-tests-audit.md +100 -0
  94. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-11-ecosystem-integration-deep-audit.md +101 -0
  95. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-11-ecosystem-integration-review-audit.md +82 -0
  96. vaultspec_rag-0.2.0a0/.vault/audit/2026-04-12-index-progress-bars-audit.md +78 -0
  97. vaultspec_rag-0.2.0a0/.vault/cicl.index.md +28 -0
  98. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-02-service-graph/2026-04-02-service-graph-phase1-step1-exec.md +68 -0
  99. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-02-service-graph/2026-04-02-service-graph-phase2-step1-exec.md +64 -0
  100. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-02-service-graph/2026-04-02-service-graph-phase3-step1-exec.md +93 -0
  101. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-02-service-graph/2026-04-02-service-graph-phase4-step1-exec.md +44 -0
  102. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-02-service-graph/2026-04-02-service-graph-phase5-step1-exec.md +45 -0
  103. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-04-test-and-paths/2026-04-04-test-and-paths-exec-phase1.md +44 -0
  104. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-04-test-and-paths/2026-04-04-test-and-paths-exec-phase2.md +49 -0
  105. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-04-test-and-paths/2026-04-04-test-and-paths-exec.md +58 -0
  106. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-05-service-lifecycle-tests/2026-04-05-service-lifecycle-tests-exec.md +38 -0
  107. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-05-service-lifecycle-tests/2026-04-05-service-lifecycle-tests-phase1-exec.md +40 -0
  108. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-summary-exec.md +100 -0
  109. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-task-1-progress-module-exec.md +55 -0
  110. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-task-2-vault-indexer-exec.md +35 -0
  111. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-task-3-codebase-indexer-exec.md +34 -0
  112. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-task-4-cli-rewrite-exec.md +37 -0
  113. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-task-5-call-sites-exec.md +50 -0
  114. vaultspec_rag-0.2.0a0/.vault/exec/2026-04-12-index-progress-bars/2026-04-12-index-progress-bars-phase-1-task-6-progress-tests-exec.md +43 -0
  115. vaultspec_rag-0.2.0a0/.vault/gpu-rag-stack.index.md +174 -0
  116. vaultspec_rag-0.2.0a0/.vault/index-progress-bars.index.md +55 -0
  117. vaultspec_rag-0.2.0a0/.vault/install-command.index.md +33 -0
  118. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-01-cicl-pipeline-plan.md +105 -0
  119. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-02-service-graph-phase1-plan.md +180 -0
  120. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-02-service-graph-roadmap-plan.md +195 -0
  121. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-04-security-hardening-plan.md +100 -0
  122. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-04-test-and-paths-plan.md +307 -0
  123. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-04-vaultragignore-plan.md +223 -0
  124. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-05-service-lifecycle-tests-phase1-plan.md +99 -0
  125. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-06-ecosystem-integration-plan.md +93 -0
  126. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-12-index-progress-bars-phase-1-plan.md +206 -0
  127. vaultspec_rag-0.2.0a0/.vault/plan/2026-04-12-vaultspec-rag-install-plan.md +305 -0
  128. vaultspec_rag-0.2.0a0/.vault/reference/2026-04-12-index-progress-bars-reference.md +200 -0
  129. vaultspec_rag-0.2.0a0/.vault/reference/2026-04-12-vaultspec-rag-install-reference.md +180 -0
  130. vaultspec_rag-0.2.0a0/.vault/release-readiness.index.md +18 -0
  131. vaultspec_rag-0.2.0a0/.vault/research/2026-03-06-codebase-indexer-tech-stack-research.md +644 -0
  132. vaultspec_rag-0.2.0a0/.vault/research/2026-03-06-gpu-rag-architecture-research.md +366 -0
  133. vaultspec_rag-0.2.0a0/.vault/research/2026-03-06-gpu-vector-search-deep-dive-research.md +256 -0
  134. vaultspec_rag-0.2.0a0/.vault/research/2026-03-07-api-verification-research.md +177 -0
  135. vaultspec_rag-0.2.0a0/.vault/research/2026-03-07-continuous-research.md +2869 -0
  136. vaultspec_rag-0.2.0a0/.vault/research/2026-03-07-libdoc-verification-research.md +616 -0
  137. vaultspec_rag-0.2.0a0/.vault/research/2026-03-08-fastmcp-lifespan-research.md +275 -0
  138. vaultspec_rag-0.2.0a0/.vault/research/2026-03-08-qdrant-filter-verification-research.md +198 -0
  139. vaultspec_rag-0.2.0a0/.vault/research/2026-03-08-qdrant-hybrid-search-patterns-research.md +87 -0
  140. vaultspec_rag-0.2.0a0/.vault/research/2026-03-09-qwen3-task-prefix-verification-research.md +157 -0
  141. vaultspec_rag-0.2.0a0/.vault/research/2026-04-01-cicl-pipeline-research.md +174 -0
  142. vaultspec_rag-0.2.0a0/.vault/research/2026-04-02-service-graph-research.md +390 -0
  143. vaultspec_rag-0.2.0a0/.vault/research/2026-04-04-security-hardening-research.md +205 -0
  144. vaultspec_rag-0.2.0a0/.vault/research/2026-04-04-test-and-paths-research.md +192 -0
  145. vaultspec_rag-0.2.0a0/.vault/research/2026-04-04-vaultragignore-research.md +159 -0
  146. vaultspec_rag-0.2.0a0/.vault/research/2026-04-05-service-lifecycle-tests-research.md +197 -0
  147. vaultspec_rag-0.2.0a0/.vault/research/2026-04-06-ecosystem-integration-research.md +228 -0
  148. vaultspec_rag-0.2.0a0/.vault/research/2026-04-12-index-progress-bars-research.md +117 -0
  149. vaultspec_rag-0.2.0a0/.vault/research/2026-04-12-vaultspec-rag-install-research.md +126 -0
  150. vaultspec_rag-0.2.0a0/.vault/security-hardening.index.md +28 -0
  151. vaultspec_rag-0.2.0a0/.vault/service-graph.index.md +48 -0
  152. vaultspec_rag-0.2.0a0/.vault/service-lifecycle-tests.index.md +40 -0
  153. vaultspec_rag-0.2.0a0/.vault/test-and-paths.index.md +42 -0
  154. vaultspec_rag-0.2.0a0/.vault/vaultragignore.index.md +28 -0
  155. vaultspec_rag-0.2.0a0/.vaultspec/rules/mcps/vaultspec-rag.builtin.json +7 -0
  156. vaultspec_rag-0.2.0a0/.vaultspec/rules/rules/vaultspec-rag.builtin.md +104 -0
  157. vaultspec_rag-0.2.0a0/CHANGELOG.md +110 -0
  158. vaultspec_rag-0.2.0a0/LICENSE +21 -0
  159. vaultspec_rag-0.2.0a0/PKG-INFO +175 -0
  160. vaultspec_rag-0.2.0a0/README.md +102 -0
  161. vaultspec_rag-0.2.0a0/RELEASING.md +87 -0
  162. vaultspec_rag-0.2.0a0/conftest.py +59 -0
  163. vaultspec_rag-0.2.0a0/justfile +239 -0
  164. vaultspec_rag-0.2.0a0/lychee.toml +25 -0
  165. vaultspec_rag-0.2.0a0/pyproject.toml +175 -0
  166. vaultspec_rag-0.2.0a0/release-please-config.json +22 -0
  167. vaultspec_rag-0.2.0a0/src/vaultspec_rag/README.md +309 -0
  168. vaultspec_rag-0.2.0a0/src/vaultspec_rag/__init__.py +69 -0
  169. vaultspec_rag-0.2.0a0/src/vaultspec_rag/__main__.py +20 -0
  170. vaultspec_rag-0.2.0a0/src/vaultspec_rag/api.py +399 -0
  171. vaultspec_rag-0.2.0a0/src/vaultspec_rag/builtins/__init__.py +165 -0
  172. vaultspec_rag-0.2.0a0/src/vaultspec_rag/cli.py +2081 -0
  173. vaultspec_rag-0.2.0a0/src/vaultspec_rag/commands.py +427 -0
  174. vaultspec_rag-0.2.0a0/src/vaultspec_rag/config.py +207 -0
  175. vaultspec_rag-0.2.0a0/src/vaultspec_rag/embeddings.py +388 -0
  176. vaultspec_rag-0.2.0a0/src/vaultspec_rag/indexer.py +1811 -0
  177. vaultspec_rag-0.2.0a0/src/vaultspec_rag/logging_config.py +44 -0
  178. vaultspec_rag-0.2.0a0/src/vaultspec_rag/mcp_server.py +977 -0
  179. vaultspec_rag-0.2.0a0/src/vaultspec_rag/progress.py +183 -0
  180. vaultspec_rag-0.2.0a0/src/vaultspec_rag/search.py +627 -0
  181. vaultspec_rag-0.2.0a0/src/vaultspec_rag/service.py +339 -0
  182. vaultspec_rag-0.2.0a0/src/vaultspec_rag/store.py +923 -0
  183. vaultspec_rag-0.2.0a0/src/vaultspec_rag/synthetic.py +316 -0
  184. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/__init__.py +0 -0
  185. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/benchmarks/__init__.py +0 -0
  186. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/benchmarks/bench_rag.py +138 -0
  187. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/benchmarks/conftest.py +51 -0
  188. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/conftest.py +155 -0
  189. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/constants.py +44 -0
  190. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/corpus.py +20 -0
  191. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/__init__.py +0 -0
  192. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/conftest.py +34 -0
  193. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_api_integration.py +135 -0
  194. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_cli_integration.py +180 -0
  195. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_codebase_integration.py +411 -0
  196. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_ecosystem_integration.py +403 -0
  197. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_embeddings.py +77 -0
  198. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_indexer_integration.py +196 -0
  199. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_indexer_progress_integration.py +184 -0
  200. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_install.py +616 -0
  201. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_performance.py +233 -0
  202. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_quality.py +350 -0
  203. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_robustness.py +96 -0
  204. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_search_integration.py +355 -0
  205. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_service_lifecycle.py +369 -0
  206. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/integration/test_store_integration.py +156 -0
  207. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/metrics.py +35 -0
  208. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_adr_regression.py +340 -0
  209. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_cli.py +343 -0
  210. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_cli_warmup.py +44 -0
  211. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_graph_cache.py +296 -0
  212. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_indexer_unit.py +1224 -0
  213. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_mcp_server.py +725 -0
  214. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_metrics.py +52 -0
  215. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_progress_unit.py +153 -0
  216. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_search_unit.py +239 -0
  217. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_service_registry.py +652 -0
  218. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_store.py +139 -0
  219. vaultspec_rag-0.2.0a0/src/vaultspec_rag/tests/test_store_codebase.py +93 -0
  220. vaultspec_rag-0.2.0a0/src/vaultspec_rag/watcher.py +233 -0
  221. vaultspec_rag-0.2.0a0/src/vaultspec_rag/workspace.py +26 -0
  222. vaultspec_rag-0.2.0a0/taplo.toml +8 -0
  223. vaultspec_rag-0.2.0a0/tests/smoke_check.py +100 -0
  224. vaultspec_rag-0.2.0a0/uv.lock +2542 -0
@@ -0,0 +1,49 @@
1
+ # Copy this file to .env and fill in your values.
2
+ # .env is gitignored — never commit real tokens.
3
+
4
+ # HuggingFace access token — required for gated models (naver/splade-v3).
5
+ # Get yours at https://huggingface.co/settings/tokens
6
+ # Accept naver/splade-v3 terms at https://huggingface.co/naver/splade-v3
7
+ HF_TOKEN=hf_...
8
+
9
+ # ---------------------------------------------------------------------------
10
+ # vaultspec-rag configuration
11
+ # All settings follow the resolution order: CLI arg > env var > config default.
12
+ # See config.py EnvVar enum for the authoritative list.
13
+ # ---------------------------------------------------------------------------
14
+
15
+ # Project root directory (default: git root or cwd).
16
+ # CLI: --target
17
+ # VAULTSPEC_RAG_ROOT=
18
+
19
+ # RAG data root relative to project root (default: .vault/data/search-data).
20
+ # CLI: --data-dir
21
+ # VAULTSPEC_RAG_DATA_DIR=.vault/data/search-data
22
+
23
+ # Qdrant storage subdirectory relative to data root (default: qdrant).
24
+ # CLI: --qdrant-dir
25
+ # VAULTSPEC_RAG_QDRANT_DIR=qdrant
26
+
27
+ # Vault index metadata filename relative to data root (default: index_meta.json).
28
+ # CLI: --index-meta
29
+ # VAULTSPEC_RAG_INDEX_META=index_meta.json
30
+
31
+ # Code index metadata filename relative to data root (default: code_index_meta.json).
32
+ # CLI: --code-index-meta
33
+ # VAULTSPEC_RAG_CODE_INDEX_META=code_index_meta.json
34
+
35
+ # Service status directory — stores service.json and logs (default: ~/.vaultspec-rag).
36
+ # CLI: --status-dir
37
+ # VAULTSPEC_RAG_STATUS_DIR=~/.vaultspec-rag
38
+
39
+ # Service log filename relative to status dir (default: service.log).
40
+ # CLI: --log-file
41
+ # VAULTSPEC_RAG_LOG_FILE=service.log
42
+
43
+ # MCP server port (default: 8766).
44
+ # CLI: --port
45
+ # VAULTSPEC_RAG_PORT=8766
46
+
47
+ # Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL (default: WARNING).
48
+ # CLI: --verbose (INFO) / --debug (DEBUG)
49
+ # VAULTSPEC_RAG_LOG_LEVEL=WARNING
@@ -0,0 +1,61 @@
1
+ # Handle line endings automatically for files detected as text
2
+ # and leave binary files untouched.
3
+ * text=auto
4
+
5
+ # Python files
6
+ *.py text eol=lf
7
+ *.pyi text eol=lf
8
+ *.pyw text eol=lf
9
+
10
+ # Web files
11
+ *.html text eol=lf diff=html
12
+ *.css text eol=lf
13
+ *.js text eol=lf
14
+ *.ts text eol=lf
15
+ *.tsx text eol=lf
16
+ *.json text eol=lf
17
+
18
+ # Documentation
19
+ *.md text eol=lf
20
+ *.txt text eol=lf
21
+
22
+ # Data/Config
23
+ *.yml text eol=lf
24
+ *.yaml text eol=lf
25
+ *.toml text eol=lf
26
+ *.xml text eol=lf
27
+
28
+ # Shell scripts
29
+ *.sh text eol=lf
30
+
31
+ # Batch files
32
+ *.bat text eol=crlf
33
+
34
+ # Binary files
35
+ *.png binary
36
+ *.jpg binary
37
+ *.jpeg binary
38
+ *.gif binary
39
+ *.ico binary
40
+ *.mov binary
41
+ *.mp4 binary
42
+ *.mp3 binary
43
+ *.flv binary
44
+ *.fla binary
45
+ *.swf binary
46
+ *.gz binary
47
+ *.zip binary
48
+ *.7z binary
49
+ *.ttf binary
50
+ *.pyc binary
51
+ *.pyo binary
52
+ *.pyd binary
53
+ *.so binary
54
+ *.dll binary
55
+ *.exe binary
56
+
57
+ # >>> vaultspec-managed (do not edit this block) >>>
58
+ * text=auto eol=lf
59
+ *.bat text eol=crlf
60
+ *.cmd text eol=crlf
61
+ # <<< vaultspec-managed <<<
@@ -0,0 +1,3 @@
1
+ self-hosted-runner:
2
+ labels:
3
+ - dev-runner
@@ -0,0 +1,27 @@
1
+ name: Add to Development Board
2
+
3
+ on:
4
+ issues:
5
+ types: [opened]
6
+
7
+ jobs:
8
+ add-to-project:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/add-to-project@v1
12
+ id: add
13
+ with:
14
+ project-url: https://github.com/users/wgergely/projects/3
15
+ github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
16
+
17
+ - name: Set target date to created_at + 30 days
18
+ env:
19
+ GH_TOKEN: ${{ secrets.ADD_TO_PROJECT_PAT }}
20
+ run: |
21
+ DEADLINE=$(date -d "+30 days" +%Y-%m-%d)
22
+ gh project item-edit \
23
+ --project-id PVT_kwHOAKyuWc4BS9uc \
24
+ --id ${{ steps.add.outputs.itemId }} \
25
+ --field-id PVTF_lAHOAKyuWc4BS9uczhAaFWg \
26
+ --date "$DEADLINE"
27
+
@@ -0,0 +1,40 @@
1
+ name: Bootstrap Feature Branch
2
+
3
+ on:
4
+ issues:
5
+ types: [opened, closed, reopened, edited]
6
+
7
+ permissions:
8
+ issues: write
9
+ contents: read
10
+
11
+ jobs:
12
+ bootstrap:
13
+ runs-on: [self-hosted, dev-runner]
14
+ # Skip edited events unless title or body changed
15
+ if: >-
16
+ github.event.action != 'edited' ||
17
+ github.event.changes.title != null ||
18
+ github.event.changes.body != null
19
+ concurrency:
20
+ group: bootstrap-issue-${{ github.event.issue.number }}
21
+ cancel-in-progress: false
22
+ steps:
23
+ - name: Bootstrap local worktree
24
+ # SECURITY: All issue data passed via env vars, NOT ${{ }} interpolation
25
+ # in run blocks. Direct interpolation allows script injection via issue
26
+ # titles containing shell metacharacters.
27
+ env:
28
+ GITHUB_TOKEN: ${{ secrets.DEV_RUNNER_PAT }}
29
+ ISSUE_ACTION: ${{ github.event.action }}
30
+ ISSUE_REPO: ${{ github.repository }}
31
+ ISSUE_NUMBER: ${{ github.event.issue.number }}
32
+ ISSUE_TITLE: ${{ github.event.issue.title }}
33
+ ISSUE_BODY: ${{ github.event.issue.body }}
34
+ run: |
35
+ /usr/local/bin/bootstrap.sh \
36
+ --action "$ISSUE_ACTION" \
37
+ --repo "$ISSUE_REPO" \
38
+ --issue "$ISSUE_NUMBER" \
39
+ --title "$ISSUE_TITLE" \
40
+ --body "$ISSUE_BODY"
@@ -0,0 +1,156 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ concurrency:
14
+ group: ci-${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: true
16
+
17
+ env:
18
+ NO_COLOR: "1"
19
+ FORCE_COLOR: "0"
20
+
21
+ jobs:
22
+ workflow-lint:
23
+ name: Workflow Lint
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - name: Checkout
27
+ uses: actions/checkout@v4
28
+
29
+ - name: Lint GitHub Actions workflows
30
+ uses: docker://rhysd/actionlint:1.7.11
31
+
32
+ lint-and-type:
33
+ name: Lint, Type, Config, Link, and Markdown Checks
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - name: Checkout
37
+ uses: actions/checkout@v4
38
+
39
+ - name: Set up Python
40
+ uses: actions/setup-python@v6
41
+ with:
42
+ python-version: "3.13"
43
+
44
+ - name: Set up uv
45
+ uses: astral-sh/setup-uv@v7
46
+ with:
47
+ enable-cache: true
48
+
49
+ - name: Install lychee
50
+ uses: taiki-e/install-action@v2
51
+ with:
52
+ tool: lychee
53
+
54
+ - name: Install taplo
55
+ uses: taiki-e/install-action@v2
56
+ with:
57
+ tool: taplo-cli
58
+
59
+ - name: Install just
60
+ uses: taiki-e/install-action@just
61
+
62
+ - name: Install dependencies
63
+ run: just dev deps sync
64
+
65
+ - name: Ruff
66
+ run: just dev lint python
67
+
68
+ - name: Ty
69
+ run: just dev lint type
70
+
71
+ - name: Taplo
72
+ run: just dev lint toml
73
+
74
+ - name: Lychee
75
+ run: just dev lint links
76
+
77
+ - name: Markdown
78
+ run: just dev lint markdown
79
+
80
+ tests:
81
+ name: Tests
82
+ runs-on: ubuntu-latest
83
+ steps:
84
+ - name: Checkout
85
+ uses: actions/checkout@v4
86
+
87
+ - name: Set up Python
88
+ uses: actions/setup-python@v6
89
+ with:
90
+ python-version: "3.13"
91
+
92
+ - name: Set up uv
93
+ uses: astral-sh/setup-uv@v7
94
+ with:
95
+ enable-cache: true
96
+
97
+ - name: Install just
98
+ uses: taiki-e/install-action@just
99
+
100
+ - name: Install dependencies
101
+ run: just dev deps sync
102
+
103
+ - name: Run tests
104
+ run: just dev test python
105
+
106
+ vault-audit:
107
+ name: Vault Audit
108
+ runs-on: ubuntu-latest
109
+ steps:
110
+ - name: Checkout
111
+ uses: actions/checkout@v4
112
+
113
+ - name: Set up Python
114
+ uses: actions/setup-python@v6
115
+ with:
116
+ python-version: "3.13"
117
+
118
+ - name: Set up uv
119
+ uses: astral-sh/setup-uv@v7
120
+ with:
121
+ enable-cache: true
122
+
123
+ - name: Install just
124
+ uses: taiki-e/install-action@just
125
+
126
+ - name: Install dependencies
127
+ run: just dev deps sync
128
+
129
+ - name: Verify vault structure and links
130
+ run: uv run vaultspec-core vault check all
131
+
132
+ dependency-audit:
133
+ name: Dependency Audit (pip-audit)
134
+ runs-on: ubuntu-latest
135
+ steps:
136
+ - name: Checkout
137
+ uses: actions/checkout@v4
138
+
139
+ - name: Set up Python
140
+ uses: actions/setup-python@v6
141
+ with:
142
+ python-version: "3.13"
143
+
144
+ - name: Set up uv
145
+ uses: astral-sh/setup-uv@v7
146
+ with:
147
+ enable-cache: true
148
+
149
+ - name: Install just
150
+ uses: taiki-e/install-action@just
151
+
152
+ - name: Install dependencies
153
+ run: just dev deps sync
154
+
155
+ - name: Python dependency vulnerability audit
156
+ run: just dev audit deps
@@ -0,0 +1,50 @@
1
+ name: Claude Code
2
+
3
+ on:
4
+ issue_comment:
5
+ types: [created]
6
+ pull_request_review_comment:
7
+ types: [created]
8
+ issues:
9
+ types: [opened, assigned]
10
+ pull_request_review:
11
+ types: [submitted]
12
+
13
+ jobs:
14
+ claude:
15
+ if: |
16
+ (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17
+ (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18
+ (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19
+ (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ contents: read
23
+ pull-requests: read
24
+ issues: read
25
+ id-token: write
26
+ actions: read # Required for Claude to read CI results on PRs
27
+ steps:
28
+ - name: Checkout repository
29
+ uses: actions/checkout@v4
30
+ with:
31
+ fetch-depth: 1
32
+
33
+ - name: Run Claude Code
34
+ id: claude
35
+ uses: anthropics/claude-code-action@v1
36
+ with:
37
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38
+
39
+ # This is an optional setting that allows Claude to read CI results on PRs
40
+ additional_permissions: |
41
+ actions: read
42
+
43
+ # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44
+ # prompt: 'Update the pull request description to include a summary of changes.'
45
+
46
+ # Optional: Add claude_args to customize behavior and configuration
47
+ # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48
+ # or https://code.claude.com/docs/en/cli-reference for available options
49
+ # claude_args: '--allowed-tools Bash(gh pr:*)'
50
+
@@ -0,0 +1,93 @@
1
+ name: Publish
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ tag:
7
+ description: "Release tag to publish (e.g. vaultspec-rag-v0.1.4)"
8
+ required: true
9
+ type: string
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ concurrency:
15
+ group: publish
16
+ cancel-in-progress: false
17
+
18
+ jobs:
19
+ build:
20
+ name: Build
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - name: Checkout
24
+ uses: actions/checkout@v4
25
+ with:
26
+ ref: ${{ inputs.tag }}
27
+
28
+ - name: Set up uv
29
+ uses: astral-sh/setup-uv@v7
30
+
31
+ - name: Install Python
32
+ run: uv python install 3.13
33
+
34
+ - name: Build package
35
+ run: uv build
36
+
37
+ - name: Upload dist artifacts
38
+ uses: actions/upload-artifact@v4
39
+ with:
40
+ name: dist
41
+ path: dist/
42
+ if-no-files-found: error
43
+ retention-days: 5
44
+
45
+ smoke-test:
46
+ name: Smoke Test
47
+ needs: build
48
+ runs-on: ubuntu-latest
49
+ steps:
50
+ - name: Checkout
51
+ uses: actions/checkout@v4
52
+ with:
53
+ ref: ${{ inputs.tag }}
54
+
55
+ - name: Set up uv
56
+ uses: astral-sh/setup-uv@v7
57
+
58
+ - name: Install Python
59
+ run: uv python install 3.13
60
+
61
+ - name: Download dist artifacts
62
+ uses: actions/download-artifact@v4
63
+ with:
64
+ name: dist
65
+ path: dist/
66
+
67
+ - name: Smoke test (wheel)
68
+ run: uv run --isolated --no-project --with dist/*.whl tests/smoke_check.py
69
+
70
+ - name: Smoke test (sdist)
71
+ run: uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_check.py
72
+
73
+ publish-pypi:
74
+ name: Publish to PyPI
75
+ needs: smoke-test
76
+ runs-on: ubuntu-latest
77
+ environment:
78
+ name: pypi
79
+ permissions:
80
+ id-token: write
81
+ contents: read
82
+ steps:
83
+ - name: Download dist artifacts
84
+ uses: actions/download-artifact@v4
85
+ with:
86
+ name: dist
87
+ path: dist/
88
+
89
+ - name: Set up uv
90
+ uses: astral-sh/setup-uv@v7
91
+
92
+ - name: Publish to PyPI
93
+ run: uv publish --check-url https://pypi.org/simple/ dist/*
@@ -0,0 +1,50 @@
1
+ name: Release Please
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ contents: write
10
+ pull-requests: write
11
+
12
+ concurrency:
13
+ group: release-please
14
+ cancel-in-progress: false
15
+
16
+ jobs:
17
+ release-please:
18
+ name: Release Please
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - name: Run release-please
22
+ id: release
23
+ uses: googleapis/release-please-action@v4
24
+ with:
25
+ config-file: release-please-config.json
26
+ manifest-file: .release-please-manifest.json
27
+
28
+ - name: Update uv.lock on release branch
29
+ if: steps.release.outputs.pr && !steps.release.outputs.release_created
30
+ uses: actions/checkout@v4
31
+ with:
32
+ ref: ${{ fromJSON(steps.release.outputs.pr).headBranchName }}
33
+
34
+ - name: Regenerate lockfile
35
+ if: steps.release.outputs.pr && !steps.release.outputs.release_created
36
+ uses: astral-sh/setup-uv@v7
37
+
38
+ - name: Push updated lockfile
39
+ if: steps.release.outputs.pr && !steps.release.outputs.release_created
40
+ run: |
41
+ uv lock
42
+ if git diff --quiet uv.lock; then
43
+ echo "uv.lock is already up to date"
44
+ else
45
+ git config user.name "github-actions[bot]"
46
+ git config user.email "github-actions[bot]@users.noreply.github.com"
47
+ git add uv.lock
48
+ git commit -m "chore: update uv.lock for release"
49
+ git push
50
+ fi
@@ -0,0 +1,167 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ # /lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # Whitelist .vaultspec/lib
30
+ !/.vaultspec/lib/
31
+ !/.vaultspec/lib/**
32
+ .vaultspec/lib/**/__pycache__/
33
+ .vaultspec/lib/**/*.pyc
34
+ .vaultspec/providers.json
35
+
36
+ # Auto-generated temp files
37
+ .vaultspec/.tmp/
38
+ tmp/
39
+
40
+ # PyInstaller
41
+ # Usually these files are written by a python script from a template
42
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
43
+ *.manifest
44
+ *.spec
45
+
46
+ # Installer logs
47
+ pip-log.txt
48
+ pip-delete-this-directory.txt
49
+
50
+ # Unit test / coverage reports
51
+ htmlcov/
52
+ .tox/
53
+ .nox/
54
+ .coverage
55
+ .coverage.*
56
+ .cache
57
+ nosetests.xml
58
+ coverage.xml
59
+ *.cover
60
+ *.py,cover
61
+ .hypothesis/
62
+ .pytest_cache/
63
+ .pytest*/
64
+ .ruff*/
65
+ .uv*/
66
+ cover/
67
+ test-events.jsonl
68
+
69
+ # Translations
70
+ *.mo
71
+ *.pot
72
+
73
+ # Django stuff:
74
+ *.log
75
+ local_settings.py
76
+ db.sqlite3
77
+ db.sqlite3-journal
78
+
79
+ # Flask stuff:
80
+ instance/
81
+ .webassets-cache
82
+
83
+ # Scrapy stuff:
84
+ .scrapy
85
+
86
+ # Sphinx documentation
87
+ docs/_build/
88
+
89
+ # PyBuilder
90
+ .pybuilder/
91
+ target/
92
+
93
+ # Jupyter Notebook
94
+ .ipynb_checkpoints
95
+
96
+ # IPython
97
+ profile_default/
98
+ ipython_config.py
99
+
100
+ # pyenv
101
+ # .python-version
102
+
103
+ # Environments
104
+ .env
105
+ .venv
106
+ env/
107
+ venv/
108
+ ENV/
109
+ env.bak/
110
+ venv.bak/
111
+
112
+ # Spyder project settings
113
+ .spyderproject
114
+ .spyproject
115
+
116
+ # Rope project settings
117
+ .ropeproject
118
+
119
+ # mkdocs documentation
120
+ /site
121
+
122
+ # mypy
123
+ .mypy_cache/
124
+ .dmypy.json
125
+ dmypy.json
126
+
127
+ # Pyre type checker
128
+ .pyre/
129
+
130
+ # pytype static type analyzer
131
+ .pytype/
132
+
133
+ # Cython debug symbols
134
+ cython_debug/
135
+
136
+ # PyCharm
137
+ .idea/
138
+
139
+ # VS Code
140
+ .vscode/
141
+
142
+
143
+ # LanceDB vector store
144
+ .lance/
145
+ **/.lance/
146
+ vault_index.json
147
+
148
+
149
+ # Temporary reference files
150
+ tmp-ref/
151
+
152
+ # >>> vaultspec-managed (do not edit this block) >>>
153
+ .agents/
154
+ .claude/
155
+ .codex/
156
+ .gemini/
157
+ .mcp.json
158
+ .vault/.obsidian/
159
+ .vault/.trash/
160
+ .vault/data/
161
+ .vault/logs/
162
+ .vaultspec/
163
+ .vaultspec/_snapshots/
164
+ AGENTS.md
165
+ CLAUDE.md
166
+ GEMINI.md
167
+ # <<< vaultspec-managed <<<
@@ -0,0 +1,3 @@
1
+ wrap = "keep"
2
+ number = false
3
+ end_of_line = "lf"