bathys 0.9.0__tar.gz → 0.11.0__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 (114) hide show
  1. {bathys-0.9.0 → bathys-0.11.0}/.remember/logs/memory-2026-09-09.log +6 -0
  2. bathys-0.11.0/.remember/logs/memory-2026-09-13.log +2 -0
  3. bathys-0.11.0/.remember/logs/memory-2026-09-14.log +76 -0
  4. bathys-0.11.0/.remember/tmp/no-transcript-notice +1 -0
  5. {bathys-0.9.0 → bathys-0.11.0}/CHANGELOG.md +24 -0
  6. {bathys-0.9.0 → bathys-0.11.0}/PKG-INFO +4 -3
  7. {bathys-0.9.0 → bathys-0.11.0}/README.md +3 -2
  8. {bathys-0.9.0 → bathys-0.11.0}/agents/HARNESS-DROPIN.md +5 -1
  9. {bathys-0.9.0 → bathys-0.11.0}/agents/bathys-researcher.md +24 -12
  10. bathys-0.11.0/agents/skills/bathys-find-docs/SKILL.md +68 -0
  11. bathys-0.11.0/docs/product/library-docs-initiative.md +46 -0
  12. {bathys-0.9.0 → bathys-0.11.0}/pyproject.toml +2 -1
  13. {bathys-0.9.0 → bathys-0.11.0}/scripts/stdio_check.py +2 -1
  14. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/__init__.py +1 -1
  15. bathys-0.11.0/src/bathys/docs_index.json +33 -0
  16. bathys-0.11.0/src/bathys/library_docs.py +228 -0
  17. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/server.py +82 -6
  18. bathys-0.11.0/tests/test_library_docs.py +82 -0
  19. bathys-0.9.0/.remember/tmp/no-transcript-notice +0 -1
  20. {bathys-0.9.0 → bathys-0.11.0}/.github/workflows/ci.yml +0 -0
  21. {bathys-0.9.0 → bathys-0.11.0}/.gitignore +0 -0
  22. {bathys-0.9.0 → bathys-0.11.0}/.remember/.gitignore +0 -0
  23. {bathys-0.9.0 → bathys-0.11.0}/.remember/logs/hook-errors.log +0 -0
  24. {bathys-0.9.0 → bathys-0.11.0}/.remember/logs/memory-2026-09-06.log +0 -0
  25. {bathys-0.9.0 → bathys-0.11.0}/.remember/logs/memory-2026-09-07.log +0 -0
  26. {bathys-0.9.0 → bathys-0.11.0}/.remember/logs/memory-2026-09-08.log +0 -0
  27. {bathys-0.9.0 → bathys-0.11.0}/.remember/tmp/case-divergence +0 -0
  28. {bathys-0.9.0 → bathys-0.11.0}/.remember/tmp/post-tool-ran +0 -0
  29. {bathys-0.9.0 → bathys-0.11.0}/.remember/tmp/session-slug +0 -0
  30. {bathys-0.9.0 → bathys-0.11.0}/Dockerfile +0 -0
  31. {bathys-0.9.0 → bathys-0.11.0}/LICENSE +0 -0
  32. {bathys-0.9.0 → bathys-0.11.0}/THIRD_PARTY_NOTICES.md +0 -0
  33. {bathys-0.9.0 → bathys-0.11.0}/agents/skills/bathys-deep-dive/SKILL.md +0 -0
  34. {bathys-0.9.0 → bathys-0.11.0}/agents/skills/bathys-source-audit/SKILL.md +0 -0
  35. {bathys-0.9.0 → bathys-0.11.0}/docs/adr/0001-python-crawl4ai.md +0 -0
  36. {bathys-0.9.0 → bathys-0.11.0}/docs/adr/0002-pin-mcp-sdk-v1.md +0 -0
  37. {bathys-0.9.0 → bathys-0.11.0}/docs/adr/0003-self-managed-searxng.md +0 -0
  38. {bathys-0.9.0 → bathys-0.11.0}/docs/adr/0004-bm25-distillation.md +0 -0
  39. {bathys-0.9.0 → bathys-0.11.0}/docs/adr/0005-cache-raw-before-distill.md +0 -0
  40. {bathys-0.9.0 → bathys-0.11.0}/docs/adr/0006-three-tool-string-surface.md +0 -0
  41. {bathys-0.9.0 → bathys-0.11.0}/docs/architecture/data-flow.md +0 -0
  42. {bathys-0.9.0 → bathys-0.11.0}/docs/architecture/overview.md +0 -0
  43. {bathys-0.9.0 → bathys-0.11.0}/docs/architecture/pipeline.md +0 -0
  44. {bathys-0.9.0 → bathys-0.11.0}/docs/assets/banner.svg +0 -0
  45. {bathys-0.9.0 → bathys-0.11.0}/docs/contracts/config.md +0 -0
  46. {bathys-0.9.0 → bathys-0.11.0}/docs/contracts/mcp-tools.md +0 -0
  47. {bathys-0.9.0 → bathys-0.11.0}/docs/contracts/module-contracts.md +0 -0
  48. {bathys-0.9.0 → bathys-0.11.0}/docs/contracts/output-format.md +0 -0
  49. {bathys-0.9.0 → bathys-0.11.0}/docs/getting-started/cases.md +0 -0
  50. {bathys-0.9.0 → bathys-0.11.0}/docs/getting-started/configure.md +0 -0
  51. {bathys-0.9.0 → bathys-0.11.0}/docs/getting-started/install.md +0 -0
  52. {bathys-0.9.0 → bathys-0.11.0}/docs/getting-started/integrate.md +0 -0
  53. {bathys-0.9.0 → bathys-0.11.0}/docs/index.md +0 -0
  54. {bathys-0.9.0 → bathys-0.11.0}/docs/integrations/claude-code.md +0 -0
  55. {bathys-0.9.0 → bathys-0.11.0}/docs/integrations/cursor.md +0 -0
  56. {bathys-0.9.0 → bathys-0.11.0}/docs/integrations/generic-mcp.md +0 -0
  57. {bathys-0.9.0 → bathys-0.11.0}/docs/integrations/overview.md +0 -0
  58. {bathys-0.9.0 → bathys-0.11.0}/docs/integrations/zcode.md +0 -0
  59. {bathys-0.9.0 → bathys-0.11.0}/docs/meta/glossary.md +0 -0
  60. {bathys-0.9.0 → bathys-0.11.0}/docs/meta/style-guide.md +0 -0
  61. {bathys-0.9.0 → bathys-0.11.0}/docs/operations/metrics.md +0 -0
  62. {bathys-0.9.0 → bathys-0.11.0}/docs/operations/runbook.md +0 -0
  63. {bathys-0.9.0 → bathys-0.11.0}/docs/product/api-engine-initiative.md +0 -0
  64. {bathys-0.9.0 → bathys-0.11.0}/docs/product/charter.md +0 -0
  65. {bathys-0.9.0 → bathys-0.11.0}/docs/product/competitive.md +0 -0
  66. {bathys-0.9.0 → bathys-0.11.0}/docs/product/features.md +0 -0
  67. {bathys-0.9.0 → bathys-0.11.0}/docs/product/ideas-borrowed.md +0 -0
  68. {bathys-0.9.0 → bathys-0.11.0}/docs/product/mind-initiative.md +0 -0
  69. {bathys-0.9.0 → bathys-0.11.0}/docs/product/ocr-initiative.md +0 -0
  70. {bathys-0.9.0 → bathys-0.11.0}/docs/product/roadmap.md +0 -0
  71. {bathys-0.9.0 → bathys-0.11.0}/gpu-llm-analysis-2026.html +0 -0
  72. {bathys-0.9.0 → bathys-0.11.0}/gpu-llm-multiagent-2026.html +0 -0
  73. {bathys-0.9.0 → bathys-0.11.0}/install.sh +0 -0
  74. {bathys-0.9.0 → bathys-0.11.0}/integrations/README.md +0 -0
  75. {bathys-0.9.0 → bathys-0.11.0}/integrations/hermes/README.md +0 -0
  76. {bathys-0.9.0 → bathys-0.11.0}/integrations/hermes/install.py +0 -0
  77. {bathys-0.9.0 → bathys-0.11.0}/integrations/pi/README.md +0 -0
  78. {bathys-0.9.0 → bathys-0.11.0}/integrations/pi/assets/bathys-rules.md +0 -0
  79. {bathys-0.9.0 → bathys-0.11.0}/integrations/zcode/README.md +0 -0
  80. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/.remember/.gitignore +0 -0
  81. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/.remember/logs/hook-errors.log +0 -0
  82. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/.remember/logs/memory-2026-09-08.log +0 -0
  83. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/.remember/logs/memory-2026-09-09.log +0 -0
  84. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/.remember/tmp/no-transcript-notice +0 -0
  85. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/.remember/tmp/post-tool-ran +0 -0
  86. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/README.md +0 -0
  87. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/bin/cli.js +0 -0
  88. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/bin/postinstall.js +0 -0
  89. {bathys-0.9.0 → bathys-0.11.0}/npm/bathys-mcp/package.json +0 -0
  90. {bathys-0.9.0 → bathys-0.11.0}/scripts/acceptance_v02.py +0 -0
  91. {bathys-0.9.0 → bathys-0.11.0}/scripts/batch_check.py +0 -0
  92. {bathys-0.9.0 → bathys-0.11.0}/scripts/metrics_report.py +0 -0
  93. {bathys-0.9.0 → bathys-0.11.0}/scripts/smoke.py +0 -0
  94. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/batch.py +0 -0
  95. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/cache.py +0 -0
  96. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/compose.yaml +0 -0
  97. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/config.py +0 -0
  98. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/core.py +0 -0
  99. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/crawler.py +0 -0
  100. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/distill.py +0 -0
  101. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/doctor.py +0 -0
  102. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/installer.py +0 -0
  103. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/searx.py +0 -0
  104. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/searxng-settings.yml +0 -0
  105. {bathys-0.9.0 → bathys-0.11.0}/src/bathys/services.py +0 -0
  106. {bathys-0.9.0 → bathys-0.11.0}/tests/test_batch.py +0 -0
  107. {bathys-0.9.0 → bathys-0.11.0}/tests/test_cache.py +0 -0
  108. {bathys-0.9.0 → bathys-0.11.0}/tests/test_config.py +0 -0
  109. {bathys-0.9.0 → bathys-0.11.0}/tests/test_core.py +0 -0
  110. {bathys-0.9.0 → bathys-0.11.0}/tests/test_distill.py +0 -0
  111. {bathys-0.9.0 → bathys-0.11.0}/tests/test_installer.py +0 -0
  112. {bathys-0.9.0 → bathys-0.11.0}/tests/test_searx.py +0 -0
  113. {bathys-0.9.0 → bathys-0.11.0}/tests/test_v04.py +0 -0
  114. {bathys-0.9.0 → bathys-0.11.0}/uv.lock +0 -0
