basic-memory 0.21.6__tar.gz → 0.22.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 (918) hide show
  1. basic_memory-0.22.0/.agents/skills/code-review/SKILL.md +68 -0
  2. basic_memory-0.22.0/.agents/skills/fix-pr-issues/SKILL.md +48 -0
  3. basic_memory-0.22.0/.agents/skills/fix-pr-issues/agents/openai.yaml +7 -0
  4. basic_memory-0.22.0/.agents/skills/fix-pr-issues/assets/icon.svg +5 -0
  5. basic_memory-0.22.0/.agents/skills/infographics/SKILL.md +247 -0
  6. basic_memory-0.22.0/.agents/skills/infographics/agents/openai.yaml +7 -0
  7. basic_memory-0.22.0/.agents/skills/infographics/assets/icon.svg +5 -0
  8. basic_memory-0.22.0/.agents/skills/infographics/references/prompt-blueprint.md +72 -0
  9. basic_memory-0.22.0/.agents/skills/infographics/references/style-balance.md +42 -0
  10. basic_memory-0.22.0/.agents/skills/pr-create/SKILL.md +114 -0
  11. basic_memory-0.22.0/.agents/skills/pr-create/agents/openai.yaml +7 -0
  12. basic_memory-0.22.0/.agents/skills/pr-create/assets/icon.svg +5 -0
  13. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/commands/release/beta.md +4 -3
  14. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/commands/release/release.md +6 -4
  15. basic_memory-0.22.0/.claude/skills/basic-machines-review +1 -0
  16. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude-plugin/marketplace.json +2 -2
  17. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/claude-code-review.yml +15 -16
  18. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/docker.yml +6 -8
  19. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/test.yml +123 -10
  20. {basic_memory-0.21.6 → basic_memory-0.22.0}/.gitignore +1 -1
  21. {basic_memory-0.21.6 → basic_memory-0.22.0}/AGENTS.md +31 -3
  22. {basic_memory-0.21.6 → basic_memory-0.22.0}/CHANGELOG.md +65 -0
  23. {basic_memory-0.21.6 → basic_memory-0.22.0}/PKG-INFO +7 -5
  24. {basic_memory-0.21.6 → basic_memory-0.22.0}/README.md +4 -4
  25. basic_memory-0.22.0/docs/ENGINEERING_STYLE.md +64 -0
  26. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/cloud-cli.md +177 -57
  27. basic_memory-0.22.0/docs/litellm-provider.md +300 -0
  28. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/semantic-search.md +116 -5
  29. basic_memory-0.22.0/glama.json +7 -0
  30. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/__init__.py +1 -1
  31. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/plugin.yaml +1 -1
  32. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/MEMORY_TASK_FLOW.md +1 -1
  33. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/package.json +1 -1
  34. {basic_memory-0.21.6 → basic_memory-0.22.0}/justfile +58 -25
  35. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/.claude-plugin/marketplace.json +2 -2
  36. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/.claude-plugin/plugin.json +1 -1
  37. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/CHANGELOG.md +1 -1
  38. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/skills/bm-setup/SKILL.md +1 -1
  39. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/.codex-plugin/plugin.json +1 -1
  40. {basic_memory-0.21.6 → basic_memory-0.22.0}/pyproject.toml +12 -0
  41. basic_memory-0.22.0/scripts/testmon_cache.py +225 -0
  42. {basic_memory-0.21.6 → basic_memory-0.22.0}/scripts/update_versions.py +7 -2
  43. {basic_memory-0.21.6 → basic_memory-0.22.0}/scripts/validate_skills.py +29 -3
  44. {basic_memory-0.21.6 → basic_memory-0.22.0}/server.json +2 -2
  45. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/DEVELOPMENT.md +3 -3
  46. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/README.md +5 -5
  47. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/__init__.py +1 -1
  48. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/env.py +21 -4
  49. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/knowledge_router.py +192 -0
  50. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/search_router.py +3 -1
  51. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/utils.py +4 -2
  52. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/app.py +9 -0
  53. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/__init__.py +2 -0
  54. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/bisync_commands.py +35 -5
  55. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/core_commands.py +98 -19
  56. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/project_sync.py +740 -0
  57. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/rclone_commands.py +756 -0
  58. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/rclone_config.py +150 -0
  59. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/mcp.py +12 -0
  60. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/status.py +70 -5
  61. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/tool.py +140 -1
  62. basic_memory-0.22.0/src/basic_memory/cli/commands/workspace.py +23 -0
  63. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/main.py +1 -0
  64. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/config.py +27 -1
  65. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/db.py +63 -6
  66. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/ignore_utils.py +9 -0
  67. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/indexing/batch_indexer.py +7 -1
  68. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/knowledge.py +29 -0
  69. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/build_context.py +12 -0
  70. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/delete_note.py +9 -1
  71. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/edit_note.py +104 -8
  72. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/move_note.py +131 -23
  73. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/read_note.py +113 -32
  74. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/recent_activity.py +11 -5
  75. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/search.py +128 -10
  76. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/write_note.py +20 -3
  77. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/models/knowledge.py +13 -2
  78. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/embedding_provider_factory.py +72 -8
  79. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/entity_repository.py +12 -2
  80. basic_memory-0.22.0/src/basic_memory/repository/fastembed_provider.py +325 -0
  81. basic_memory-0.22.0/src/basic_memory/repository/litellm_provider.py +230 -0
  82. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/postgres_search_repository.py +34 -5
  83. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/project_repository.py +23 -1
  84. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/search_repository.py +24 -3
  85. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/search_repository_base.py +25 -5
  86. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/sqlite_search_repository.py +31 -3
  87. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/search.py +4 -0
  88. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/v2/__init__.py +2 -0
  89. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/v2/entity.py +15 -0
  90. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/context_service.py +61 -22
  91. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/project_service.py +22 -9
  92. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/search_service.py +6 -0
  93. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/sync/sync_service.py +13 -2
  94. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/utils.py +46 -2
  95. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_read_note_security_error.py +50 -0
  96. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_recent_activity_page_size.py +76 -0
  97. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_search_notes_category.py +73 -0
  98. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_write_note_parity.py +193 -0
  99. basic_memory-0.22.0/test-int/bughunt_fixes/test_move_note_edge_cases.py +219 -0
  100. basic_memory-0.22.0/test-int/bughunt_fixes/test_navigation_pagination_integration.py +241 -0
  101. basic_memory-0.22.0/test-int/bughunt_fixes/test_parse_tags_comma_split_integration.py +81 -0
  102. basic_memory-0.22.0/test-int/cli/test_cli_tool_delete_note_integration.py +277 -0
  103. basic_memory-0.22.0/test-int/cli/test_cli_tool_write_note_type_integration.py +94 -0
  104. basic_memory-0.22.0/test-int/cli/test_status_wait_integration.py +43 -0
  105. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/conftest.py +7 -0
  106. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_edit_note_integration.py +38 -0
  107. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_move_note_integration.py +223 -0
  108. basic_memory-0.22.0/test-int/mcp/test_observation_permalink_collision_integration.py +141 -0
  109. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_param_aliases_integration.py +48 -8
  110. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_search_integration.py +52 -0
  111. basic_memory-0.22.0/test-int/mcp/test_search_note_types_case_insensitive.py +98 -0
  112. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_write_note_integration.py +89 -1
  113. basic_memory-0.22.0/test-int/mcp/test_write_note_type_integration.py +154 -0
  114. basic_memory-0.22.0/test-int/semantic/litellm_live_harness.py +401 -0
  115. basic_memory-0.22.0/test-int/semantic/test_embedding_provider_reuse.py +123 -0
  116. basic_memory-0.22.0/test-int/semantic/test_litellm_live_harness.py +125 -0
  117. basic_memory-0.22.0/test-int/semantic/test_litellm_live_models.py +55 -0
  118. basic_memory-0.22.0/test-int/test_embedding_status_vec0.py +181 -0
  119. basic_memory-0.22.0/test-int/test_postgres_dispose_cycle.py +69 -0
  120. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_knowledge_router.py +515 -0
  121. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_memory_hydration.py +15 -9
  122. basic_memory-0.22.0/tests/cli/cloud/test_project_sync_command.py +748 -0
  123. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +38 -0
  124. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_ci_commands.py +1 -1
  125. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_exit.py +5 -1
  126. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_telemetry.py +10 -1
  127. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_tool_json_output.py +199 -0
  128. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_db_reindex.py +3 -0
  129. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_json_output.py +131 -0
  130. basic_memory-0.22.0/tests/cli/test_workspace_stub.py +31 -0
  131. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/conftest.py +7 -0
  132. basic_memory-0.22.0/tests/db/test_uvloop_policy.py +83 -0
  133. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/indexing/test_batch_indexer.py +72 -0
  134. basic_memory-0.22.0/tests/mcp/clients/__init__.py +0 -0
  135. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/clients/test_clients.py +30 -0
  136. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_contracts.py +3 -0
  137. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_edit_note.py +266 -1
  138. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_json_output_modes.py +35 -0
  139. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_move_note.py +148 -0
  140. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_read_note.py +300 -0
  141. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_search.py +364 -0
  142. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_telemetry.py +3 -0
  143. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_write_note.py +73 -0
  144. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_entity_repository.py +35 -0
  145. basic_memory-0.22.0/tests/repository/test_fastembed_provider.py +673 -0
  146. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_hybrid_fusion.py +2 -0
  147. basic_memory-0.22.0/tests/repository/test_litellm_provider.py +483 -0
  148. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_observation_repository.py +61 -0
  149. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_openai_provider.py +63 -2
  150. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_postgres_search_repository.py +185 -0
  151. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_search_repository.py +80 -0
  152. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_semantic_search_base.py +1 -0
  153. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_sqlite_vector_search_repository.py +25 -0
  154. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_vector_pagination.py +2 -0
  155. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_vector_threshold.py +2 -0
  156. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_context_service.py +262 -0
  157. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_project_service_embedding_status.py +42 -11
  158. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_search_service.py +136 -0
  159. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_service.py +80 -0
  160. basic_memory-0.22.0/tests/test_codex_plugin_package.py +130 -0
  161. basic_memory-0.22.0/tests/test_coerce.py +115 -0
  162. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_config.py +10 -0
  163. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_rclone_commands.py +375 -3
  164. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_update_versions.py +11 -0
  165. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_parse_tags.py +5 -0
  166. {basic_memory-0.21.6 → basic_memory-0.22.0}/uv.lock +636 -0
  167. basic_memory-0.21.6/src/basic_memory/cli/commands/cloud/project_sync.py +0 -403
  168. basic_memory-0.21.6/src/basic_memory/cli/commands/cloud/rclone_commands.py +0 -421
  169. basic_memory-0.21.6/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -110
  170. basic_memory-0.21.6/src/basic_memory/repository/fastembed_provider.py +0 -138
  171. basic_memory-0.21.6/tests/ci/test_project_updates.py +0 -718
  172. basic_memory-0.21.6/tests/cli/cloud/test_project_sync_command.py +0 -366
  173. basic_memory-0.21.6/tests/repository/test_fastembed_provider.py +0 -150
  174. basic_memory-0.21.6/tests/test_codex_plugin_package.py +0 -57
  175. basic_memory-0.21.6/tests/test_coerce.py +0 -57
  176. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/plugins/marketplace.json +0 -0
  177. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/adversarial-review/SKILL.md +0 -0
  178. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/adversarial-review/prompts/refute.md +0 -0
  179. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/adversarial-review/prompts/review.md +0 -0
  180. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/adversarial-review/schemas/findings.schema.json +0 -0
  181. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/adversarial-review/schemas/verdicts.schema.json +0 -0
  182. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/instrumentation/SKILL.md +0 -0
  183. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/javascript/frameworks.md +0 -0
  184. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/javascript/patterns.md +0 -0
  185. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/python/integrations.md +0 -0
  186. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/python/logging-patterns.md +0 -0
  187. {basic_memory-0.21.6 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/rust/patterns.md +0 -0
  188. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/commands/release/changelog.md +0 -0
  189. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/commands/release/release-check.md +0 -0
  190. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/commands/spec.md +0 -0
  191. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/commands/test-live.md +0 -0
  192. {basic_memory-0.21.6 → basic_memory-0.22.0}/.claude/settings.json +0 -0
  193. {basic_memory-0.21.6 → basic_memory-0.22.0}/.dockerignore +0 -0
  194. {basic_memory-0.21.6 → basic_memory-0.22.0}/.env.example +0 -0
  195. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  196. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  197. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  198. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  199. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/basic-memory/SOUL.md +0 -0
  200. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/basic-memory/config.yml +0 -0
  201. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/basic-memory/memory-ci-capture.md +0 -0
  202. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/dependabot.yml +0 -0
  203. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/basic-memory.yml +0 -0
  204. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/claude-issue-triage.yml +0 -0
  205. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/claude.yml +0 -0
  206. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/consolidated-packages.yml +0 -0
  207. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/dev-release.yml +0 -0
  208. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/pr-title.yml +0 -0
  209. {basic_memory-0.21.6 → basic_memory-0.22.0}/.github/workflows/release.yml +0 -0
  210. {basic_memory-0.21.6 → basic_memory-0.22.0}/.python-version +0 -0
  211. {basic_memory-0.21.6 → basic_memory-0.22.0}/CITATION.cff +0 -0
  212. {basic_memory-0.21.6 → basic_memory-0.22.0}/CLA.md +0 -0
  213. {basic_memory-0.21.6 → basic_memory-0.22.0}/CLAUDE.md +0 -0
  214. {basic_memory-0.21.6 → basic_memory-0.22.0}/CODE_OF_CONDUCT.md +0 -0
  215. {basic_memory-0.21.6 → basic_memory-0.22.0}/CONTRIBUTING.md +0 -0
  216. {basic_memory-0.21.6 → basic_memory-0.22.0}/Dockerfile +0 -0
  217. {basic_memory-0.21.6 → basic_memory-0.22.0}/LICENSE +0 -0
  218. {basic_memory-0.21.6 → basic_memory-0.22.0}/NOTE-FORMAT.md +0 -0
  219. {basic_memory-0.21.6 → basic_memory-0.22.0}/SECURITY.md +0 -0
  220. {basic_memory-0.21.6 → basic_memory-0.22.0}/docker-compose-postgres.yml +0 -0
  221. {basic_memory-0.21.6 → basic_memory-0.22.0}/docker-compose.yml +0 -0
  222. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/ARCHITECTURE.md +0 -0
  223. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/Docker.md +0 -0
  224. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/NOTE-FORMAT.md +0 -0
  225. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/SPEC-PER-PROJECT-ROUTING.md +0 -0
  226. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/ai-assistant-guide-extended.md +0 -0
  227. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/character-handling.md +0 -0
  228. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/cloud-semantic-search-value.md +0 -0
  229. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/logfire-instrumentation-strategy.md +0 -0
  230. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/mcp-ui-bakeoff-instructions.md +0 -0
  231. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/metadata-search.md +0 -0
  232. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/post-v0.18.0-test-plan.md +0 -0
  233. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/releases/v0.19.0.md +0 -0
  234. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/semantic-search-test-log.md +0 -0
  235. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/specs/SPEC-LOCAL-PLUS-PUBLISH.md +0 -0
  236. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/specs/SPEC-SCHEMA-IMPL.md +0 -0
  237. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/specs/SPEC-SCHEMA.md +0 -0
  238. {basic_memory-0.21.6 → basic_memory-0.22.0}/docs/testing-coverage.md +0 -0
  239. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/.coveragerc +0 -0
  240. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/.github/workflows/integration.yml +0 -0
  241. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/.github/workflows/pr-title.yml +0 -0
  242. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/.github/workflows/release.yml +0 -0
  243. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/.github/workflows/test.yml +0 -0
  244. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/.gitignore +0 -0
  245. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/CHANGELOG.md +0 -0
  246. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/LICENSE +0 -0
  247. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/MONKEYPATCH.md +0 -0
  248. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/README.md +0 -0
  249. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/justfile +0 -0
  250. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/pytest.ini +0 -0
  251. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/requirements-dev.txt +0 -0
  252. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/skill/SKILL.md +0 -0
  253. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/__init__.py +0 -0
  254. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/conftest.py +0 -0
  255. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/stubs/agent/__init__.py +0 -0
  256. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/stubs/agent/memory_provider.py +0 -0
  257. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/stubs/tools/__init__.py +0 -0
  258. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/stubs/tools/registry.py +0 -0
  259. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_actor.py +0 -0
  260. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_capture.py +0 -0
  261. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_commands.py +0 -0
  262. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_helpers.py +0 -0
  263. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_integration.py +0 -0
  264. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_prefetch.py +0 -0
  265. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/hermes/tests/test_provider.py +0 -0
  266. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/.githooks/pre-commit +0 -0
  267. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/.github/workflows/ci.yml +0 -0
  268. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/.github/workflows/release.yml +0 -0
  269. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/.gitignore +0 -0
  270. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/AGENTS.md +0 -0
  271. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/BASIC_MEMORY.md +0 -0
  272. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/CLAUDE.md +0 -0
  273. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/CONTEXT_ENGINE_PLAN.md +0 -0
  274. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/DEVELOPMENT.md +0 -0
  275. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/LICENSE +0 -0
  276. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/README.md +0 -0
  277. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/SECURITY.md +0 -0
  278. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/biome.json +0 -0
  279. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/bm-client.test.ts +0 -0
  280. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/bm-client.ts +0 -0
  281. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/bun.lock +0 -0
  282. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/commands/cli.ts +0 -0
  283. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/commands/skills.test.ts +0 -0
  284. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/commands/skills.ts +0 -0
  285. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/commands/slash.ts +0 -0
  286. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/config.test.ts +0 -0
  287. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/config.ts +0 -0
  288. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/context-engine/basic-memory-context-engine.test.ts +0 -0
  289. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/context-engine/basic-memory-context-engine.ts +0 -0
  290. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/hooks/capture.test.ts +0 -0
  291. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/hooks/capture.ts +0 -0
  292. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/hooks/recall.test.ts +0 -0
  293. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/hooks/recall.ts +0 -0
  294. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/index.test.ts +0 -0
  295. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/index.ts +0 -0
  296. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/integration/bm-client.integration.test.ts +0 -0
  297. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/justfile +0 -0
  298. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/logger.test.ts +0 -0
  299. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/logger.ts +0 -0
  300. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/openclaw.plugin.json +0 -0
  301. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/schema/conversation-schema.ts +0 -0
  302. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/schema/task-schema.ts +0 -0
  303. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/scripts/bm-local.sh +0 -0
  304. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/scripts/fetch-skills.ts +0 -0
  305. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/scripts/setup-bm.sh +0 -0
  306. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/build-context.test.ts +0 -0
  307. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/build-context.ts +0 -0
  308. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/delete-note.test.ts +0 -0
  309. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/delete-note.ts +0 -0
  310. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/edit-note.test.ts +0 -0
  311. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/edit-note.ts +0 -0
  312. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/list-memory-projects.test.ts +0 -0
  313. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/list-memory-projects.ts +0 -0
  314. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/list-workspaces.test.ts +0 -0
  315. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/list-workspaces.ts +0 -0
  316. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/memory-provider.test.ts +0 -0
  317. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/memory-provider.ts +0 -0
  318. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/move-note.test.ts +0 -0
  319. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/move-note.ts +0 -0
  320. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/read-note.test.ts +0 -0
  321. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/read-note.ts +0 -0
  322. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/schema-diff.test.ts +0 -0
  323. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/schema-diff.ts +0 -0
  324. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/schema-infer.test.ts +0 -0
  325. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/schema-infer.ts +0 -0
  326. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/schema-validate.test.ts +0 -0
  327. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/schema-validate.ts +0 -0
  328. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/search-notes.test.ts +0 -0
  329. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/search-notes.ts +0 -0
  330. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/write-note.test.ts +0 -0
  331. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tools/write-note.ts +0 -0
  332. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tsconfig.build.json +0 -0
  333. {basic_memory-0.21.6 → basic_memory-0.22.0}/integrations/openclaw/tsconfig.json +0 -0
  334. {basic_memory-0.21.6 → basic_memory-0.22.0}/llms-install.md +0 -0
  335. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/DESIGN.md +0 -0
  336. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/README.md +0 -0
  337. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/docs/architecture.md +0 -0
  338. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/docs/getting-started.md +0 -0
  339. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/docs/why-combine-memory.md +0 -0
  340. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/hooks/hooks.json +0 -0
  341. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/hooks/pre-compact.sh +0 -0
  342. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/hooks/session-start.sh +0 -0
  343. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/justfile +0 -0
  344. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/output-styles/basic-memory.md +0 -0
  345. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/schemas/decision.md +0 -0
  346. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/schemas/session.md +0 -0
  347. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/schemas/task.md +0 -0
  348. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/settings.example.json +0 -0
  349. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/skills/bm-remember/SKILL.md +0 -0
  350. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/skills/bm-share/SKILL.md +0 -0
  351. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/claude-code/skills/bm-status/SKILL.md +0 -0
  352. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/.mcp.json +0 -0
  353. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/DEVELOPMENT.md +0 -0
  354. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/README.md +0 -0
  355. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/assets/app-icon.png +0 -0
  356. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/assets/logo.png +0 -0
  357. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/hooks/hooks.json +0 -0
  358. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/hooks/pre-compact.py +0 -0
  359. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/hooks/pre-compact.sh +0 -0
  360. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/hooks/session-start.py +0 -0
  361. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/hooks/session-start.sh +0 -0
  362. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/justfile +0 -0
  363. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/schemas/codex-session.md +0 -0
  364. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/schemas/decision.md +0 -0
  365. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/schemas/task.md +0 -0
  366. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-checkpoint/SKILL.md +0 -0
  367. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-checkpoint/agents/openai.yaml +0 -0
  368. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-checkpoint/assets/icon.svg +0 -0
  369. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-decide/SKILL.md +0 -0
  370. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-decide/agents/openai.yaml +0 -0
  371. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-decide/assets/icon.svg +0 -0
  372. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-orient/SKILL.md +0 -0
  373. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-orient/agents/openai.yaml +0 -0
  374. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-orient/assets/icon.svg +0 -0
  375. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-remember/SKILL.md +0 -0
  376. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-remember/agents/openai.yaml +0 -0
  377. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-remember/assets/icon.svg +0 -0
  378. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-setup/SKILL.md +0 -0
  379. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-setup/agents/openai.yaml +0 -0
  380. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-setup/assets/icon.svg +0 -0
  381. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-share/SKILL.md +0 -0
  382. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-share/agents/openai.yaml +0 -0
  383. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-share/assets/icon.svg +0 -0
  384. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-status/SKILL.md +0 -0
  385. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-status/agents/openai.yaml +0 -0
  386. {basic_memory-0.21.6 → basic_memory-0.22.0}/plugins/codex/skills/bm-status/assets/icon.svg +0 -0
  387. {basic_memory-0.21.6 → basic_memory-0.22.0}/scripts/validate_claude_plugin.py +0 -0
  388. {basic_memory-0.21.6 → basic_memory-0.22.0}/scripts/validate_codex_plugin.py +0 -0
  389. {basic_memory-0.21.6 → basic_memory-0.22.0}/scripts/validate_hermes_plugin.py +0 -0
  390. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/AGENTS.md +0 -0
  391. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/CLAUDE.md +0 -0
  392. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/justfile +0 -0
  393. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-capture/SKILL.md +0 -0
  394. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-ci-capture/SKILL.md +0 -0
  395. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-continue/SKILL.md +0 -0
  396. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-curate/SKILL.md +0 -0
  397. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-defrag/SKILL.md +0 -0
  398. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-ingest/SKILL.md +0 -0
  399. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-lifecycle/SKILL.md +0 -0
  400. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-literary-analysis/SKILL.md +0 -0
  401. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-metadata-search/SKILL.md +0 -0
  402. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-notes/SKILL.md +0 -0
  403. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-reflect/SKILL.md +0 -0
  404. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-research/SKILL.md +0 -0
  405. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-schema/SKILL.md +0 -0
  406. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/memory-tasks/SKILL.md +0 -0
  407. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills/skills-lock.json +0 -0
  408. {basic_memory-0.21.6 → basic_memory-0.22.0}/skills-lock.json +0 -0
  409. {basic_memory-0.21.6 → basic_memory-0.22.0}/smithery.yaml +0 -0
  410. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/alembic.ini +0 -0
  411. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/migrations.py +0 -0
  412. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/script.py.mako +0 -0
  413. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
  414. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  415. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  416. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  417. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
  418. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
  419. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
  420. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
  421. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
  422. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  423. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  424. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
  425. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
  426. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
  427. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
  428. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/h1b2c3d4e5f6_add_postgres_vector_search_tables.py +0 -0
  429. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/i2c3d4e5f6g7_auto_backfill_semantic_embeddings.py +0 -0
  430. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/j3d4e5f6g7h8_rename_entity_type_to_note_type.py +0 -0
  431. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/k4e5f6g7h8i9_add_created_by_and_last_updated_by_to_entity.py +0 -0
  432. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/l5g6h7i8j9k0_add_note_content_table.py +0 -0
  433. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/m6h7i8j9k0l1_add_vector_sync_fingerprints.py +0 -0
  434. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/n7i8j9k0l1m2_cleanup_sqlite_search_orphans.py +0 -0
  435. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/__init__.py +0 -0
  436. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/app.py +0 -0
  437. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/container.py +0 -0
  438. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/template_loader.py +0 -0
  439. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/__init__.py +0 -0
  440. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/__init__.py +0 -0
  441. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
  442. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
  443. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
  444. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/project_router.py +0 -0
  445. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
  446. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
  447. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/schema_router.py +0 -0
  448. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/ci/README.md +0 -0
  449. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/ci/__init__.py +0 -0
  450. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/ci/project_updates.py +0 -0
  451. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/__init__.py +0 -0
  452. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/analytics.py +0 -0
  453. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/auth.py +0 -0
  454. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/auto_update.py +0 -0
  455. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/ci.py +0 -0
  456. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
  457. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
  458. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
  459. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
  460. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
  461. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
  462. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
  463. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
  464. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
  465. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/workspace.py +0 -0
  466. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/command_utils.py +0 -0
  467. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/db.py +0 -0
  468. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/doctor.py +0 -0
  469. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/format.py +0 -0
  470. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  471. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  472. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  473. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  474. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/orphans.py +0 -0
  475. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/project.py +0 -0
  476. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/routing.py +0 -0
  477. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/schema.py +0 -0
  478. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/commands/update.py +0 -0
  479. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/container.py +0 -0
  480. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/cli/promo.py +0 -0
  481. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/__init__.py +0 -0
  482. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/config.py +0 -0
  483. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/db.py +0 -0
  484. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/importers.py +0 -0
  485. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/projects.py +0 -0
  486. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/repositories.py +0 -0
  487. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps/services.py +0 -0
  488. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/deps.py +0 -0
  489. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/file_utils.py +0 -0
  490. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/__init__.py +0 -0
  491. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/base.py +0 -0
  492. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  493. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  494. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  495. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/memory_json_importer.py +0 -0
  496. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/importers/utils.py +0 -0
  497. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/indexing/__init__.py +0 -0
  498. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/indexing/batching.py +0 -0
  499. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/indexing/models.py +0 -0
  500. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/markdown/__init__.py +0 -0
  501. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/markdown/entity_parser.py +0 -0
  502. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/markdown/markdown_processor.py +0 -0
  503. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/markdown/plugins.py +0 -0
  504. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/markdown/schemas.py +0 -0
  505. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/markdown/utils.py +0 -0
  506. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/__init__.py +0 -0
  507. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/async_client.py +0 -0
  508. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/__init__.py +0 -0
  509. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/directory.py +0 -0
  510. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/memory.py +0 -0
  511. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/project.py +0 -0
  512. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/resource.py +0 -0
  513. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/schema.py +0 -0
  514. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/search.py +0 -0
  515. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/container.py +0 -0
  516. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/formatting.py +0 -0
  517. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/project_context.py +0 -0
  518. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  519. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  520. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  521. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  522. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/search.py +0 -0
  523. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/utils.py +0 -0
  524. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/__init__.py +0 -0
  525. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  526. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/cloud_info.md +0 -0
  527. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/project_info.py +0 -0
  528. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/release_notes.md +0 -0
  529. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/ui.py +0 -0
  530. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/server.py +0 -0
  531. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/__init__.py +0 -0
  532. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/canvas.py +0 -0
  533. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
  534. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/cloud_info.py +0 -0
  535. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  536. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/project_management.py +0 -0
  537. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/read_content.py +0 -0
  538. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/release_notes.py +0 -0
  539. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/schema.py +0 -0
  540. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/ui_sdk.py +0 -0
  541. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/utils.py +0 -0
  542. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/view_note.py +0 -0
  543. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/workspaces.py +0 -0
  544. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/__init__.py +0 -0
  545. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/note-preview-mcp-ui.html +0 -0
  546. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/note-preview-tool-ui.html +0 -0
  547. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/note-preview-vanilla.html +0 -0
  548. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/search-results-mcp-ui.html +0 -0
  549. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/search-results-tool-ui.html +0 -0
  550. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/search-results-vanilla.html +0 -0
  551. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/sdk.py +0 -0
  552. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/templates.py +0 -0
  553. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/models/__init__.py +0 -0
  554. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/models/base.py +0 -0
  555. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/models/project.py +0 -0
  556. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/models/search.py +0 -0
  557. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/project_resolver.py +0 -0
  558. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/__init__.py +0 -0
  559. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/embedding_provider.py +0 -0
  560. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/metadata_filters.py +0 -0
  561. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/note_content_repository.py +0 -0
  562. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/observation_repository.py +0 -0
  563. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/openai_provider.py +0 -0
  564. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/project_info_repository.py +0 -0
  565. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/relation_repository.py +0 -0
  566. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/repository.py +0 -0
  567. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/search_index_row.py +0 -0
  568. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/repository/semantic_errors.py +0 -0
  569. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/runtime.py +0 -0
  570. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schema/__init__.py +0 -0
  571. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schema/diff.py +0 -0
  572. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schema/inference.py +0 -0
  573. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schema/parser.py +0 -0
  574. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schema/resolver.py +0 -0
  575. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schema/validator.py +0 -0
  576. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/__init__.py +0 -0
  577. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/base.py +0 -0
  578. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/cloud.py +0 -0
  579. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/delete.py +0 -0
  580. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/directory.py +0 -0
  581. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/importer.py +0 -0
  582. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/memory.py +0 -0
  583. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/project_info.py +0 -0
  584. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/prompt.py +0 -0
  585. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/request.py +0 -0
  586. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/response.py +0 -0
  587. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/schema.py +0 -0
  588. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/sync_report.py +0 -0
  589. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/v2/graph.py +0 -0
  590. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/schemas/v2/resource.py +0 -0
  591. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/__init__.py +0 -0
  592. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/directory_service.py +0 -0
  593. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/entity_service.py +0 -0
  594. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/exceptions.py +0 -0
  595. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/file_service.py +0 -0
  596. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/initialization.py +0 -0
  597. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/link_resolver.py +0 -0
  598. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/services/service.py +0 -0
  599. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/sync/__init__.py +0 -0
  600. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/sync/background_sync.py +0 -0
  601. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/sync/coordinator.py +0 -0
  602. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/sync/watch_service.py +0 -0
  603. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/telemetry.py +0 -0
  604. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  605. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/templates/prompts/search.hbs +0 -0
  606. {basic_memory-0.21.6 → basic_memory-0.22.0}/src/basic_memory/workspace_context.py +0 -0
  607. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/BENCHMARKS.md +0 -0
  608. {basic_memory-0.21.6/test-int/semantic → basic_memory-0.22.0/test-int/bughunt_fixes}/__init__.py +0 -0
  609. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_cli_tool_edit_note_integration.py +0 -0
  610. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_cli_tool_json_failure_integration.py +0 -0
  611. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_cli_tool_json_integration.py +0 -0
  612. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_project_commands_integration.py +0 -0
  613. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_routing_integration.py +0 -0
  614. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_search_notes_meta_integration.py +0 -0
  615. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/cli/test_version_integration.py +0 -0
  616. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/compare_search_benchmarks.py +0 -0
  617. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-01.md +0 -0
  618. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-02.md +0 -0
  619. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-03.md +0 -0
  620. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-04.md +0 -0
  621. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-05.md +0 -0
  622. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-06.md +0 -0
  623. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-07.md +0 -0
  624. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-08.md +0 -0
  625. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-09.md +0 -0
  626. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-10.md +0 -0
  627. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-11.md +0 -0
  628. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-12.md +0 -0
  629. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-13.md +0 -0
  630. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-14.md +0 -0
  631. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-15.md +0 -0
  632. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-16.md +0 -0
  633. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-17.md +0 -0
  634. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-18.md +0 -0
  635. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-19.md +0 -0
  636. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-20.md +0 -0
  637. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/schema/Person.md +0 -0
  638. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/array-single.md +0 -0
  639. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/empty-note.md +0 -0
  640. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/explicit-overrides-type.md +0 -0
  641. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/inline-and-type.md +0 -0
  642. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/no-frontmatter.md +0 -0
  643. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/relation-only.md +0 -0
  644. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/type-no-schema.md +0 -0
  645. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/unicode-fields.md +0 -0
  646. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/ada-lovelace.md +0 -0
  647. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/alan-turing.md +0 -0
  648. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/anders-hejlsberg.md +0 -0
  649. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/andrej-karpathy.md +0 -0
  650. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/barbara-liskov.md +0 -0
  651. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/bjarne-stroustrup.md +0 -0
  652. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/brendan-eich.md +0 -0
  653. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/claude-shannon.md +0 -0
  654. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/dennis-ritchie.md +0 -0
  655. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/dijkstra.md +0 -0
  656. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/donald-knuth.md +0 -0
  657. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/fei-fei-li.md +0 -0
  658. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/geoffrey-hinton.md +0 -0
  659. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/grace-hopper.md +0 -0
  660. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/guido-van-rossum.md +0 -0
  661. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/james-gosling.md +0 -0
  662. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/john-carmack.md +0 -0
  663. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/ken-thompson.md +0 -0
  664. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/larry-page.md +0 -0
  665. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/leslie-lamport.md +0 -0
  666. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/linus-torvalds.md +0 -0
  667. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/margaret-hamilton.md +0 -0
  668. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/rasmus-lerdorf.md +0 -0
  669. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/richard-stallman.md +0 -0
  670. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/rob-pike.md +0 -0
  671. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/satoshi-nakamoto.md +0 -0
  672. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/tim-berners-lee.md +0 -0
  673. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/vint-cerf.md +0 -0
  674. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/yann-lecun.md +0 -0
  675. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/yukihiro-matsumoto.md +0 -0
  676. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/Book.md +0 -0
  677. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/Meeting.md +0 -0
  678. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/Person.md +0 -0
  679. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/SoftwareProject.md +0 -0
  680. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/StrictSchema.md +0 -0
  681. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/basic-memory.md +0 -0
  682. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/explicit-ref-note.md +0 -0
  683. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/no-schema-note.md +0 -0
  684. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/paul-graham.md +0 -0
  685. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/rich-hickey.md +0 -0
  686. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/standup-2024-01-15.md +0 -0
  687. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/extra-observations.md +0 -0
  688. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/missing-multiple.md +0 -0
  689. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/missing-required.md +0 -0
  690. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/wrong-enum-value.md +0 -0
  691. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_build_context_underscore.py +0 -0
  692. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_build_context_validation.py +0 -0
  693. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
  694. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_default_project_mode_integration.py +0 -0
  695. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_delete_directory_integration.py +0 -0
  696. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_delete_note_integration.py +0 -0
  697. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
  698. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_list_directory_integration.py +0 -0
  699. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_long_relation_type_integration.py +0 -0
  700. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_move_directory_integration.py +0 -0
  701. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_output_format_json_integration.py +0 -0
  702. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_pagination_integration.py +0 -0
  703. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_permalink_collision_integration.py +0 -0
  704. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_project_management_integration.py +0 -0
  705. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_project_state_sync_integration.py +0 -0
  706. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_read_content_integration.py +0 -0
  707. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_read_note_integration.py +0 -0
  708. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
  709. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_smoke_integration.py +0 -0
  710. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_string_params_integration.py +0 -0
  711. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_ui_sdk_integration.py +0 -0
  712. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/mcp/test_workspace_permalink_integration.py +0 -0
  713. {basic_memory-0.21.6/tests/markdown → basic_memory-0.22.0/test-int/semantic}/__init__.py +0 -0
  714. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/conftest.py +0 -0
  715. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/corpus.py +0 -0
  716. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/metrics.py +0 -0
  717. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/report.py +0 -0
  718. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/test_multiterm_semantic_queries.py +0 -0
  719. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/test_search_diagnostics.py +0 -0
  720. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/test_semantic_coverage.py +0 -0
  721. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/semantic/test_semantic_quality.py +0 -0
  722. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_db_wal_mode.py +0 -0
  723. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_disable_permalinks_integration.py +0 -0
  724. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/__init__.py +0 -0
  725. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/conftest.py +0 -0
  726. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/helpers.py +0 -0
  727. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/test_diff_integration.py +0 -0
  728. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/test_inference_integration.py +0 -0
  729. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/test_parser_integration.py +0 -0
  730. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_schema/test_validator_integration.py +0 -0
  731. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_search_performance_benchmark.py +0 -0
  732. {basic_memory-0.21.6 → basic_memory-0.22.0}/test-int/test_sync_batching_integration.py +0 -0
  733. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/Non-MarkdownFileSupport.pdf +0 -0
  734. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/README.md +0 -0
  735. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/Screenshot.png +0 -0
  736. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/__init__.py +0 -0
  737. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/__init__.py +0 -0
  738. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/conftest.py +0 -0
  739. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_directory_router.py +0 -0
  740. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_importer_router.py +0 -0
  741. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_knowledge_router_telemetry.py +0 -0
  742. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_memory_router.py +0 -0
  743. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_orphan_router.py +0 -0
  744. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_project_router.py +0 -0
  745. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_prompt_router.py +0 -0
  746. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_resource_router.py +0 -0
  747. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_schema_router.py +0 -0
  748. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_search_hydration.py +0 -0
  749. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_search_router.py +0 -0
  750. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_search_router_telemetry.py +0 -0
  751. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_utils_telemetry.py +0 -0
  752. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/api/v2/test_workspace_permalink_headers.py +0 -0
  753. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
  754. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/cloud/test_rclone_installer.py +0 -0
  755. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/cloud/test_upload_command_routing.py +0 -0
  756. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/cloud/test_upload_path.py +0 -0
  757. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/conftest.py +0 -0
  758. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_analytics.py +0 -0
  759. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_auth_cli_auth.py +0 -0
  760. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_auto_update.py +0 -0
  761. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_container.py +0 -0
  762. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_schema.py +0 -0
  763. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_tool_exit.py +0 -0
  764. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cli_tools.py +0 -0
  765. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cloud_authentication.py +0 -0
  766. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cloud_promo.py +0 -0
  767. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_cloud_status.py +0 -0
  768. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_db_reset_exit.py +0 -0
  769. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_db_reset_zombie_check.py +0 -0
  770. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_ignore_utils.py +0 -0
  771. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_import_chatgpt.py +0 -0
  772. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_import_claude_conversations.py +0 -0
  773. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_import_claude_projects.py +0 -0
  774. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_import_memory_json.py +0 -0
  775. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_orphans_command.py +0 -0
  776. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_project_add_with_local_path.py +0 -0
  777. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_project_info_cloud_status.py +0 -0
  778. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_project_info_errors.py +0 -0
  779. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_project_list_and_ls.py +0 -0
  780. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_project_set_cloud_local.py +0 -0
  781. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_restore_commands.py +0 -0
  782. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_routing.py +0 -0
  783. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_snapshot_commands.py +0 -0
  784. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_update_command.py +0 -0
  785. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_upload.py +0 -0
  786. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/cli/test_workspace_commands.py +0 -0
  787. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
  788. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/deps/test_task_failure_callback.py +0 -0
  789. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/importers/test_conversation_indexing.py +0 -0
  790. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/importers/test_importer_base.py +0 -0
  791. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/importers/test_importer_utils.py +0 -0
  792. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/indexing/test_batching.py +0 -0
  793. {basic_memory-0.21.6/tests/mcp/clients → basic_memory-0.22.0/tests/markdown}/__init__.py +0 -0
  794. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
  795. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_entity_parser.py +0 -0
  796. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_entity_parser_error_handling.py +0 -0
  797. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_markdown_plugins.py +0 -0
  798. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_markdown_processor.py +0 -0
  799. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_markdown_utils.py +0 -0
  800. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_observation_edge_cases.py +0 -0
  801. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_parser_edge_cases.py +0 -0
  802. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_relation_edge_cases.py +0 -0
  803. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/markdown/test_task_detection.py +0 -0
  804. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/conftest.py +0 -0
  805. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_async_client_force_local.py +0 -0
  806. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_async_client_modes.py +0 -0
  807. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_async_client_telemetry.py +0 -0
  808. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_client_schema.py +0 -0
  809. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_client_telemetry.py +0 -0
  810. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_mcp_container.py +0 -0
  811. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
  812. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_permalink_collision_file_overwrite.py +0 -0
  813. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_project_context.py +0 -0
  814. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_project_context_telemetry.py +0 -0
  815. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_prompt_tool_delegation.py +0 -0
  816. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_prompts.py +0 -0
  817. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
  818. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_resources.py +0 -0
  819. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_server_lifespan_branches.py +0 -0
  820. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_server_telemetry.py +0 -0
  821. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_build_context.py +0 -0
  822. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_canvas.py +0 -0
  823. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_cloud_discovery.py +0 -0
  824. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_delete_note.py +0 -0
  825. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_list_directory.py +0 -0
  826. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_project_management.py +0 -0
  827. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_read_content.py +0 -0
  828. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_recent_activity.py +0 -0
  829. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_resource.py +0 -0
  830. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_schema.py +0 -0
  831. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_utils.py +0 -0
  832. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_utils_cloud_auth.py +0 -0
  833. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_view_note.py +0 -0
  834. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_workspace_management.py +0 -0
  835. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
  836. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_tool_write_note_metadata.py +0 -0
  837. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_ui_resources.py +0 -0
  838. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_ui_sdk.py +0 -0
  839. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_ui_templates.py +0 -0
  840. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/test_workspace_permalink_resolution.py +0 -0
  841. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
  842. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/mcp/tools/test_search_notes_multi_project.py +0 -0
  843. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_distance_to_similarity.py +0 -0
  844. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_entity_repository_upsert.py +0 -0
  845. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_entity_upsert_issue_187.py +0 -0
  846. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_metadata_filters.py +0 -0
  847. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_metadata_filters_edge_cases.py +0 -0
  848. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_note_content_repository.py +0 -0
  849. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_postgres_search_repository_unit.py +0 -0
  850. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_project_info_repository.py +0 -0
  851. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_project_repository.py +0 -0
  852. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_relation_repository.py +0 -0
  853. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_repository.py +0 -0
  854. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_search_index_row.py +0 -0
  855. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
  856. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/repository/test_search_text_with_metadata_filters.py +0 -0
  857. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schema/__init__.py +0 -0
  858. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schema/test_diff.py +0 -0
  859. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schema/test_inference.py +0 -0
  860. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schema/test_parser.py +0 -0
  861. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schema/test_resolver.py +0 -0
  862. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schema/test_validator.py +0 -0
  863. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_base_timeframe_minimum.py +0 -0
  864. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_memory_serialization.py +0 -0
  865. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_memory_url.py +0 -0
  866. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_memory_url_validation.py +0 -0
  867. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
  868. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_schemas.py +0 -0
  869. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/schemas/test_search.py +0 -0
  870. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_directory_service.py +0 -0
  871. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_entity_service.py +0 -0
  872. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_entity_service_disable_permalinks.py +0 -0
  873. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_entity_service_prepare.py +0 -0
  874. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_entity_service_telemetry.py +0 -0
  875. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_entity_service_write_result.py +0 -0
  876. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_file_service.py +0 -0
  877. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_initialization.py +0 -0
  878. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
  879. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_link_resolver.py +0 -0
  880. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_project_removal_bug.py +0 -0
  881. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_project_service.py +0 -0
  882. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_project_service_cloud_info.py +0 -0
  883. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_project_service_operations.py +0 -0
  884. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_search_service_telemetry.py +0 -0
  885. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_semantic_search.py +0 -0
  886. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_task_scheduler_semantic.py +0 -0
  887. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/services/test_upsert_entity_optimization.py +0 -0
  888. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_character_conflicts.py +0 -0
  889. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_coordinator.py +0 -0
  890. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_one_markdown_file.py +0 -0
  891. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_service_batching.py +0 -0
  892. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_service_incremental.py +0 -0
  893. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_service_subprocess.py +0 -0
  894. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_service_telemetry.py +0 -0
  895. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_sync_wikilink_issue.py +0 -0
  896. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_tmp_files.py +0 -0
  897. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_watch_service.py +0 -0
  898. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_watch_service_atomic_adds.py +0 -0
  899. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_watch_service_edge_cases.py +0 -0
  900. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_watch_service_reload.py +0 -0
  901. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/sync/test_watch_service_stress.py +0 -0
  902. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_alembic_env.py +0 -0
  903. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_deps.py +0 -0
  904. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_note_content_migration.py +0 -0
  905. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_permalink_utils.py +0 -0
  906. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_pr_title_workflow.py +0 -0
  907. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_production_cascade_delete.py +0 -0
  908. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_project_resolver.py +0 -0
  909. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_runtime.py +0 -0
  910. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/test_telemetry.py +0 -0
  911. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_file_utils.py +0 -0
  912. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
  913. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_permalink_formatting.py +0 -0
  914. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_setup_logging.py +0 -0
  915. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_timezone_utils.py +0 -0
  916. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_utf8_handling.py +0 -0
  917. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_validate_project_path.py +0 -0
  918. {basic_memory-0.21.6 → basic_memory-0.22.0}/tests/utils/test_workspace_context.py +0 -0
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: code-review
3
+ description: Use when reviewing Basic Machines code for house style, architecture risk, pre-merge hardening, or whether a change fits basic-memory/basic-memory-cloud conventions.
4
+ license: MIT
5
+ ---
6
+
7
+ # Basic Machines Review
8
+
9
+ Use this skill for repo-local review passes where ordinary code review needs Basic Machines
10
+ house style and architecture judgment. Report findings only; do not edit code unless the user
11
+ asks you to fix specific findings.
12
+
13
+ ## Scope
14
+
15
+ Review the current diff or named files against:
16
+
17
+ - The repo's `AGENTS.md` / `CLAUDE.md`
18
+ - `docs/ENGINEERING_STYLE.md`
19
+ - The touched code paths and tests
20
+
21
+ Apply only the guidance for the active repo. In `basic-memory`, prioritize local-first
22
+ file/database/MCP boundaries. In `basic-memory-cloud`, prioritize tenant/workspace isolation,
23
+ cloud worker behavior, and web-v2 state/runtime boundaries.
24
+
25
+ ## Review Rubric
26
+
27
+ Report only concrete, falsifiable risks:
28
+
29
+ - **Cognitive load:** Is the change harder to understand than the problem requires?
30
+ - **Change propagation:** Will one product change force edits across unrelated layers?
31
+ - **Knowledge duplication:** Is the same rule encoded in multiple places that can drift?
32
+ - **Accidental complexity:** Did the change add abstractions, fallbacks, or state without need?
33
+ - **Dependency direction:** Are API/MCP/CLI, services, repositories, and UI stores respecting
34
+ their intended boundaries?
35
+ - **Domain model distortion:** Do names and types still match the product concept, or did a
36
+ transport/storage detail leak into the domain?
37
+ - **Test oracle quality:** Would the tests fail for the bug or regression the change claims to
38
+ protect against?
39
+
40
+ ## House Rules To Check Explicitly
41
+
42
+ - No speculative `getattr(obj, "attr", default)` for unknown model shapes.
43
+ - No broad exception swallowing, warning-only failure paths, or hidden fallback behavior.
44
+ - No casts or `Any` that hide an unclear type relationship.
45
+ - Dataclasses for internal value/result objects; Pydantic at validation/serialization
46
+ boundaries.
47
+ - Narrow `Protocol`s when only a capability is needed.
48
+ - Explicit async/resource ownership, cancellation, and cleanup.
49
+ - Meaningful regression tests or verification for risky changes.
50
+ - Comments explain why, not what.
51
+
52
+ ## Reporting Format
53
+
54
+ Lead with findings ordered by severity. Each finding should include:
55
+
56
+ | Severity | Use for |
57
+ | -------- | ------- |
58
+ | `high` | A likely correctness, security, data-loss, or tenant/workspace isolation failure |
59
+ | `medium` | A concrete maintainability or boundary risk that can cause future defects |
60
+ | `low` | A minor consistency issue, ambiguous guidance, or review-only cleanup |
61
+
62
+ ```text
63
+ severity | file:line | risk category | claim
64
+ Why: concrete behavior or code path that proves the risk.
65
+ Fix: smallest practical change, or "none obvious" if the risk needs product input.
66
+ ```
67
+
68
+ If there are no findings, say so and note any verification gaps that remain.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: fix-pr-issues
3
+ description: Use when addressing Basic Memory pull request feedback, failed checks, or BM Bossbot blockers from Codex.
4
+ ---
5
+
6
+ # Fix Basic Memory PR Issues
7
+
8
+ Resolve PR feedback and failed checks, then wait for BM Bossbot to approve the
9
+ new head SHA. This skill never merges a PR.
10
+
11
+ ## Gather
12
+
13
+ 1. Identify the PR:
14
+ - `gh pr view --json number,url,headRefOid,mergeStateStatus,statusCheckRollup`
15
+
16
+ 2. Collect feedback:
17
+ - PR comments and review summaries
18
+ - inline review comments and unresolved review threads
19
+ - failed GitHub Actions jobs and relevant logs
20
+ - the managed `BM_BOSSBOT_SUMMARY` block in the PR body
21
+
22
+ 3. Build a short issue ledger:
23
+ - source
24
+ - concrete problem
25
+ - expected fix
26
+ - verification needed
27
+
28
+ ## Fix
29
+
30
+ 1. Address one ledger item at a time.
31
+ 2. Read each file in full before editing it.
32
+ 3. Keep diffs narrow and preserve unrelated user changes.
33
+ 4. Run the smallest meaningful verification first, then widen as needed.
34
+ 5. Commit with `git commit -s` when code or docs changed.
35
+
36
+ ## Push And Recheck
37
+
38
+ 1. Push the branch.
39
+ 2. Watch checks for the new `headRefOid`.
40
+ 3. Wait for the required `BM Bossbot Approval` status to pass on that exact SHA.
41
+ 4. If BM Bossbot reviews an older SHA, treat the approval as stale and keep
42
+ waiting for the current one.
43
+
44
+ ## Reply
45
+
46
+ For each addressed comment or blocker, reply with the fix commit, verification
47
+ run, and current BM Bossbot status. Do not resolve or dismiss substantive
48
+ feedback without evidence.
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Fix PR Issues"
3
+ short_description: "Address PR feedback and BM Bossbot blockers"
4
+ icon_small: "./assets/icon.svg"
5
+ icon_large: "./assets/icon.svg"
6
+ brand_color: "#2563EB"
7
+ default_prompt: "Use $fix-pr-issues to address PR feedback and wait for BM Bossbot Approval on the latest head SHA."
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 24 24" fill="none" stroke="#111827" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M3 12h4l2-6 4 12 2-6h6"/>
3
+ <path d="M4 20h16"/>
4
+ </svg>
5
+
@@ -0,0 +1,247 @@
1
+ ---
2
+ name: infographics
3
+ description: Use when generating Basic Memory PR, changelog, release, or weekly images from Codex.
4
+ ---
5
+
6
+ # Basic Memory Images
7
+
8
+ Generate repository visuals with evidence-grounded content and canonical output
9
+ paths. The file and marker names still say "infographic" for compatibility, but
10
+ PR generation is image-first: scene, poster, painting, photograph, cover,
11
+ tableau, staged artifact, or another editorial visual moment that describes the
12
+ intent of the PR. PR images are non-gating BM Bossbot artifacts; changelog and
13
+ release-summary images are manual evidence-pack workflows.
14
+
15
+ ## Output Contract
16
+
17
+ - Base output directory: `docs/assets/infographics/`
18
+ - PR image: `docs/assets/infographics/pr-<number>.webp`
19
+ - Changelog image: `docs/assets/infographics/changelog.webp`
20
+ - Weekly image:
21
+ - This is always a 2-Week Retro window: previous ISO week through current ISO
22
+ week (`start-week = current-week - 1`, `end-week = current-week`).
23
+ - Same year window: `docs/assets/infographics/<year>-w<start-week>-w<end-week>.webp`
24
+ - Cross-year window:
25
+ `docs/assets/infographics/<start-year>-w<start-week>-<end-year>-w<end-week>.webp`
26
+
27
+ ## PR Mode
28
+
29
+ PR mode uses the BM Bossbot summary block as source material. Do not hand-write
30
+ claims that are not present in the PR body.
31
+
32
+ 1. Fetch the PR body:
33
+
34
+ ```bash
35
+ gh pr view <number> --json body --jq '.body // ""' > /tmp/bm-pr-body.md
36
+ ```
37
+
38
+ 2. Generate the canonical asset:
39
+
40
+ ```bash
41
+ uv run --script scripts/generate_pr_infographic.py \
42
+ --pr-number <number> \
43
+ --pr-body-file /tmp/bm-pr-body.md \
44
+ --theme "<optional visual theme>" \
45
+ --provenance-output /tmp/bm-infographic-provenance.md \
46
+ --output docs/assets/infographics/pr-<number>.webp
47
+ ```
48
+
49
+ If the PR body contains a managed image theme block, the script reads it
50
+ automatically:
51
+
52
+ ```markdown
53
+ <!-- BM_INFOGRAPHIC_THEME:start -->
54
+ <theme>
55
+ <!-- BM_INFOGRAPHIC_THEME:end -->
56
+ ```
57
+
58
+ Before spending an image call, test the prompt path locally:
59
+
60
+ ```bash
61
+ uv run --script scripts/generate_pr_infographic.py \
62
+ --pr-number <number> \
63
+ --pr-body-file /tmp/bm-pr-body.md \
64
+ --theme "<optional visual theme>" \
65
+ --output docs/assets/infographics/pr-<number>.webp \
66
+ --print-prompt
67
+ ```
68
+
69
+ `--dry-run` is an alias for `--print-prompt`; both print the final prompt and
70
+ exit without calling OpenAI.
71
+
72
+ When no theme is supplied, the script selects a deterministic BM visual
73
+ direction from the style pool below based on the PR number and Bossbot summary.
74
+ This keeps repeated PR images from collapsing into the same generic visual.
75
+
76
+ When the image is generated, also write provenance with
77
+ `--provenance-output <path>`. BM Bossbot publishes that managed block into the
78
+ PR body with these markers:
79
+
80
+ ```markdown
81
+ <!-- BM_INFOGRAPHIC_PROVENANCE:start -->
82
+ ...
83
+ <!-- BM_INFOGRAPHIC_PROVENANCE:end -->
84
+ ```
85
+
86
+ The provenance block records the generated asset path, image model, size,
87
+ quality, image mode, theme source, and selected visual direction. It
88
+ intentionally does not dump the full generated prompt into the PR body. Treat
89
+ this block as debugging and creative provenance only; it is not a merge gate.
90
+
91
+ The PR image is visual support only. The authoritative merge gate is the
92
+ GitHub commit status named `BM Bossbot Approval`.
93
+
94
+ ## Changelog Mode
95
+
96
+ Build an evidence pack before writing a prompt:
97
+
98
+ - diff truth source: merged PR diffs, merge commits, or local reconstructed diffs
99
+ - changed-file orientation: `git diff --stat` plus key file reads
100
+ - impact ledger: before/after outcomes tied to actual changes
101
+ - discard list: misleading titles, reverted work, rename-only churn, speculative TODOs
102
+ - chosen image form: poster, scene, tableau, cover, painting, photograph,
103
+ staged artifact, or another editorial visual moment
104
+ - chosen BM style category: exactly one category from the selection pool below
105
+
106
+ Read these references before drafting the prompt:
107
+
108
+ - `references/prompt-blueprint.md`
109
+ - `references/style-balance.md`
110
+
111
+ Read the current `CHANGELOG.md` entries and include the latest meaningful
112
+ changes.
113
+
114
+ ## Style And Category Selection
115
+
116
+ Select exactly one BM style category per image based on semantic fit. The
117
+ visual language should be recognizable and tasteful, while staying
118
+ business-readable.
119
+
120
+ Create an image-first visual form that communicates the change: poster, scene,
121
+ tableau, cover image, painting, photograph, staged artifact, or another
122
+ editorial visual moment. Maps, diagrams, dossiers, charts, and labels can appear
123
+ as props inside the scene, but do not make a text-heavy infographic.
124
+
125
+ BM category pool:
126
+
127
+ - computer science college textbooks: SICP-style diagrams, algorithms lectures,
128
+ compiler pipelines, automata, database systems, type theory, operating systems
129
+ - classic literature subjects: sea voyages, gothic manors, Dickensian city maps,
130
+ Austen social graphs, library marginalia, travel journals
131
+ - fantasy/D&D-inspired: quest maps, dungeon keys, guild ledgers, spellbooks,
132
+ bestiaries, tavern notice boards; no copyrighted settings
133
+ - Music: Metal, Hard Rock, Punk, techno, soul, reggae bands; no pop music, no
134
+ direct band logos, album covers, or musician likenesses
135
+ - sci-fi: Star Wars inspired knockoff, Spaceballs-adjacent space opera, fleet
136
+ routes, mission consoles, contraband manifests; avoid copyrighted characters,
137
+ logos, or named fictional universes
138
+ - Conan the barbarian-inspired sword-and-sorcery: ruined temples, desert routes,
139
+ battle standards, ancient maps; no named character likenesses
140
+ - Comic books: issue covers, splash pages, action-panel maps, caption boxes,
141
+ halftone energy, clean sound-effect typography
142
+ - French new wave movies: poster style, stark typography, city route maps,
143
+ jump-cut sequencing, high-contrast editorial photography cues
144
+ - WWII propaganda posters: home-front public-information poster language,
145
+ logistics arrows, ration charts, mobilization maps, bold simplified figures;
146
+ no real-world party symbols, hate imagery, dehumanizing slogans, or false
147
+ historical claims
148
+ - Italian movie posters: hand-painted drama, bold credits, expressive color,
149
+ route-map collage, 1960s or 1970s cinema energy; no direct film titles or
150
+ actor likenesses
151
+ - Shakespeare: stage maps, acts and scenes, dramatis personae, royal courts,
152
+ backstage cue sheets
153
+ - Greek mythology: temple diagrams, constellation routes, hero's journey maps,
154
+ oracle tablets, labyrinths, ship routes
155
+ - noir detective boards: case files, red-string maps, typed evidence labels,
156
+ precinct wall charts
157
+ - NASA mission-control dashboards: launch timelines, telemetry maps, orbital
158
+ routes, status boards
159
+ - space exploration and astronomy: celestial atlases, observatory charts,
160
+ star-field maps, orbital mechanics diagrams, planetary survey routes,
161
+ telescope annotations, mission trajectories, deep-space timelines
162
+ - paintings: abstract painting, classical landscape, Remington-inspired western
163
+ action painting, Rembrandt-inspired chiaroscuro, historical mural, stormy
164
+ seascape, allegorical editorial painting
165
+ - classic black-and-white photography: documentary field report, newsroom
166
+ archive print, editorial photo essay, street photography, high-contrast
167
+ darkroom print, contact sheet, civic infrastructure photograph
168
+ - 80's action movies: practical explosions, smoky backlit warehouses, neon city
169
+ streets, helicopter searchlights, mission dossiers, heroic silhouettes,
170
+ high-stakes countdowns, painted ensemble posters; no direct actor likenesses,
171
+ real film titles, franchise marks, or catchphrases
172
+ - alchemy manuscripts: transformation diagrams, annotated symbols, recipe-like
173
+ process maps, illuminated margins
174
+ - brutalist civic planning: transit maps, concrete signage, zoning blocks,
175
+ infrastructure diagrams
176
+
177
+ Selection rules:
178
+
179
+ - Pick one category only; do not create mixed mashups.
180
+ - Pick the most appropriate image form. Prefer an actual scene, poster,
181
+ painting, photograph, tableau, or cover over a text-heavy infographic.
182
+ - Match metaphor to content, but do not overthink it. The category is a creative
183
+ catalyst, not a semantic constraint.
184
+ - Use a polished editorial rendering direction: smooth anti-aliased
185
+ text, high contrast, clean edges, readable labels.
186
+ - Make the category drive the composition through a readable staged moment,
187
+ editorial composition, symbolic environment, route, artifact, or visual
188
+ metaphor.
189
+ - Keep the structure literal enough to aid understanding, but not so heavy that
190
+ it obscures engineering meaning.
191
+ - Give the image generator creative latitude on layout, structure, color palette,
192
+ and visual metaphors. Be precise about what content to show, loose about how
193
+ to show it.
194
+ - Do not use copyrighted characters, logos, or named fictional universes. Use
195
+ genre cues, knockoffs, and original compositions instead.
196
+
197
+ ## Content-First Aesthetic Contract
198
+
199
+ The meaning must be readable and clearly hierarchical. Everything else is
200
+ creative territory: image form, layout, visual metaphors, decorative elements,
201
+ color choices, and category-specific visual language.
202
+
203
+ Hierarchy:
204
+
205
+ 1. Meaning: what shipped, what changed, and why it matters must be clear.
206
+ 2. If the image uses text, labels, sections, or evidence bullets, they must be
207
+ legible.
208
+ 3. The selected category's visual DNA should drive the composition as a poster,
209
+ scene, painting, photograph, tableau, cover, or symbolic object arrangement.
210
+ 4. Do not play it safe. A visually striking image that someone wants to look at
211
+ beats a correct but boring one.
212
+
213
+ Hard rules:
214
+
215
+ - Content sections and labels must be readable when present. Text cannot be
216
+ obscured by decorations.
217
+ - Do not use lore-heavy copy that competes with engineering or business meaning.
218
+ - Every prompt must include a clear image-first composition cue: a staged scene,
219
+ poster composition, painting, photograph, symbolic tableau, hero object,
220
+ mission room, dossier, artifact, route, or visual metaphor.
221
+ - Do not over-prescribe exact coordinates or panel geometry; give a composition
222
+ backbone and let the model compose around it.
223
+
224
+ ## Generation
225
+
226
+ 1. Write the final prompt to a temporary markdown file.
227
+ 2. Generate with the shared image helper:
228
+
229
+ ```bash
230
+ uv run --script scripts/generate_infographic.py \
231
+ --prompt-file /tmp/bm-infographic-prompt.md \
232
+ --output docs/assets/infographics/<name>.webp
233
+ ```
234
+
235
+ 3. Verify the image exists and is readable before reporting success.
236
+
237
+ ## Quality Bar
238
+
239
+ - Tell a concrete before/after value story, not vague improvement claims.
240
+ - Stay understandable for both engineers and non-technical stakeholders.
241
+ - Use plain-language section titles and labels when text is present.
242
+ - Include clear visual hierarchy: title, staged focal point, symbolic scene,
243
+ evidence props, or hero object.
244
+ - Avoid invented facts; only use provided source material.
245
+ - Favor shipped outcomes over intermediate or reverted work.
246
+ - Preserve readability with high contrast, non-tiny labels, and uncluttered
247
+ layout.
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Infographics"
3
+ short_description: "Generate Basic Memory repo infographics"
4
+ icon_small: "./assets/icon.svg"
5
+ icon_large: "./assets/icon.svg"
6
+ brand_color: "#2563EB"
7
+ default_prompt: "Use $infographics to generate a Basic Memory PR or changelog infographic with canonical output paths."
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 24 24" fill="none" stroke="#111827" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M3 12h4l2-6 4 12 2-6h6"/>
3
+ <path d="M4 20h16"/>
4
+ </svg>
5
+
@@ -0,0 +1,72 @@
1
+ # Prompt Blueprint
2
+
3
+ Convert an evidence pack into a final visual prompt. Be precise about the
4
+ content and loose about visual execution.
5
+
6
+ ## Required Inputs
7
+
8
+ - Diff truth source summary
9
+ - Changed-file orientation summary
10
+ - Impact ledger with before/after outcomes
11
+ - Discard list for excluded noise
12
+ - Chosen image form
13
+ - Chosen BM style category
14
+
15
+ ## Prompt Shape
16
+
17
+ ```text
18
+ Create a polished Basic Memory editorial image inspired by
19
+ <BM_STYLE_CATEGORY>. Use a poster, scene, tableau, painting, photograph, cover
20
+ image, staged artifact, or another image-first form that best communicates the
21
+ intent. Use HD editorial rendering with smooth anti-aliased text when text is
22
+ present. Go bold and let the selected category drive the visual language through
23
+ original, non-infringing cues.
24
+
25
+ TITLE:
26
+ - "<clear title>"
27
+ - "<scope subtitle>"
28
+
29
+ COMPOSITION:
30
+ - Recreate a clear staged moment or symbolic image that describes the PR
31
+ intent.
32
+ - Maps, diagrams, dossiers, route lines, labels, and artifacts can appear as
33
+ props inside the scene, but the output should read as an image rather than a
34
+ dense infographic.
35
+ - Take creative liberty with layout and styling.
36
+ - The hard rule: the meaning must be readable and clearly hierarchical.
37
+ - Keep labels plain-language and technical when labels are used.
38
+
39
+ CONTENT:
40
+ 1. "<section>"
41
+ - <evidence-grounded outcome>
42
+ - <evidence-grounded outcome>
43
+
44
+ 2. "<section>"
45
+ - <evidence-grounded outcome>
46
+ - <evidence-grounded outcome>
47
+
48
+ METRICS:
49
+ - <metric>
50
+ - <metric>
51
+
52
+ STYLE DIRECTION:
53
+ - Upscaled editorial, high contrast, anti-aliased text, smooth edges.
54
+ - Let the category's visual DNA drive the composition.
55
+ - Use genre/category cues only; do not use copyrighted characters, logos, named
56
+ fictional universes, direct band logos, album art, or celebrity likenesses.
57
+
58
+ DO NOT:
59
+ - Make text unreadable or let decoration obscure content.
60
+ - Render a text-heavy infographic, dashboard, flowchart, timeline strip,
61
+ checklist, bullet-list panel, or dense explanatory diagram.
62
+ - Use crunchy low-resolution pixel art.
63
+ - Invent facts not present in the evidence pack.
64
+ ```
65
+
66
+ ## Writing Rules
67
+
68
+ - Keep each bullet specific and evidence-grounded.
69
+ - Prefer outcome language over implementation trivia.
70
+ - Default to three or four sections; never exceed five.
71
+ - Give proportionally more space to dominant changes.
72
+ - Keep the final prompt short, energetic, and readable.
@@ -0,0 +1,42 @@
1
+ # Style Balance Rubric
2
+
3
+ ## Core Principle
4
+
5
+ Be bold, not confusing. The selected BM style category should structure the
6
+ visual through a readable image-first composition, not decorate a generic grid.
7
+ Use an editorial scene, poster, painting, photograph, cover, staged artifact, or
8
+ tableau that turns the PR intent into a visual moment.
9
+
10
+ ## Required Traits
11
+
12
+ - Anti-aliased typography
13
+ - Smooth edges
14
+ - High contrast between text and background
15
+ - Plain-language section labels
16
+ - Clear composition backbone: staged scene, editorial poster, painting,
17
+ photograph, symbolic tableau, hero artifact, dossier, mission room, or route
18
+ embodied as part of the scene
19
+ - A single coherent BM style category, expressed through original visual cues
20
+
21
+ ## Reject Or Rewrite If
22
+
23
+ - Content text is unreadable.
24
+ - The prompt lacks a composition backbone.
25
+ - The prompt over-prescribes exact panel positions or a rigid grid.
26
+ - The style leans into crunchy low-resolution pixelation.
27
+ - Copy uses lore-heavy references instead of engineering meaning.
28
+ - The prompt uses copyrighted characters, logos, named fictional universes,
29
+ direct band logos, album art, or celebrity likenesses.
30
+
31
+ ## Creative Integration Patterns
32
+
33
+ - Use category-native map details to organize content: textbook diagrams,
34
+ literary journeys, quest maps, tour posters, mission-control routes, stage
35
+ blocking, mythic constellations, star charts, mission trajectories, case
36
+ boards, or civic plans as props inside the image.
37
+ - Recreate a scene, editorial poster, painting, photograph, cover, artifact, or
38
+ tableau instead of sectioned bullets.
39
+ - Map engineering metrics to visual counters, route progress, or status boards
40
+ only when they naturally belong in the scene.
41
+ - Let headers and accents borrow from the selected style.
42
+ - Keep atmospheric details behind or around content, never over it.
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: pr-create
3
+ description: Use when creating or updating a Basic Memory pull request from Codex with BM Bossbot merge-gate monitoring.
4
+ ---
5
+
6
+ # Create A Basic Memory PR
7
+
8
+ Create or update a pull request for the current branch, then wait for BM
9
+ Bossbot to approve the latest head SHA. This skill never merges a PR.
10
+
11
+ ## Inputs
12
+
13
+ - Optional `<theme>`: free-form visual direction for the non-gating PR
14
+ image. Example: `$pr-create "Italian movie poster"`.
15
+ - Treat `<theme>` as style guidance only. It must not affect PR readiness,
16
+ BM Bossbot review, status checks, or merge behavior.
17
+
18
+ ## How To Use
19
+
20
+ Ask Codex to use the skill from a feature branch:
21
+
22
+ ```text
23
+ $pr-create
24
+ $pr-create "Italian movie poster"
25
+ $pr-create "80's action movies"
26
+ ```
27
+
28
+ Use the plain form when you only want the PR workflow. Pass a theme when you
29
+ want the non-gating image to lean toward a particular visual direction. The
30
+ theme can be specific ("Rembrandt-inspired approval scene") or broad ("let the
31
+ model choose from BM categories").
32
+
33
+ ## What Happens
34
+
35
+ 1. Codex checks the branch, local verification, GitHub auth, commit sign-offs,
36
+ and semantic PR title shape.
37
+ 2. Codex pushes the branch, creates or reuses the PR, and adds the optional
38
+ `BM_INFOGRAPHIC_THEME` block when a theme was supplied.
39
+ 3. BM Bossbot runs from trusted base code, reviews sanitized PR metadata and
40
+ diff context, and sets the required `BM Bossbot Approval` status for the
41
+ exact head SHA.
42
+ 4. If approval succeeds, BM Bossbot may publish a non-gating image block and a
43
+ provenance block:
44
+
45
+ ```markdown
46
+ <!-- BM_INFOGRAPHIC_PROVENANCE:start -->
47
+ ...
48
+ <!-- BM_INFOGRAPHIC_PROVENANCE:end -->
49
+ ```
50
+
51
+ The provenance records the image mode, theme source, selected visual
52
+ direction, and image settings. It is for review/debugging context only.
53
+ 5. Codex reports the PR URL, head SHA, checks watched, verification run, and BM
54
+ Bossbot verdict.
55
+
56
+ The skill never merges, never enables auto-merge, and never treats the image or
57
+ provenance block as a gate. The only required merge signal is the
58
+ `BM Bossbot Approval` status on the current PR head SHA.
59
+
60
+ ## Preflight
61
+
62
+ 1. Confirm the repo and branch:
63
+ - `git status --short --branch`
64
+ - stop if detached or on `main`
65
+ - keep unrelated user changes intact
66
+
67
+ 2. Confirm GitHub access:
68
+ - `gh auth status`
69
+ - `gh repo view --json nameWithOwner,defaultBranchRef,url`
70
+
71
+ 3. Check PR readiness:
72
+ - commits are signed off with `git commit -s`
73
+ - title uses the repo semantic format
74
+ - local verification appropriate to the change has run
75
+
76
+ ## Create Or Reuse
77
+
78
+ 1. Push the branch:
79
+ - `git push -u origin HEAD`
80
+
81
+ 2. Check for an existing PR:
82
+ - `gh pr view --json number,url,headRefOid,mergeStateStatus,statusCheckRollup`
83
+
84
+ 3. If no PR exists, create one:
85
+ - `gh pr create --fill`
86
+ - adjust the title if it does not satisfy the semantic PR title workflow
87
+
88
+ 4. If `<theme>` is provided, add or update this managed block in the PR body:
89
+
90
+ ```markdown
91
+ <!-- BM_INFOGRAPHIC_THEME:start -->
92
+ <theme>
93
+ <!-- BM_INFOGRAPHIC_THEME:end -->
94
+ ```
95
+
96
+ Keep the rest of the PR body intact. The theme is non-gating image guidance
97
+ only.
98
+
99
+ 5. Do not merge. Do not enable auto-merge.
100
+
101
+ ## Watch The Gate
102
+
103
+ 1. Trigger or wait for `.github/workflows/bm-bossbot.yml`.
104
+ 2. Watch the required commit status named `BM Bossbot Approval`.
105
+ 3. Treat approval as valid only when it is green for the current `headRefOid`.
106
+ 4. If the branch changes after approval, wait for BM Bossbot to review the new
107
+ head SHA.
108
+ 5. If BM Bossbot fails or requests changes, use `$fix-pr-issues`.
109
+
110
+ ## Report
111
+
112
+ Return the PR URL, current head SHA, checks watched, verification run, and the
113
+ BM Bossbot verdict. Include the image `<theme>` if one was supplied. Be
114
+ explicit when any check is still pending.
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "PR Create"
3
+ short_description: "Create PRs and wait for BM Bossbot"
4
+ icon_small: "./assets/icon.svg"
5
+ icon_large: "./assets/icon.svg"
6
+ brand_color: "#2563EB"
7
+ default_prompt: "Use $pr-create to create or update this Basic Memory PR and wait for BM Bossbot Approval."
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 24 24" fill="none" stroke="#111827" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M3 12h4l2-6 4 12 2-6h6"/>
3
+ <path d="M4 20h16"/>
4
+ </svg>
5
+
@@ -30,7 +30,8 @@ The justfile target handles:
30
30
  - ✅ Beta version format validation (supports b1, b2, rc1, etc.)
31
31
  - ✅ Git status and branch checks
32
32
  - ✅ Quality checks (`just check` - lint, format, type-check, tests)
33
- - ✅ Version update in `src/basic_memory/__init__.py`
33
+ - ✅ Version update across all consolidated manifests via `just set-version` (Python
34
+ package + Claude Code plugin/marketplaces + Codex plugin + Hermes + OpenClaw)
34
35
  - ✅ Automatic commit with proper message
35
36
  - ✅ Tag creation and pushing to GitHub
36
37
  - ✅ Beta release workflow trigger
@@ -90,6 +91,6 @@ Monitor release: https://github.com/basicmachines-co/basic-memory/actions
90
91
  - Beta releases are pre-releases for testing new features
91
92
  - Automatically published to PyPI with pre-release flag
92
93
  - Uses the automated justfile target for consistency
93
- - Version is automatically updated in `__init__.py`
94
+ - Version is automatically updated across all consolidated manifests via `just set-version`
94
95
  - Ideal for validating changes before stable release
95
- - Supports both beta (b1, b2) and release candidate (rc1, rc2) versions
96
+ - Supports both beta (b1, b2) and release candidate (rc1, rc2) versions