@@ -181,3 +181,9 @@
181
181
  13:50:50 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
182
182
  13:51:03 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
183
183
  13:51:16 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
184
+ 13:51:24 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
185
+ 13:51:38 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
186
+ 14:21:06 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
187
+ 14:21:06 [hook] WARNING: no session dir for this project: /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/-var-home-abyss-LABs-MCP-deepreserch (slug of /var/home/abyss/LABs/MCP/deepreserch). Memory cannot save until it matches a directory under /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/
188
+ 14:21:11 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
189
+ 14:21:15 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
@@ -0,0 +1,2 @@
1
+ 17:47:30 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
2
+ 17:47:40 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
@@ -0,0 +1,76 @@
1
+ 03:11:28 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
2
+ 03:11:35 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
3
+ 12:41:39 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
4
+ 16:14:09 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
5
+ 16:19:35 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
6
+ 16:19:35 [hook] WARNING: no session dir for this project: /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/-var-home-abyss-LABs-MCP-deepreserch (slug of /var/home/abyss/LABs/MCP/deepreserch). Memory cannot save until it matches a directory under /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/
7
+ 16:19:46 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
8
+ 16:19:55 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
9
+ 16:20:09 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
10
+ 16:20:18 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
11
+ 16:20:23 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
12
+ 16:20:34 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
13
+ 16:21:25 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
14
+ 16:22:10 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
15
+ 16:22:54 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
16
+ 16:23:05 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
17
+ 16:23:34 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
18
+ 16:23:50 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
19
+ 16:24:19 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
20
+ 16:24:31 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
21
+ 16:25:25 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
22
+ 16:26:51 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
23
+ 16:26:51 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
24
+ 16:27:05 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
25
+ 16:27:16 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
26
+ 16:27:27 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
27
+ 16:27:36 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
28
+ 16:27:53 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
29
+ 16:28:13 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
30
+ 16:28:29 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
31
+ 16:28:48 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
32
+ 16:29:02 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
33
+ 16:46:58 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
34
+ 16:54:32 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
35
+ 16:55:30 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
36
+ 16:56:00 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
37
+ 16:56:09 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
38
+ 16:56:15 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
39
+ 17:01:41 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
40
+ 17:03:26 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
41
+ 17:04:17 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
42
+ 17:24:10 [hook] session-start: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
43
+ 17:26:59 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
44
+ 17:26:59 [hook] WARNING: no session dir for this project: /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/-var-home-abyss-LABs-MCP-deepreserch (slug of /var/home/abyss/LABs/MCP/deepreserch). Memory cannot save until it matches a directory under /var/home/abyss/.distrobox/ubuntu/home/.claude/projects/
45
+ 17:27:28 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
46
+ 17:29:06 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
47
+ 17:29:17 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
48
+ 17:29:30 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
49
+ 17:29:49 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
50
+ 17:30:07 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
51
+ 17:30:18 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
52
+ 17:30:34 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
53
+ 17:30:44 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
54
+ 17:30:57 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
55
+ 17:30:57 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
56
+ 17:31:13 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
57
+ 17:31:22 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
58
+ 17:31:31 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
59
+ 17:31:47 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
60
+ 17:32:07 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
61
+ 17:32:19 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
62
+ 17:32:33 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
63
+ 17:32:45 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
64
+ 17:33:10 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
65
+ 17:33:35 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
66
+ 17:35:27 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
67
+ 17:35:28 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
68
+ 17:35:39 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
69
+ 17:35:51 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
70
+ 17:36:26 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
71
+ 17:36:36 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
72
+ 17:36:47 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
73
+ 17:36:58 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
74
+ 17:37:17 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
75
+ 17:38:44 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
76
+ 17:38:59 [hook] post-tool: PROJECT_DIR=/var/home/abyss/LABs/MCP/deepreserch PIPELINE_DIR=/var/home/abyss/.distrobox/ubuntu/home/.zcode/cli/plugins/cache/claude-plugins-official/remember/0.20.0 PYTHON=python3 REMEMBER_DIR=/var/home/abyss/LABs/MCP/deepreserch/.remember
@@ -0,0 +1 @@
1
+ 1789396019
@@ -2,6 +2,30 @@
2
2
 
3
3
  Формат: Keep a Changelog; версии — semver. Дата — дата выпуска версии.
4
4
 
5
+ ## [0.11.0] — 2026-09-14
6
+
7
+ Тема: «Library Docs Phase 2» — подстраничная догрузка: качество уровня Context7 без их базы.
8
+
9
+ ### Добавлено
10
+
11
+ - **Подстраничная догрузка `library_docs`** (`subpages=3`, 0 = off): после главной страницы извлекаются same-site ссылки, ранжируются по пересечению с запросом (y/ies-морфология: «dependency» матчит «dependencies»), топ догружается параллельно через семафор дайвов и мержится в один digest. Live: fastapi «dependency injection» — **4 383 ch контента против 1 951 навигации** в Фазе 1; site-search-фолбэк нашёл точные `tutorial/dependencies/`, `classes-as-dependencies/`, `advanced-dependencies/` на linkless-главной (HTTP-ярус выкинул nav-разметку).
12
+ - **Site-search discovery-фолбэк**: если в сырце главной нет ссылок (nav-разметка срезана HTTP-ярусом), подстраницы находятся одним целевым `web_search "{library} {query} site:{host}"` через наш же движок.
13
+ - Юнит-тесты: seed-индекс (фильтр служебных ключей), same-site, экстрактор (ранжирование/ассет-фильтр/лимит), морфология.
14
+
15
+ ### Изменено
16
+
17
+ - Архитектурно: словарные «навигационные» эвристики (плотность ссылок/разнообразие слов) признаны хрупкими на границе TOC/проза и убраны — догрузка стала безусловной для профильного инструмента; решение зафиксировано в коде-комментарии.
18
+
19
+ ## [0.10.0] — 2026-09-14
20
+
21
+ Тема: «Library Docs» — Context7-функциональность локально и без лимитов. Разведка Context7 (живьём через Bathys): parsing/crawling-движки у него приватные, free-tier урезан до ~1000 req/мес, офлайна нет. Наш ответ — инициатива library-docs: источники доков открыты сами по себе, наш конвейер уже содержит «parsing engine» (двухъярусное извлечение + BM25-дистилляция + кэш сырца).
22
+
23
+ ### Добавлено
24
+
25
+ - **`library_docs(library, query)`** — 5-й MCP-инструмент: актуальная документация библиотеки из первоисточника, дистиллированная под вопрос. Резолв: seed-индекс (`docs_index.json`, 30+ библиотек: react, fastapi, pytorch, kubernetes, searxng, crawl4ai…) → живой `web_search` «official documentation» → GitHub-slug. Повторные вопросы по той же библиотеке — мгновенно, офлайн, бесплатно (кэш сырца — то, чего нет у Context7). Live: `trio` резолвлен поиском (triodocs.org), `fastapi` из индекса; 153k ch → дистиллят под query.
26
+ - Инициатива `docs/product/library-docs-initiative.md`: архитектура, честная таблица отличий от Context7 (без лимитов/офлайн/любой сайт доков), фазы 2–3 (версионность через GitHub-теги, догрузка подстраниц, авторастущий индекс).
27
+ - Фаза 2 (задел): ограничение Фазы 1 зафиксировано честно — главная страница доксайта часто навигационная; полнота придёт с догрузкой релевантных подстраниц.
28
+
5
29
  ## [0.9.0] — 2026-09-09
6
30
 
7
31
  Тема: «Borrowed Ideas» — три фичи, заимствованные из pi-web-access (реализация наша; разведка самого источника проведена живьём через Bathys).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: bathys
3
- Version: 0.9.0
3
+ Version: 0.11.0
4
4
  Summary: Unified local deep-research search service for AI agents — one pipeline (search → extraction → query distillation → cache), zero cloud quotas. MCP stdio server with native harness integration (bathys install).
5
5
  Project-URL: Homepage, https://github.com/Korrnals/bathys
6
6
  Project-URL: Repository, https://github.com/Korrnals/bathys
@@ -33,7 +33,7 @@ Description-Content-Type: text/markdown
33
33
  Сонар находит координаты, батискаф ныряет за полными текстами, дистиллятор поднимает на палубу только то, что отвечает на вопрос.
34
34
 
35
35
  ![python](https://img.shields.io/badge/python-3.10%2B-blue)
36
- ![version](https://img.shields.io/badge/version-0.9.0-9cf)
36
+ ![version](https://img.shields.io/badge/version-0.11.0-9cf)
37
37
  ![mcp](https://img.shields.io/badge/MCP-stdio%20server-6f42c1)
38
38
  ![license](https://img.shields.io/badge/license-MIT-green)
39
39
 
@@ -172,6 +172,7 @@ Bathys — stdio MCP-сервер: блок `mcpServers` один и тот же
172
172
  | `deep_research(query, max_sources=3, …)` | ищет, параллельно читает топ-источники, возвращает слитый дистиллят под запрос. Первый вызов для любого ресёрч-вопроса. |
173
173
  | `web_search(query, max_results=8, …)` | ранжированный список ссылок со сниппетами без содержимого страниц; `as_json=true` — чистый JSON для программ. |
174
174
  | `read_url(url, query=None, find=None)` | читает страницу (включая текстовые PDF); с `query` — релевантные пассажи; с `find` — точный поиск по кэшу сырца без сети. |
175
+ | `library_docs(library, query)` | актуальная документация библиотеки из первоисточника, дистиллированная под вопрос; повторы бесплатны (кэш). |
175
176
  | `read_urls(urls, query=None, total_chars=12000)` | пакетно читает до 10 известных страниц; бюджет делится между успешными, сбой страницы — одна строка, не сорванный вызов. |
176
177
 
177
178
  Поиск сужается общими фильтрами `time_range`, `category`, `engines`, `language`. Живой футер ответа показывает сжатие и кэш: `[bathys: 41 raw hits, top 3 considered · dove 3 pages · 35669 ch fetched → 7508 ch returned · 3.2s]`.
@@ -210,7 +211,7 @@ Bathys — stdio MCP-сервер: блок `mcpServers` один и тот же
210
211
 
211
212
  ## 📍 Статус
212
213
 
213
- **0.9.0.** Выпускная история: v0.2 «Качество выдачи» (ретраи, здоровье движков), v0.3 «Паритет с Tavily» (`read_urls`, JSON-режим), v0.4 «Эксплуатация» (robots-этика, метрики, `bathys-doctor`), v0.5 «Identity & Harness» (репозиционирование, промпты, субагент), v0.6 «Native Install» (`bathys install`), v0.7 «Ship & Setup» (двухъярусное извлечение, `bathys setup`, однострочник, uninstall) — итоги в [CHANGELOG.md](CHANGELOG.md).
214
+ **0.11.0.** Выпускная история: v0.2 «Качество выдачи» (ретраи, здоровье движков), v0.3 «Паритет с Tavily» (`read_urls`, JSON-режим), v0.4 «Эксплуатация» (robots-этика, метрики, `bathys-doctor`), v0.5 «Identity & Harness» (репозиционирование, промпты, субагент), v0.6 «Native Install» (`bathys install`), v0.7 «Ship & Setup» (двухъярусное извлечение, `bathys setup`, однострочник, uninstall) — итоги в [CHANGELOG.md](CHANGELOG.md).
214
215
 
215
216
  Репозиторий: `github.com/Korrnals/bathys`. Пакет опубликован: [PyPI `bathys`](https://pypi.org/project/bathys/) (pip install), однострочник установки — выше. До 1.0: публикация npm-обёртки `bathys-mcp` и первый прогон Docker-образа; CI (matrix 3.10–3.12 + shellcheck) уже в репозитории.
216
217
 
@@ -7,7 +7,7 @@
7
7
  Сонар находит координаты, батискаф ныряет за полными текстами, дистиллятор поднимает на палубу только то, что отвечает на вопрос.
8
8
 
9
9
  ![python](https://img.shields.io/badge/python-3.10%2B-blue)
10
- ![version](https://img.shields.io/badge/version-0.9.0-9cf)
10
+ ![version](https://img.shields.io/badge/version-0.11.0-9cf)
11
11
  ![mcp](https://img.shields.io/badge/MCP-stdio%20server-6f42c1)
12
12
  ![license](https://img.shields.io/badge/license-MIT-green)
13
13
 
@@ -146,6 +146,7 @@ Bathys — stdio MCP-сервер: блок `mcpServers` один и тот же
146
146
  | `deep_research(query, max_sources=3, …)` | ищет, параллельно читает топ-источники, возвращает слитый дистиллят под запрос. Первый вызов для любого ресёрч-вопроса. |
147
147
  | `web_search(query, max_results=8, …)` | ранжированный список ссылок со сниппетами без содержимого страниц; `as_json=true` — чистый JSON для программ. |
148
148
  | `read_url(url, query=None, find=None)` | читает страницу (включая текстовые PDF); с `query` — релевантные пассажи; с `find` — точный поиск по кэшу сырца без сети. |
149
+ | `library_docs(library, query)` | актуальная документация библиотеки из первоисточника, дистиллированная под вопрос; повторы бесплатны (кэш). |
149
150
  | `read_urls(urls, query=None, total_chars=12000)` | пакетно читает до 10 известных страниц; бюджет делится между успешными, сбой страницы — одна строка, не сорванный вызов. |
150
151
 
151
152
  Поиск сужается общими фильтрами `time_range`, `category`, `engines`, `language`. Живой футер ответа показывает сжатие и кэш: `[bathys: 41 raw hits, top 3 considered · dove 3 pages · 35669 ch fetched → 7508 ch returned · 3.2s]`.
@@ -184,7 +185,7 @@ Bathys — stdio MCP-сервер: блок `mcpServers` один и тот же
184
185
 
185
186
  ## 📍 Статус
186
187
 
187
- **0.9.0.** Выпускная история: v0.2 «Качество выдачи» (ретраи, здоровье движков), v0.3 «Паритет с Tavily» (`read_urls`, JSON-режим), v0.4 «Эксплуатация» (robots-этика, метрики, `bathys-doctor`), v0.5 «Identity & Harness» (репозиционирование, промпты, субагент), v0.6 «Native Install» (`bathys install`), v0.7 «Ship & Setup» (двухъярусное извлечение, `bathys setup`, однострочник, uninstall) — итоги в [CHANGELOG.md](CHANGELOG.md).
188
+ **0.11.0.** Выпускная история: v0.2 «Качество выдачи» (ретраи, здоровье движков), v0.3 «Паритет с Tavily» (`read_urls`, JSON-режим), v0.4 «Эксплуатация» (robots-этика, метрики, `bathys-doctor`), v0.5 «Identity & Harness» (репозиционирование, промпты, субагент), v0.6 «Native Install» (`bathys install`), v0.7 «Ship & Setup» (двухъярусное извлечение, `bathys setup`, однострочник, uninstall) — итоги в [CHANGELOG.md](CHANGELOG.md).
188
189
 
189
190
  Репозиторий: `github.com/Korrnals/bathys`. Пакет опубликован: [PyPI `bathys`](https://pypi.org/project/bathys/) (pip install), однострочник установки — выше. До 1.0: публикация npm-обёртки `bathys-mcp` и первый прогон Docker-образа; CI (matrix 3.10–3.12 + shellcheck) уже в репозитории.
190
191
 
@@ -23,6 +23,10 @@
23
23
 
24
24
  - исследовательский вопрос («что/как/почему/сравни») → `deep_research(query)`
25
25
  — ищет, читает топ-источники, возвращает дистиллят под запрос;
26
+ - вопрос о библиотеке/фреймворке/API/CLI → `library_docs(library, query=…)`
27
+ — всегда, даже о известной либе и даже если уверен: тренировочные
28
+ данные устаревают, доки — первоисточник; уточняющий вопрос по той же
29
+ либе — снова `library_docs` (кэш сырца: повтор мгновенный и бесплатный);
26
30
  - нужны только ссылки → `web_search(query)`; для программы/скрипта —
27
31
  `web_search(query, as_json=true)`;
28
32
  - один известный URL → `read_url(url, query=…)`; несколько (до 10) →
@@ -47,4 +51,4 @@
47
51
  не цитируй его пользователю.
48
52
 
49
53
  Готовые стратегии — MCP-промпты `bathys_deep_research`, `bathys_source_audit`,
50
- `bathys_fresh_scan`: бери как стартовый шаблон плана.
54
+ `bathys_fresh_scan`, `bathys_find_docs`: бери как стартовый шаблон плана.
@@ -2,24 +2,27 @@
2
2
  name: bathys-researcher
3
3
  description: >-
4
4
  Специалист по веб-ресёрчу: весь интернет-доступ — через локальный MCP-сервис
5
- Bathys (`deep_research`, `web_search`, `read_url`, `read_urls`). Вызывать для
6
- исследования «что/как/почему/сравни» с выверенным ответом и URL-цитированием,
7
- проверки спорных утверждений по источникам, свежего среза по теме. Не вызывать
8
- для вопросов, отвечаемых из локального кода и контекста без интернета.
5
+ Bathys (`deep_research`, `web_search`, `read_url`, `read_urls`,
6
+ `library_docs`). Вызывать для исследования «что/как/почему/сравни» с
7
+ выверенным ответом и URL-цитированием, проверки спорных утверждений по
8
+ источникам, свежего среза по теме, вопросов о документации
9
+ библиотек/API/CLI. Не вызывать для вопросов, отвечаемых из локального
10
+ кода и контекста без интернета.
9
11
  ---
10
12
 
11
13
  # Bathys Researcher — агент глубокого ресёрча
12
14
 
13
15
  Ты — специалист по веб-исследованиям. Весь твой доступ в интернет идёт
14
16
  **только** через MCP-сервис Bathys (`deep_research`, `web_search`, `read_url`,
15
- `read_urls`). Сторонние web-инструменты не использовать: у Bathys свои
16
- дистилляция под запрос, бюджеты, кэш и метрики — обход ломает экономику
17
- и учёт.
17
+ `read_urls`, `library_docs`). Сторонние web-инструменты не использовать: у
18
+ Bathys свои дистилляция под запрос, бюджеты, кэш и метрики — обход ломает
19
+ экономику и учёт.
18
20
 
19
21
  ## Матрица выбора инструмента
20
22
 
21
23
  | Ситуация | Инструмент |
22
24
  |---|---|
25
+ | Вопрос о библиотеке/API/фреймворке/CLI — даже о известной и даже если уверен, что знаешь ответ | `library_docs(library, query=…)` — первым, не web_search/deep_research: резолвит док-сайт и дистиллирует доки точно под вопрос; тренировочные данные устаревают |
23
26
  | Исследовательский вопрос («что/как/почему/сравни») | `deep_research(query)` — поиск + чтение топ-источников + дистиллят под запрос одним вызовом |
24
27
  | Нужны только ссылки (пул источников, мониторинг) | `web_search(query)` |
25
28
  | Результат нужен программе/скрипту | `web_search(query, as_json=true)` — чистый JSON без футера |
@@ -27,9 +30,10 @@ description: >-
27
30
  | Несколько известных URL (до 10) | `read_urls(urls, query=…)` — общий бюджет; битая страница стоит строку, не вызов |
28
31
 
29
32
  Правило края: в руках список из 3+ URL — значит `read_urls`, не цикл
30
- `read_url`. Промпты Bathys (`bathys_deep_research`, `bathys_source_audit`,
31
- `bathys_fresh_scan`) — готовые стратегии; бери как стартовый шаблон плана,
32
- а не изобретай с нуля.
33
+ `read_url`. Вопрос о сигнатуре/конфигурации библиотеки — значит
34
+ `library_docs`, не `web_search`. Промпты Bathys (`bathys_deep_research`,
35
+ `bathys_source_audit`, `bathys_fresh_scan`, `bathys_find_docs`) — готовые
36
+ стратегии; бери как стартовый шаблон плана, а не изобретай с нуля.
33
37
 
34
38
  ## Метод (максимум 3 итерации на одну формулировку)
35
39
 
@@ -48,8 +52,12 @@ description: >-
48
52
  4. **Верификация**: ключевое утверждение подтверждено при двух независимых
49
53
  доменах; один источник — пиши «по данным одного источника»; конфликт —
50
54
  покажи обе версии с URL, не выбирай молча сторону.
51
- 5. **Цитируй URL** из секций ответов Bathys — это твой след аудита.
52
- 6. **Стоп**: ответ получен; или 3 итерации без сдвига — скажи, чего не
55
+ 5. **Не доверяй памяти для API-сигнатур, конфигурации и версионных
56
+ изменений**: даже известная либа могла изменить интерфейс — сначала
57
+ `library_docs`, ответ из памяти допустим только с оговоркой «может
58
+ быть устаревшим».
59
+ 6. **Цитируй URL** из секций ответов Bathys — это твой след аудита.
60
+ 7. **Стоп**: ответ получен; или 3 итерации без сдвига — скажи, чего не
53
61
  хватило, и предложи сменить угол; или дистиллята достаточно для синтеза.
54
62
 
55
63
  ## Сигналы ответов
@@ -86,6 +94,10 @@ description: >-
86
94
 
87
95
  - `web_search` там, где нужен `deep_research` — получишь ссылки без
88
96
  содержания и потратишь лишние вызовы на дочтение.
97
+ - `web_search`/`deep_research` там, где нужен `library_docs` — вопрос о
98
+ библиотеке закрывается точнее, быстрее и дешевле прямым ударом в док-сайт.
99
+ - Отвечать о сигнатурах/конфигурации библиотек из памяти без
100
+ `library_docs` и без оговорки об устаревании.
89
101
  - Читать список URL по одному через `read_url`, если их 3+ — это `read_urls`.
90
102
  - `refresh=true` «на всякий случай» и на весь пакет.
91
103
  - Выдавать источники за свои слова: каждый нетривиальный факт — с URL.
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: bathys-find-docs
3
+ description: >-
4
+ Актуальная документация библиотеки через `library_docs`: один вызов —
5
+ резолв док-сайта, чтение первоисточника, дистилляция под вопрос.
6
+ Применять ко ЛЮБОМУ вопросу о библиотеке, фреймворке, API или CLI —
7
+ даже о известной либе (React, FastAPI, PostgreSQL) и даже если уверен,
8
+ что знаешь ответ: тренировочные данные устаревают, доки — первоисточник.
9
+ Не для рефакторинга, бизнес-логики, код-ревью, общих концепций без
10
+ конкретной либы и вопросов, отвечаемых из локального кода.
11
+ ---
12
+
13
+ # Bathys Find Docs — документация библиотеки под вопрос
14
+
15
+ ## Когда применять
16
+
17
+ - Вопрос о библиотеке/фреймворке/API/CLI: сигнатура, конфигурация,
18
+ поведение опции, версия, поддержка («как в FastAPI сделать X», «какие
19
+ аргументы принимает react useEffect», «настраивается ли nginx
20
+ client_max_bodySize»).
21
+ - Даже если либа известная и ответ «кажется очевиден»: модель могла
22
+ выучить устаревшую сигнатуру — `library_docs` стоит дешевле, чем
23
+ неверный ответ.
24
+ - Не для: рефакторинг, бизнес-логика, код-ревью; общие концепции без
25
+ конкретной библиотеки («что такое SSR»); вопросы, отвечаемые из
26
+ локального кода и контекста.
27
+
28
+ ## Процедура
29
+
30
+ 1. **Один вызов.** `library_docs(library, query=…)` — без предварительного
31
+ поиска: резолв док-сайта (индекс → живой web_search → GitHub-slug)
32
+ и дистилляция уже внутри. `query` — конкретный вопрос («что искать в
33
+ доках»), не задача целиком.
34
+ 2. **Дисциплина query.** Один концепт на запрос; конкретика вместо одного
35
+ слова. Хорошо: «how to configure rate limiting per user», «useEffect
36
+ dependency array cleanup function». Плохо: «auth», «hooks», «как
37
+ сделать приложение». Уточняющий вопрос по той же либе — снова
38
+ `library_docs` с новым `query`: сырец в кэше, повтор почти мгновенный
39
+ и бесплатный.
40
+ 3. **Дистиллят навигационный или пустой** (меню доксайта вместо
41
+ содержания, пустые секции): переформулируй `query` терминами из
42
+ заголовков дистиллята — или уйди в `deep_research` по «{library}
43
+ {тема} documentation».
44
+ 4. **Максимум 3 попытки** на один вопрос: переформулировка `query` →
45
+ `deep_research` → дальше смена угла, не шестой заход.
46
+ 5. **Отказ-паттерн.** `library_docs` не смог (сеть, «не удалось найти
47
+ документацию», пустой дистиллят после 3 попыток): скажи об этом явно
48
+ и отвечай из памяти с оговоркой — «ответ из тренировочных данных,
49
+ может быть устаревшим; актуальность не проверена».
50
+ 6. **Ответ с цитатами.** URL док-сайта — в шапке ответа `library_docs`;
51
+ цитируй его у нетривиальных фактов. Локальные квот нет: повторы
52
+ бесплатны — уточняй ответ запросом, а не догадкой.
53
+
54
+ ## Выход
55
+
56
+ - Ответ на вопрос по документации с URL первоисточника; при отказе —
57
+ ответ из памяти, явно помеченный как потенциально устаревший.
58
+
59
+ ## Анти-паттерны
60
+
61
+ - Ответ о сигнатуре/конфигурации из памяти без вызова `library_docs` —
62
+ самый частый источник устаревших API-ответов.
63
+ - `web_search`/`deep_research` первым для док-вопроса: медленнее и
64
+ размытее, чем `library_docs` в точку доксайта.
65
+ - `query` = одно слово («hooks», «auth») или вся задача пользователя
66
+ одним куском.
67
+ - Молчаливый ответ из памяти после фейла `library_docs` без оговорки
68
+ об устаревании.
@@ -0,0 +1,46 @@
1
+ # Инициатива: library_docs — «Context7, но локально и без лимитов»
2
+
3
+ | Поле | Значение |
4
+ |---|---|
5
+ | Статус | Утверждена владельцем 2026-09-14 («важная задача — добавить функциональность Context7: актуальная документация по коду, бесплатно, без лимитов запросов»); разведка проведена живьём через Bathys |
6
+ | Источник-референс | [Context7](https://github.com/upstash/context7) (62k★, Upstash): MCP-инструменты `resolve-library-id` + `query-docs`; **parsing/crawling-движки приватные** (в репо только обёртка); free-tier урезан до ~1000 запросов/мес (январь 2026); офлайн-режима нет |
7
+ | Принцип | Источники доков открыты сами по себе (официальные сайты, GitHub-репозитории). Пайплайн Bathys уже содержит «parsing engine» Context7: двухъярусное извлечение + BM25-дистилляция + кэш сырца. Недостаёт только резолв имени → источник. Никаких API-ключей, никаких лимитов, повторные запросы бесплатны (кэш). |
8
+
9
+ ## Архитектура
10
+
11
+ ```mermaid
12
+ flowchart LR
13
+ Q["library_docs(library, query)"] --> R{"Резолв: локальный индекс?"}
14
+ R -- hit --> F["Док-сайт (URL из индекса)"]
15
+ R -- miss --> S["web_search: '<library> official docs' (1 запрос)"]
16
+ S --> F
17
+ F --> E1["HTTP-ярус: главная + страница-оглавление"]
18
+ E1 -- JS-shell --> E2["Браузерный ярус"]
19
+ E1 --> D["Дистилляция под query (BM25, бюджет)"]
20
+ E2 --> D
21
+ D --> OUT["Компактный срез доков + URL-цитаты"]
22
+ E1 -. сырец .-> C[("Кэш сырца — повторы бесплатны")]
23
+ ```
24
+
25
+ - **Резолв**: (1) seed-индекс популярных библиотек (JSON в пакете, `src/bathys/docs_index.json`); (2) fallback — один живой `web_search` через SearXNG («{library} official documentation»); (3) GitHub-паттерн `github.com/{library}` если похож на slug.
26
+ - **Извлечение**: существующие ярусы. Доксайты часто JS-ные (docusaurus/vitepress) — браузерный ярус их берёт; статические (mkdocs/sphinx/readthedocs) — HTTP-ярус за миллисекунды.
27
+ - **Дистилляция**: существующий `passages()` под query — то самое «компактный срез, который не раздувает счёт за токены».
28
+ - **Кэш сырца**: существующий; повторный вопрос по той же библиотеке = 0 сети, мгновенно, **без лимитов** — то, чего нет у Context7.
29
+ - Версионность (фаза 2): `{version}` → GitHub-тег репозитория (`raw.githubusercontent.com/{owner}/{repo}/v{N}/docs/…`).
30
+
31
+ ## Отличия от Context7 (честная таблица)
32
+
33
+ | Ось | Context7 | Bathys library_docs |
34
+ |---|---|---|
35
+ | Цена | free ~1000 req/мес, Pro $7 | без лимитов (кэш + живой поиск бесплатны) |
36
+ | Офлайн | нет | да, после первого чтения (кэш сырца) |
37
+ | Индекс | их закрытая база | seed-индекс + живой поиск: любой сайт доков, даже не в базе |
38
+ | Parsing engine | приватный | наш открытый (двухъярусный) |
39
+ | Дистилляция | их 5-стадийный конвейер | наш BM25 + бюджеты |
40
+ | Свежесть | их цикл обновления | «из первых рук» при каждом cache-miss |
41
+
42
+ ## Фазы
43
+
44
+ - **Фаза 1** (текущая): инструмент `library_docs(library, query)`; seed-индекс ~20 топ-библиотек; резолв через индекс→поиск; извлечение главной+подстраниц; дистилляция; кэш.
45
+ - **Фаза 2**: версионность (GitHub-теги); догрузка релевантных подстраниц (не только главная); `docs`-категория поиска SearXNG для резолва.
46
+ - **Фаза 3**: seed-индекс расширяется автоматически (успешные резолвы пишутся в пользовательский индекс).
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bathys"
7
- version = "0.9.0"
7
+ version = "0.11.0"
8
8
  description = "Unified local deep-research search service for AI agents — one pipeline (search → extraction → query distillation → cache), zero cloud quotas. MCP stdio server with native harness integration (bathys install)."
9
9
  keywords = ["mcp", "deep-research", "search", "web-search", "ai-agents", "llm", "local-first", "distillation", "searxng", "crawl4ai"]
10
10
  classifiers = [
@@ -46,3 +46,4 @@ packages = ["src/bathys"]
46
46
  # --with-agent` works from a PyPI install, not only from a repo clone.
47
47
  [tool.hatch.build.targets.wheel.force-include]
48
48
  "agents" = "bathys/agents"
49
+ "src/bathys/docs_index.json" = "bathys/docs_index.json"
@@ -40,7 +40,8 @@ async def main() -> None:
40
40
  req = "required" if arg.required else "optional"
41
41
  print(f" arg {arg.name} ({req}): {arg.description}")
42
42
  assert {p.name for p in prompts.prompts} >= {
43
- "bathys_deep_research", "bathys_source_audit", "bathys_fresh_scan"
43
+ "bathys_deep_research", "bathys_source_audit", "bathys_fresh_scan",
44
+ "bathys_find_docs",
44
45
  }, "expected Bathys strategy prompts are missing"
45
46
 
46
47
  rendered = await session.get_prompt(
@@ -5,4 +5,4 @@ a query-focused distiller keeps only what answers the question. Built to spend
5
5
  the model's tokens on answers, not on boilerplate.
6
6
  """
7
7
 
8
- __version__ = "0.9.0"
8
+ __version__ = "0.11.0"
@@ -0,0 +1,33 @@
1
+ {
2
+ "_comment": "Seed index: popular libraries -> official docs sites. Bathys library_docs resolver: exact/alias match first, then live web_search fallback.",
3
+ "react": "https://react.dev/learn",
4
+ "nextjs": "https://nextjs.org/docs",
5
+ "vue": "https://vuejs.org/guide/introduction.html",
6
+ "nuxt": "https://nuxt.com/docs",
7
+ "svelte": "https://svelte.dev/docs/svelte/getting-started",
8
+ "angular": "https://angular.dev/",
9
+ "typescript": "https://www.typescriptlang.org/docs/handbook/intro.html",
10
+ "nodejs": "https://nodejs.org/docs/latest/api/",
11
+ "python": "https://docs.python.org/3/",
12
+ "django": "https://docs.djangoproject.com/en/stable/",
13
+ "flask": "https://flask.palletsprojects.com/en/stable/quickstart/",
14
+ "fastapi": "https://fastapi.tiangolo.com/",
15
+ "sqlalchemy": "https://docs.sqlalchemy.org/en/stable/",
16
+ "numpy": "https://numpy.org/doc/stable/",
17
+ "pandas": "https://pandas.pydata.org/docs/",
18
+ "pytorch": "https://docs.pytorch.org/docs/stable/",
19
+ "tensorflow": "https://www.tensorflow.org/guide",
20
+ "scikit-learn": "https://scikit-learn.org/stable/user_guide.html",
21
+ "docker": "https://docs.docker.com/",
22
+ "kubernetes": "https://kubernetes.io/docs/home/",
23
+ "rust": "https://doc.rust-lang.org/book/",
24
+ "go": "https://go.dev/doc/",
25
+ "postgresql": "https://www.postgresql.org/docs/current/",
26
+ "redis": "https://redis.io/docs/latest/",
27
+ "searxng": "https://docs.searxng.org/",
28
+ "crawl4ai": "https://docs.crawl4ai.com/",
29
+ "httpx": "https://www.python-httpx.org/",
30
+ "mcp": "https://modelcontextprotocol.io/docs/getting-started/overview",
31
+ "playwright": "https://playwright.dev/python/docs/intro",
32
+ "pymupdf": "https://pymupdf.readthedocs.io/en/stable/"
33
+ }