a-memory 1.7.0__py3-none-any.whl

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.

Potentially problematic release.


This version of a-memory might be problematic. Click here for more details.

Files changed (550) hide show
  1. .ai-memory.toml +21 -0
  2. .claude/CLAUDE.md +109 -0
  3. .codegraph/.gitignore +5 -0
  4. .coderabbit.yaml +43 -0
  5. .cursorrules +0 -0
  6. .dockerignore +19 -0
  7. .gitattributes +22 -0
  8. .github/CODEOWNERS +11 -0
  9. .github/ISSUE_TEMPLATE/bug_report.yml +109 -0
  10. .github/ISSUE_TEMPLATE/config.yml +8 -0
  11. .github/ISSUE_TEMPLATE/feature_request.yml +54 -0
  12. .github/PULL_REQUEST_TEMPLATE.md +19 -0
  13. .github/codeql-config.yml +14 -0
  14. .github/coderabbit.yaml +7 -0
  15. .github/dependabot.yml +11 -0
  16. .github/labeler.yml +25 -0
  17. .github/release-drafter.yml +81 -0
  18. .github/release.yml +22 -0
  19. .github/workflows/auto-label.yml +20 -0
  20. .github/workflows/auto-merge-dependabot.yml +28 -0
  21. .github/workflows/ci.yml +130 -0
  22. .github/workflows/commit-lint.yml +25 -0
  23. .github/workflows/detect-secrets.yml +24 -0
  24. .github/workflows/docs.yml +46 -0
  25. .github/workflows/release-drafter.yml +22 -0
  26. .github/workflows/release.yml +34 -0
  27. .github/workflows/stale.yml +27 -0
  28. .gitignore +26 -0
  29. .hypothesis/.gitignore +9 -0
  30. .hypothesis/constants/0131918d5eaf61a7 +4 -0
  31. .hypothesis/constants/0217e1bf038fb749 +4 -0
  32. .hypothesis/constants/025685350222e199 +4 -0
  33. .hypothesis/constants/08df5bce2c067c67 +4 -0
  34. .hypothesis/constants/0d08164cc62ee81e +4 -0
  35. .hypothesis/constants/0d271cf9a853088f +4 -0
  36. .hypothesis/constants/0f3739f6a4bbceb3 +4 -0
  37. .hypothesis/constants/0f62f670d7d4556a +4 -0
  38. .hypothesis/constants/106fec097b637479 +4 -0
  39. .hypothesis/constants/1176a493ab7e441f +4 -0
  40. .hypothesis/constants/11a7f35b73b355d5 +4 -0
  41. .hypothesis/constants/17f994f04fca849d +4 -0
  42. .hypothesis/constants/185eaa1e42d08ff6 +4 -0
  43. .hypothesis/constants/189966a34e8bb83c +4 -0
  44. .hypothesis/constants/19674fb7b6e7fa25 +4 -0
  45. .hypothesis/constants/1a01b68ac676293a +4 -0
  46. .hypothesis/constants/1bf1ed0c3b1b2cf2 +4 -0
  47. .hypothesis/constants/1d15d5b976b2e007 +4 -0
  48. .hypothesis/constants/1ec990d09f06e8d9 +4 -0
  49. .hypothesis/constants/203497fc60177f0f +4 -0
  50. .hypothesis/constants/2075c0643eaa44c8 +4 -0
  51. .hypothesis/constants/211c68beb3822a01 +4 -0
  52. .hypothesis/constants/216d171530673e64 +4 -0
  53. .hypothesis/constants/21f42bb6b24338d5 +4 -0
  54. .hypothesis/constants/22f64a08a03d6fea +4 -0
  55. .hypothesis/constants/2713c3dcbfed8a65 +4 -0
  56. .hypothesis/constants/29e7f9bd76ba7954 +4 -0
  57. .hypothesis/constants/2a48faca228fb8b8 +4 -0
  58. .hypothesis/constants/2a720bdb9bcc758b +4 -0
  59. .hypothesis/constants/2a7d3223dfdacdc7 +4 -0
  60. .hypothesis/constants/2ab4878d9f8c321b +4 -0
  61. .hypothesis/constants/2dddcac69bb1261c +4 -0
  62. .hypothesis/constants/2e7ce396a7f9318d +4 -0
  63. .hypothesis/constants/31e48df20d82b835 +4 -0
  64. .hypothesis/constants/366007179f98843a +4 -0
  65. .hypothesis/constants/371b663ed83124ce +4 -0
  66. .hypothesis/constants/377b6e3a8331b432 +4 -0
  67. .hypothesis/constants/3797923938187bee +4 -0
  68. .hypothesis/constants/3799169d4dc29413 +4 -0
  69. .hypothesis/constants/3885295d020f5d92 +4 -0
  70. .hypothesis/constants/39007a22b040288b +4 -0
  71. .hypothesis/constants/39e3ef3d3b0df762 +4 -0
  72. .hypothesis/constants/3c661a25646e3c8d +4 -0
  73. .hypothesis/constants/3d2a9dd03bf5915a +4 -0
  74. .hypothesis/constants/3d3fff0fd8191af3 +4 -0
  75. .hypothesis/constants/3d45e3b69897b84b +4 -0
  76. .hypothesis/constants/3da2cc841c801589 +4 -0
  77. .hypothesis/constants/3e8b58eee7d8b4d5 +4 -0
  78. .hypothesis/constants/4348526455301b6f +4 -0
  79. .hypothesis/constants/447a859c04a7d280 +4 -0
  80. .hypothesis/constants/44ad6c5a9aca898d +4 -0
  81. .hypothesis/constants/45e32c74475b5981 +4 -0
  82. .hypothesis/constants/46b7f518cb403e97 +4 -0
  83. .hypothesis/constants/48000079506593bc +4 -0
  84. .hypothesis/constants/48a14ee521dfa3cb +4 -0
  85. .hypothesis/constants/4b13c601e5d8fa82 +4 -0
  86. .hypothesis/constants/4bb224fed2cc2464 +4 -0
  87. .hypothesis/constants/4bba663f9e3a787b +4 -0
  88. .hypothesis/constants/4c05aaf660e4a3b2 +4 -0
  89. .hypothesis/constants/4c7b96c079ec1ab7 +4 -0
  90. .hypothesis/constants/4e5e35c49498c848 +4 -0
  91. .hypothesis/constants/51621802fe75c4a6 +4 -0
  92. .hypothesis/constants/525e955b17448061 +4 -0
  93. .hypothesis/constants/540912285c94e4b0 +4 -0
  94. .hypothesis/constants/5536ab6571868683 +4 -0
  95. .hypothesis/constants/562262d029962266 +4 -0
  96. .hypothesis/constants/5925e89c57abb6ff +4 -0
  97. .hypothesis/constants/59d133a77d9576e9 +4 -0
  98. .hypothesis/constants/5b400234d99fd69b +4 -0
  99. .hypothesis/constants/5e83b4b2ff8af413 +4 -0
  100. .hypothesis/constants/5fe68c54a53f5ce4 +4 -0
  101. .hypothesis/constants/6131c8fae3ea4a1c +4 -0
  102. .hypothesis/constants/61b12d8090da6b04 +4 -0
  103. .hypothesis/constants/62a13eb5c6ae282e +4 -0
  104. .hypothesis/constants/632362028177075b +4 -0
  105. .hypothesis/constants/637fb6fc4de5ab59 +4 -0
  106. .hypothesis/constants/64581adcc197c14e +4 -0
  107. .hypothesis/constants/64ae85eda3f4fa14 +4 -0
  108. .hypothesis/constants/675e6b5dded87234 +4 -0
  109. .hypothesis/constants/68dd5c4801e6e3fe +4 -0
  110. .hypothesis/constants/6962c1e17c7d2d6e +4 -0
  111. .hypothesis/constants/6b5bb9273029269e +4 -0
  112. .hypothesis/constants/6b76dcda53857290 +4 -0
  113. .hypothesis/constants/6c479fc827b2cfbe +4 -0
  114. .hypothesis/constants/6c4ee0da13eebeae +4 -0
  115. .hypothesis/constants/6d715fa94e03f86b +4 -0
  116. .hypothesis/constants/6e1df95b5625e965 +4 -0
  117. .hypothesis/constants/6e275ef4cbf7ac61 +4 -0
  118. .hypothesis/constants/6fa9fff037e639f7 +4 -0
  119. .hypothesis/constants/71ace2ebb96b893f +4 -0
  120. .hypothesis/constants/71c4d835b625450b +4 -0
  121. .hypothesis/constants/7288eb701eee527d +4 -0
  122. .hypothesis/constants/7403d3ba4d2427c5 +4 -0
  123. .hypothesis/constants/75bbc0c2fcedafd3 +4 -0
  124. .hypothesis/constants/772c40cd27e8744e +4 -0
  125. .hypothesis/constants/79fa24e4d5da2d33 +4 -0
  126. .hypothesis/constants/7b6e9f1290db23f7 +4 -0
  127. .hypothesis/constants/7c6d5f5a208c10c5 +4 -0
  128. .hypothesis/constants/7dd927a870b92315 +4 -0
  129. .hypothesis/constants/7f6008018b3bba5d +4 -0
  130. .hypothesis/constants/8166dc74cd220aec +4 -0
  131. .hypothesis/constants/82db07106773e27e +4 -0
  132. .hypothesis/constants/837366e7d032fae3 +4 -0
  133. .hypothesis/constants/85c89ff18f5bf974 +4 -0
  134. .hypothesis/constants/865ed168629d6aa5 +4 -0
  135. .hypothesis/constants/86e6c616c92ab441 +4 -0
  136. .hypothesis/constants/8a33aed17bd34bab +4 -0
  137. .hypothesis/constants/8d467b62cb87a27e +4 -0
  138. .hypothesis/constants/8dd1a0f92678435a +4 -0
  139. .hypothesis/constants/8e89a1c503109280 +4 -0
  140. .hypothesis/constants/8fa301e58829e474 +4 -0
  141. .hypothesis/constants/91857b0d89aad21a +4 -0
  142. .hypothesis/constants/91a01a53d7020790 +4 -0
  143. .hypothesis/constants/920ae7e76de44d3f +4 -0
  144. .hypothesis/constants/924b1a5d241d153a +4 -0
  145. .hypothesis/constants/9373d27b0b0cf58f +4 -0
  146. .hypothesis/constants/93785fcb751d6e65 +4 -0
  147. .hypothesis/constants/939c8629bda15316 +4 -0
  148. .hypothesis/constants/940ce79a2837ad57 +4 -0
  149. .hypothesis/constants/94c8a35cd4ebef22 +4 -0
  150. .hypothesis/constants/94db69cd7ea46848 +4 -0
  151. .hypothesis/constants/952c7791b4ba4d5a +4 -0
  152. .hypothesis/constants/95ac562d657f621e +4 -0
  153. .hypothesis/constants/979151c821a00dcc +4 -0
  154. .hypothesis/constants/9991e42f1b4b8de3 +4 -0
  155. .hypothesis/constants/99dd57061d19ac3a +4 -0
  156. .hypothesis/constants/9c217d6d4d6f2c4a +4 -0
  157. .hypothesis/constants/9d52c13fb5c16e16 +4 -0
  158. .hypothesis/constants/9d777dde1f80fdb9 +4 -0
  159. .hypothesis/constants/9f37a692294d3003 +4 -0
  160. .hypothesis/constants/9fbe011fca4ea60c +4 -0
  161. .hypothesis/constants/a003e2c8581f010e +4 -0
  162. .hypothesis/constants/a01c724a454a8b07 +4 -0
  163. .hypothesis/constants/a19ddbb5bb485e6d +4 -0
  164. .hypothesis/constants/a34cec0af3c61213 +4 -0
  165. .hypothesis/constants/a388424d0fca2721 +4 -0
  166. .hypothesis/constants/a4a93b033d17cf24 +4 -0
  167. .hypothesis/constants/a560cce78032950e +4 -0
  168. .hypothesis/constants/a5a8f7b489f537fc +4 -0
  169. .hypothesis/constants/a67af5b4aeadcff2 +4 -0
  170. .hypothesis/constants/a6c8f5eb7163d884 +4 -0
  171. .hypothesis/constants/a722cf958fac9b3c +4 -0
  172. .hypothesis/constants/a821981d00e00216 +4 -0
  173. .hypothesis/constants/a963981095621930 +4 -0
  174. .hypothesis/constants/aadddacd15f6ac3a +4 -0
  175. .hypothesis/constants/ac677dd8b8917e26 +4 -0
  176. .hypothesis/constants/ad88faefd482e804 +4 -0
  177. .hypothesis/constants/adb5954c6bb49007 +4 -0
  178. .hypothesis/constants/adc83b19e793491b +4 -0
  179. .hypothesis/constants/b1c9c22b2744f127 +4 -0
  180. .hypothesis/constants/b2336f0cf3fc59dd +4 -0
  181. .hypothesis/constants/b239cb3f0b8646c1 +4 -0
  182. .hypothesis/constants/b2cacfb0b5256165 +4 -0
  183. .hypothesis/constants/b57853a780c67716 +4 -0
  184. .hypothesis/constants/b761cefd2d825687 +4 -0
  185. .hypothesis/constants/b7654ffb010d2a80 +4 -0
  186. .hypothesis/constants/b768678447dffe12 +4 -0
  187. .hypothesis/constants/b9379698f7948f1f +4 -0
  188. .hypothesis/constants/b9462bd5cd23c3e1 +4 -0
  189. .hypothesis/constants/bc536f7f8cec8029 +4 -0
  190. .hypothesis/constants/bc6dc851bd4abd68 +4 -0
  191. .hypothesis/constants/bd470a969c12eaea +4 -0
  192. .hypothesis/constants/c195b79b581a5e4a +4 -0
  193. .hypothesis/constants/c281c878a9cfffe7 +4 -0
  194. .hypothesis/constants/c32689b74b2df638 +4 -0
  195. .hypothesis/constants/c563f080b55d5a55 +4 -0
  196. .hypothesis/constants/c58cb290bf3a6af2 +4 -0
  197. .hypothesis/constants/c599575389481bca +4 -0
  198. .hypothesis/constants/c5d3925deea75efd +4 -0
  199. .hypothesis/constants/c70bdf7090eff52b +4 -0
  200. .hypothesis/constants/c92583fdbbd8025f +4 -0
  201. .hypothesis/constants/c9e899c314823e78 +4 -0
  202. .hypothesis/constants/cbc76d66f0269c37 +4 -0
  203. .hypothesis/constants/cdb3f019754ca1e6 +4 -0
  204. .hypothesis/constants/d13022c0afda1563 +4 -0
  205. .hypothesis/constants/d2610b9162e41d14 +4 -0
  206. .hypothesis/constants/d47087da8bc398e1 +4 -0
  207. .hypothesis/constants/d51ac9dbfded2877 +4 -0
  208. .hypothesis/constants/d83e43c1a00ef966 +4 -0
  209. .hypothesis/constants/d9b8c8c138bb6b21 +4 -0
  210. .hypothesis/constants/d9fa1f244511bb57 +4 -0
  211. .hypothesis/constants/da39a3ee5e6b4b0d +4 -0
  212. .hypothesis/constants/db1a7096187ad5e3 +4 -0
  213. .hypothesis/constants/db6f3b1f106a20fe +4 -0
  214. .hypothesis/constants/dbcc0a55f941df10 +4 -0
  215. .hypothesis/constants/de59ae4c0e9adc1e +4 -0
  216. .hypothesis/constants/de7a1e6e64930056 +4 -0
  217. .hypothesis/constants/df25569e1b33d3f1 +4 -0
  218. .hypothesis/constants/e05c7ba7895ef945 +4 -0
  219. .hypothesis/constants/e3e0949ea24f14cb +4 -0
  220. .hypothesis/constants/e4bebe96ce86ee3a +4 -0
  221. .hypothesis/constants/e4dbd43376140e77 +4 -0
  222. .hypothesis/constants/e515b936fbb56d29 +4 -0
  223. .hypothesis/constants/e55fd534f3c5eef8 +4 -0
  224. .hypothesis/constants/e59ee7a18d689b65 +4 -0
  225. .hypothesis/constants/ea468f1fbc755b35 +4 -0
  226. .hypothesis/constants/eb2261d5ee23ffb7 +4 -0
  227. .hypothesis/constants/ee936137cd0c418e +4 -0
  228. .hypothesis/constants/eea2d47be7a11d26 +4 -0
  229. .hypothesis/constants/eecb26b7b8b77207 +4 -0
  230. .hypothesis/constants/f05c8ae7929ace98 +4 -0
  231. .hypothesis/constants/f16bb017e9ee5af9 +4 -0
  232. .hypothesis/constants/f234592906cfe3fb +4 -0
  233. .hypothesis/constants/f37e913bdd621102 +4 -0
  234. .hypothesis/constants/f3e54889b30a59c0 +4 -0
  235. .hypothesis/constants/f59ffab710c767fd +4 -0
  236. .hypothesis/constants/f5f4ab83cb6aea25 +4 -0
  237. .hypothesis/constants/f9356a6ecf0ddc0a +4 -0
  238. .hypothesis/constants/fbd35b0283486407 +4 -0
  239. .hypothesis/constants/fc6e2235d01cc617 +4 -0
  240. .hypothesis/constants/fcf63ec14b415b9b +4 -0
  241. .hypothesis/constants/fd04c0c4b4afe562 +4 -0
  242. .hypothesis/constants/fe045c8a1d327a5f +4 -0
  243. .hypothesis/constants/fee5511b5a452741 +4 -0
  244. .hypothesis/constants/ffb2784e9f595389 +4 -0
  245. .hypothesis/constants/ffb8303a5a716659 +4 -0
  246. .hypothesis/unicode_data/14.0.0/charmap.json.gz +0 -0
  247. .hypothesis/unicode_data/14.0.0/codec-v2-utf-8.json.gz +0 -0
  248. .pre-commit-config.yaml +27 -0
  249. .windsurfrules +88 -0
  250. ARIEL_RULES.md +28 -0
  251. AUDIT_REPORT_20260629.md +114 -0
  252. CHANGELOG.md +400 -0
  253. CODE_OF_CONDUCT.md +128 -0
  254. CONTRIBUTING.md +68 -0
  255. Dockerfile +30 -0
  256. LICENSE +21 -0
  257. PKG-INFO +261 -0
  258. README.md +192 -0
  259. ROADMAP.md +209 -0
  260. SECURITY.md +63 -0
  261. a_memory-1.7.0.dist-info/METADATA +261 -0
  262. a_memory-1.7.0.dist-info/RECORD +550 -0
  263. a_memory-1.7.0.dist-info/WHEEL +4 -0
  264. a_memory-1.7.0.dist-info/entry_points.txt +4 -0
  265. a_memory-1.7.0.dist-info/licenses/LICENSE +21 -0
  266. alembic/README +1 -0
  267. alembic/env.py +94 -0
  268. alembic/script.py.mako +28 -0
  269. alembic/versions/4f9d5ab34719_add_audit_log_index_and_optimize.py +34 -0
  270. alembic/versions/a38d67fcd99e_init_v8_schema.py +291 -0
  271. alembic/versions/c7e21a94b0d5_layer_isolate_l3_l4.py +59 -0
  272. alembic/versions/e5b7d2f8a1c3_rag_chunks_float_blobs.py +42 -0
  273. alembic.ini +149 -0
  274. config.py +112 -0
  275. config.yaml +169 -0
  276. core/__init__.py +100 -0
  277. core/episodic.py +161 -0
  278. core/memory.py +232 -0
  279. core/projects.py +196 -0
  280. core/reflex.py +75 -0
  281. core/session.py +106 -0
  282. data/auth/keys.enc +0 -0
  283. data/auth/token.enc +1 -0
  284. docker-compose.yml +14 -0
  285. docs/CONTROL_MAP.md +109 -0
  286. docs/api/importance.md +9 -0
  287. docs/api/memory-types.md +9 -0
  288. docs/api/secrets.md +11 -0
  289. docs/architecture/connection.md +44 -0
  290. docs/architecture/diagrams.md +119 -0
  291. docs/architecture/layers.md +76 -0
  292. docs/architecture/overview.md +70 -0
  293. docs/changelog.md +17 -0
  294. docs/contributing.md +29 -0
  295. docs/core/episodic.md +20 -0
  296. docs/core/memory.md +29 -0
  297. docs/core/reflex.md +39 -0
  298. docs/core/session.md +20 -0
  299. docs/features/auth.md +28 -0
  300. docs/features/backup.md +28 -0
  301. docs/features/circuit-breaker.md +35 -0
  302. docs/features/compression.md +17 -0
  303. docs/features/dedup.md +25 -0
  304. docs/features/privacy.md +34 -0
  305. docs/features/rate-limiting.md +18 -0
  306. docs/features/secrets.md +48 -0
  307. docs/features/token-budget.md +27 -0
  308. docs/getting-started/configuration.md +69 -0
  309. docs/getting-started/installation.md +52 -0
  310. docs/getting-started/quickstart.md +42 -0
  311. docs/hooks/system.md +45 -0
  312. docs/index.md +90 -0
  313. docs/lifecycle/overview.md +35 -0
  314. docs/operations/deployment.md +58 -0
  315. docs/operations/monitoring.md +25 -0
  316. docs/operations/testing.md +39 -0
  317. docs/rag/conflict.md +33 -0
  318. docs/rag/engine.md +34 -0
  319. docs/rag/quantize.md +25 -0
  320. docs/rag/router.md +20 -0
  321. docs/rag/scoring.md +31 -0
  322. docs/research/RESEARCH-ideas.md +688 -0
  323. docs/tools/reference.md +125 -0
  324. docs/wiki/agent-wiki.md +20 -0
  325. docs/wiki/file-wiki.md +39 -0
  326. docs/wiki/overview.md +43 -0
  327. docs/wiki/user-wiki.md +20 -0
  328. features/__init__.py +9 -0
  329. features/audit_trail.py +136 -0
  330. features/auth/__init__.py +13 -0
  331. features/auth/api_key.py +82 -0
  332. features/auth/bearer.py +55 -0
  333. features/auth/models.py +18 -0
  334. features/auth/store.py +69 -0
  335. features/backup.py +99 -0
  336. features/backup_cron.py +239 -0
  337. features/compression.py +65 -0
  338. features/dashboard.py +222 -0
  339. features/db_maintenance.py +126 -0
  340. features/import_export.py +98 -0
  341. features/rate_limiting.py +114 -0
  342. features/secrets.py +158 -0
  343. features/typed_export.py +90 -0
  344. full_test_output.txt +12 -0
  345. graph/__init__.py +6 -0
  346. graph/epistemic.py +260 -0
  347. graph/temporal.py +139 -0
  348. hooks/__init__.py +11 -0
  349. hooks/agent_hooks.py +126 -0
  350. hooks/loader.py +5 -0
  351. hooks/models.py +18 -0
  352. hooks/registry.py +101 -0
  353. hooks/shared.py +112 -0
  354. hooks/user_hooks.py +163 -0
  355. lifecycle/__init__.py +7 -0
  356. lifecycle/consolidation.py +117 -0
  357. lifecycle/emotion/README.md +30 -0
  358. lifecycle/emotion/__init__.py +6 -0
  359. lifecycle/emotion/config.py +16 -0
  360. lifecycle/emotion/engine.py +86 -0
  361. lifecycle/emotion/models.py +27 -0
  362. lifecycle/emotion/trigger.py +58 -0
  363. lifecycle/forgetting.py +188 -0
  364. lifecycle/importance_scheduler.py +162 -0
  365. mcp_server/__init__.py +5 -0
  366. mcp_server/__main__.py +3 -0
  367. mcp_server/app.py +57 -0
  368. mcp_server/constants.py +11 -0
  369. mcp_server/context.py +55 -0
  370. mcp_server/endpoints/__init__.py +0 -0
  371. mcp_server/endpoints/auth.py +30 -0
  372. mcp_server/endpoints/backup.py +29 -0
  373. mcp_server/endpoints/common.py +36 -0
  374. mcp_server/endpoints/dashboard.py +66 -0
  375. mcp_server/endpoints/system.py +64 -0
  376. mcp_server/lifespan.py +110 -0
  377. mcp_server/middlewares.py +32 -0
  378. mcp_server/models.py +126 -0
  379. mcp_server/registry.py +32 -0
  380. mcp_server/schema.py +68 -0
  381. mcp_server/server.py +153 -0
  382. mcp_server/tools/base.py +223 -0
  383. mcp_server/tools/episodic.py +112 -0
  384. mcp_server/tools/graph.py +151 -0
  385. mcp_server/tools/memory.py +141 -0
  386. mcp_server/tools/ops.py +404 -0
  387. mcp_server/tools/primitives.py +532 -0
  388. mcp_server/tools/session.py +84 -0
  389. mcp_server/tools/wiki.py +75 -0
  390. mcp_server/tools_layer.py +74 -0
  391. mcp_server/utils/__init__.py +1 -0
  392. mcp_server/utils/privacy.py +31 -0
  393. mkdocs.yml +106 -0
  394. openapi.yaml +314 -0
  395. py.typed +1 -0
  396. pyproject.toml +196 -0
  397. rag/__init__.py +7 -0
  398. rag/chunking.py +59 -0
  399. rag/conflict.py +189 -0
  400. rag/engine.py +180 -0
  401. rag/ingestor.py +115 -0
  402. rag/models.py +34 -0
  403. rag/multi_source.py +175 -0
  404. rag/quantize.py +232 -0
  405. rag/router.py +292 -0
  406. rag/schema.py +75 -0
  407. rag/scoring.py +165 -0
  408. rag/search.py +253 -0
  409. rag/searcher.py +133 -0
  410. shared/__init__.py +47 -0
  411. shared/adaptive.py +91 -0
  412. shared/archived_memories.py +77 -0
  413. shared/assets/__init__.py +0 -0
  414. shared/assets/emotions.json +35 -0
  415. shared/cache.py +57 -0
  416. shared/connection.py +256 -0
  417. shared/constants.py +37 -0
  418. shared/crypto.py +58 -0
  419. shared/dream_buffer.py +147 -0
  420. shared/embeddings.py +179 -0
  421. shared/importance/README.md +33 -0
  422. shared/importance/__init__.py +4 -0
  423. shared/importance/models.py +58 -0
  424. shared/importance/scorer.py +118 -0
  425. shared/importance/signals/__init__.py +21 -0
  426. shared/importance/signals/base_signal.py +10 -0
  427. shared/importance/signals/base_type_signal.py +20 -0
  428. shared/importance/signals/emotion_signal.py +23 -0
  429. shared/importance/signals/length_signal.py +15 -0
  430. shared/importance/signals/noise_signal.py +19 -0
  431. shared/importance/signals/novelty_signal.py +10 -0
  432. shared/importance/signals/question_signal.py +10 -0
  433. shared/importance/signals/retrieval_signal.py +13 -0
  434. shared/importance/signals/tech_signal.py +26 -0
  435. shared/memory_types.py +259 -0
  436. shared/metrics.py +75 -0
  437. shared/middleware.py +222 -0
  438. shared/migrations.py +70 -0
  439. shared/path_safety.py +18 -0
  440. shared/read_only.py +101 -0
  441. shared/saga/README.md +36 -0
  442. shared/saga/__init__.py +36 -0
  443. shared/saga/engine.py +103 -0
  444. shared/saga/impl/__init__.py +0 -0
  445. shared/saga/impl/backup.py +90 -0
  446. shared/saga/impl/base.py +579 -0
  447. shared/saga/impl/consolidation.py +88 -0
  448. shared/saga/impl/crypto.py +91 -0
  449. shared/saga/persistence.py +84 -0
  450. shared/saga/schema.py +33 -0
  451. shared//320/237/320/273/320/260/320/275 /320/277/320/265/321/200/320/265/321/205/320/276/320/264/320/260 /320/275/320/260 aiosqlite.md" +100 -0
  452. test_output.txt +22 -0
  453. tests/__init__.py +0 -0
  454. tests/conftest.py +66 -0
  455. tests/features/test_api_key_auth.py +75 -0
  456. tests/features/test_auth_store.py +66 -0
  457. tests/features/test_bearer_auth.py +53 -0
  458. tests/shared/__init__.py +0 -0
  459. tests/shared/test_importance_models.py +30 -0
  460. tests/shared/test_importance_scorer.py +92 -0
  461. tests/shared/test_importance_scorer_extra.py +75 -0
  462. tests/shared/test_importance_signals.py +58 -0
  463. tests/shared/test_saga_engine.py +160 -0
  464. tests/shared/test_saga_engine_extra.py +118 -0
  465. tests/shared/test_saga_impl.py +143 -0
  466. tests/shared/test_saga_persistence.py +56 -0
  467. tests/shared/test_saga_schema.py +48 -0
  468. tests/test_auth_backup.py +84 -0
  469. tests/test_auth_crypto.py +87 -0
  470. tests/test_conflict_bm25.py +89 -0
  471. tests/test_core/__init__.py +0 -0
  472. tests/test_core/test_core.py +11 -0
  473. tests/test_db_maintenance.py +74 -0
  474. tests/test_dream_buffer_flow.py +69 -0
  475. tests/test_features/__init__.py +0 -0
  476. tests/test_features/test_backup_path_safety.py +31 -0
  477. tests/test_features/test_features.py +14 -0
  478. tests/test_features/test_import_export_path_safety.py +32 -0
  479. tests/test_features_coverage.py +439 -0
  480. tests/test_graph/__init__.py +0 -0
  481. tests/test_hooks/__init__.py +0 -0
  482. tests/test_hooks/test_registry_core.py +61 -0
  483. tests/test_hooks/test_registry_fire.py +57 -0
  484. tests/test_hypothesis.py +1361 -0
  485. tests/test_importance_middleware.py +74 -0
  486. tests/test_importance_scheduler.py +122 -0
  487. tests/test_importance_v2.py +116 -0
  488. tests/test_infra_overhaul.py +17 -0
  489. tests/test_integration.py +183 -0
  490. tests/test_lifecycle/__init__.py +0 -0
  491. tests/test_lifecycle/test_emotion_engine.py +99 -0
  492. tests/test_lifecycle/test_emotion_engine_extra.py +52 -0
  493. tests/test_lifecycle/test_emotion_models.py +39 -0
  494. tests/test_lifecycle/test_emotion_trigger_integration.py +85 -0
  495. tests/test_lifecycle/test_forgetting_edge.py +46 -0
  496. tests/test_mcp/__init__.py +0 -0
  497. tests/test_mcp/test_primitives.py +120 -0
  498. tests/test_mcp/test_tools_e2e.py +336 -0
  499. tests/test_mcp/test_tools_unit.py +167 -0
  500. tests/test_memory_types.py +72 -0
  501. tests/test_mib_quantize.py +101 -0
  502. tests/test_multi_source.py +117 -0
  503. tests/test_primitives.py +171 -0
  504. tests/test_project_audit.py +121 -0
  505. tests/test_projects.py +166 -0
  506. tests/test_rag/__init__.py +0 -0
  507. tests/test_rag/test_rag_engine_lifecycle.py +47 -0
  508. tests/test_rag/test_rag_ingestor.py +84 -0
  509. tests/test_rag/test_rag_schema.py +59 -0
  510. tests/test_rag/test_rag_searcher.py +91 -0
  511. tests/test_rag_binary_search.py +104 -0
  512. tests/test_rag_chunking.py +27 -0
  513. tests/test_rag_keep_float.py +49 -0
  514. tests/test_rag_no_legacy_api.py +40 -0
  515. tests/test_rag_scoring.py +128 -0
  516. tests/test_rag_search_facade.py +166 -0
  517. tests/test_router_improvements.py +106 -0
  518. tests/test_routing_integration.py +147 -0
  519. tests/test_saga_behavior.py +185 -0
  520. tests/test_secrets.py +87 -0
  521. tests/test_shared/__init__.py +0 -0
  522. tests/test_shared/test_connection.py +48 -0
  523. tests/test_shared/test_embeddings_unit.py +17 -0
  524. tests/test_shared/test_middleware_unit.py +68 -0
  525. tests/test_shared/test_migrations_coverage.py +43 -0
  526. tests/test_shared/test_path_safety.py +31 -0
  527. tests/test_shared/test_read_only_coverage.py +53 -0
  528. tests/test_shared/test_saga_crypto_coverage.py +108 -0
  529. tests/test_shared/test_saga_crypto_wiring.py +18 -0
  530. tests/test_shared/test_saga_unit.py +292 -0
  531. tests/test_shared/test_shared.py +63 -0
  532. tests/test_threshold_training.py +132 -0
  533. tests/test_typed_consolidation.py +57 -0
  534. tests/test_typed_forgetting.py +87 -0
  535. tests/test_wiki/__init__.py +0 -0
  536. tests/test_wiki/test_manager.py +128 -0
  537. tests/test_wiki/test_path_safety.py +46 -0
  538. tests/test_wiki/test_wiki.py +41 -0
  539. tests/test_wiki/test_wiki_index.py +145 -0
  540. tests/test_wiki/test_wiki_manager.py +125 -0
  541. tests/test_wiki/test_wiki_manager_extra.py +68 -0
  542. tests/test_wiki/test_wiki_parser.py +74 -0
  543. uv.lock +2699 -0
  544. wiki/README.md +32 -0
  545. wiki/__init__.py +23 -0
  546. wiki/index.py +207 -0
  547. wiki/manager.py +321 -0
  548. wiki/models.py +14 -0
  549. wiki/parser.py +72 -0
  550. wiki/shared.py +41 -0
@@ -0,0 +1,130 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ permissions:
14
+ contents: read
15
+ security-events: write
16
+
17
+ env:
18
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
19
+
20
+ jobs:
21
+ lint:
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - uses: actions/setup-python@v5
26
+ with:
27
+ python-version: "3.12"
28
+ cache: "pip"
29
+ - run: pip install ruff
30
+ - run: ruff check .
31
+ - run: ruff format --check .
32
+
33
+ typecheck:
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - uses: actions/checkout@v4
37
+ - uses: actions/setup-python@v5
38
+ with:
39
+ python-version: "3.12"
40
+ cache: "pip"
41
+ - run: pip install -e ".[dev,binary]"
42
+ - run: mypy --config-file pyproject.toml features/ shared/ mcp_server/ rag/ hooks/ wiki/ lifecycle/ graph/ core/
43
+
44
+ quality:
45
+ runs-on: ubuntu-latest
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+ - uses: actions/setup-python@v5
49
+ with:
50
+ python-version: "3.12"
51
+ cache: "pip"
52
+ - run: pip install skylos
53
+ - run: skylos . --json --no-provenance
54
+ - name: Check grade
55
+ run: |
56
+ GRADE=$(skylos . --json | python -c "import sys,json; print(json.load(sys.stdin)['grade'])")
57
+ echo "Skylos grade: $GRADE"
58
+ if [ "$GRADE" = "F" ] || [ "$GRADE" = "D" ] || [ "$GRADE" = "D+" ]; then
59
+ echo "Grade too low: $GRADE"
60
+ exit 1
61
+ fi
62
+
63
+ test:
64
+ runs-on: ubuntu-latest
65
+ strategy:
66
+ fail-fast: false
67
+ matrix:
68
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
69
+ steps:
70
+ - uses: actions/checkout@v4
71
+ - uses: actions/setup-python@v5
72
+ with:
73
+ python-version: ${{ matrix.python-version }}
74
+ cache: "pip"
75
+ - run: pip install -e ".[dev,binary]" "aiosqlite>=0.21.0,!=0.22.0"
76
+ - run: pytest tests/ -v --tb=long --timeout=30
77
+
78
+ coverage:
79
+ runs-on: ubuntu-latest
80
+ steps:
81
+ - uses: actions/checkout@v4
82
+ - uses: actions/setup-python@v5
83
+ with:
84
+ python-version: "3.12"
85
+ cache: "pip"
86
+ - run: pip install -e ".[dev,binary]" "aiosqlite>=0.21.0,!=0.22.0"
87
+ - run: pytest tests/ --cov=features --cov=shared --cov=core --cov=rag --cov=wiki --cov=graph --cov=lifecycle --cov=hooks --cov=mcp_server --cov-report=xml --cov-report=term-missing --cov-fail-under=60 --timeout=60
88
+ - uses: codecov/codecov-action@v4
89
+ with:
90
+ token: ${{ secrets.CODECOV_TOKEN }}
91
+ fail_ci_if_error: false
92
+ files: coverage.xml
93
+
94
+ build:
95
+ runs-on: ubuntu-latest
96
+ steps:
97
+ - uses: actions/checkout@v4
98
+ - uses: actions/setup-python@v5
99
+ with:
100
+ python-version: "3.12"
101
+ cache: "pip"
102
+ - run: pip install build
103
+ - run: python -m build
104
+ - uses: actions/upload-artifact@v4
105
+ with:
106
+ name: dist
107
+ path: dist/
108
+
109
+ audit:
110
+ runs-on: ubuntu-latest
111
+ steps:
112
+ - uses: actions/checkout@v4
113
+ - uses: actions/setup-python@v5
114
+ with:
115
+ python-version: "3.12"
116
+ cache: "pip"
117
+ - run: pip install pip-audit
118
+ - run: pip-audit --strict --desc --skip-editable
119
+
120
+ docs:
121
+ runs-on: ubuntu-latest
122
+ steps:
123
+ - uses: actions/checkout@v4
124
+ - uses: actions/setup-python@v5
125
+ with:
126
+ python-version: "3.12"
127
+ cache: "pip"
128
+ - run: pip install -e ".[docs]"
129
+ - name: Build docs (strict — fails on broken refs)
130
+ run: mkdocs build --strict
@@ -0,0 +1,25 @@
1
+ name: Commit Lint
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [main, master]
6
+
7
+ env:
8
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ commit-lint:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.12"
23
+ - run: pip install commitizen
24
+ - name: Lint commits
25
+ run: cz check --rev-range origin/master..HEAD
@@ -0,0 +1,24 @@
1
+ name: Detect Secrets
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+ env:
10
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ detect-secrets:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+ - uses: gitleaks/gitleaks-action@v2
23
+ env:
24
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,46 @@
1
+ name: Deploy Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ paths:
7
+ - "docs/**"
8
+ - "mkdocs.yml"
9
+ workflow_dispatch:
10
+
11
+ env:
12
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
13
+
14
+ permissions:
15
+ contents: read
16
+ pages: write
17
+ id-token: write
18
+
19
+ concurrency:
20
+ group: pages
21
+ cancel-in-progress: false
22
+
23
+ jobs:
24
+ build:
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - uses: actions/setup-python@v5
29
+ with:
30
+ python-version: "3.12"
31
+ cache: "pip"
32
+ - run: pip install -e ".[docs]"
33
+ - run: mkdocs build --strict
34
+ - uses: actions/upload-pages-artifact@v3
35
+ with:
36
+ path: site
37
+
38
+ deploy:
39
+ needs: build
40
+ runs-on: ubuntu-latest
41
+ environment:
42
+ name: github-pages
43
+ url: ${{ steps.deployment.outputs.page_url }}
44
+ steps:
45
+ - id: deployment
46
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,22 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ types: [opened, reopened, synchronize]
8
+
9
+ env:
10
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
11
+
12
+ permissions:
13
+ contents: write
14
+ pull-requests: write
15
+
16
+ jobs:
17
+ update_release_draft:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: release-drafter/release-drafter@v6
21
+ env:
22
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,34 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ env:
9
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
10
+
11
+ permissions:
12
+ contents: write
13
+
14
+ jobs:
15
+ release:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.12"
23
+ cache: "pip"
24
+
25
+ - name: Build
26
+ run: |
27
+ pip install build
28
+ python -m build
29
+
30
+ - name: Create GitHub Release
31
+ uses: softprops/action-gh-release@v2
32
+ with:
33
+ files: dist/*
34
+ generate_release_notes: true
@@ -0,0 +1,27 @@
1
+ name: Stale Issues and PRs
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+
7
+ env:
8
+ ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
9
+
10
+ permissions:
11
+ issues: write
12
+ pull-requests: write
13
+
14
+ jobs:
15
+ stale:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/stale@v9
19
+ with:
20
+ stale-issue-message: "This issue has been automatically marked as stale because it has not had activity in 30 days. It will be closed in 7 days if no further activity occurs."
21
+ stale-pr-message: "This PR has been automatically marked as stale because it has not had activity in 30 days. It will be closed in 7 days if no further activity occurs."
22
+ days-before-stale: 30
23
+ days-before-close: 7
24
+ stale-issue-label: "stale"
25
+ stale-pr-label: "stale"
26
+ exempt-issue-labels: "pinned,security,bug"
27
+ exempt-pr-labels: "pinned,security"
.gitignore ADDED
@@ -0,0 +1,26 @@
1
+ __pycache__/
2
+ *.pyc
3
+ *.pyo
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .eggs/
8
+ *.db
9
+ *.json
10
+ !pyproject.toml
11
+ !shared/assets/*.json
12
+ .mcp-ariel-memory/
13
+ backups/
14
+ exports/
15
+ archives/
16
+ *.log
17
+ .env
18
+ .venv/
19
+ venv/
20
+
21
+ .ai-memory/
22
+ docs/compose/
23
+ .repowise/
24
+ site/
25
+ .github/tmp-protection.json
26
+ .venv_test/
.hypothesis/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ # This .gitignore file was automatically created by Hypothesis. Hypothesis gitignores
2
+ # .hypothesis by default, because we generally recommend that .hypothesis not be checked
3
+ # into version control.
4
+ #
5
+ # If you *would* like to check .hypothesis into version control, you should delete this
6
+ # file. Hypothesis will not re-create this .gitignore unless .hypothesis is deleted (and
7
+ # if it does, that's a bug - please report it!)
8
+
9
+ *
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/wiki/__init__.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['ALL_AGENT_TYPES', 'ALL_USER_TYPES', 'AgentWiki', 'FileWiki', 'UserWiki', 'WikiEntry', 'WikiIndex', 'WikiManager', 'WikiParser']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/cache.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [300, 1000]
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/episodic.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 'consolidation', 'count', 'default', 'emotion_trigger', 'emotional_weight', 'episode_id', 'episode_not_found', 'episode_save', 'episodes', 'error', 'id', 'limit', 'query', 'retrieval_router', 'state_delta', 'summary', 'tags', 'tool_calls', 'tool_episode_get', 'tool_episode_list', 'tool_episode_recall', 'tool_episode_save', 'trigger', 'user', 'user_id', 'weight']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/rag/__init__.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['RAGChunk', 'RAGEngine', 'RAGIngestor', 'RAGPage', 'RAGSearcher', 'SearchResult', 'init_rag_db']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/primitives.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 0.7, 0.8, 1.0, 200, 500, 600, 2000, '--no-viz', '...', 'Graph_node_add', 'L3_', 'L3_episodic_save', 'L4_', 'L4_remember', 'L4_remember_link', 'Untitled', 'Wiki_', 'Wiki_thought_save', 'agent', 'agent_evolution', 'architecture', 'archive', 'archived', 'artifacts', 'audit', 'auto', 'auto_context', 'balanced', 'code_map', 'code_symbols', 'content', 'core', 'core_memory', 'decided', 'decision', 'decision_log', 'decisions', 'default', 'design', 'diary', 'dream_buffer', 'emotion_trigger', 'emotional_weight', 'epi_nodes', 'episode', 'episodes', 'error', 'exact', 'extract', 'file_path', 'fuzzy', 'graph.json', 'graphify', 'graphify-out', 'hardening', 'importance', 'init', 'instruction', 'key', 'length', 'mapped', 'mapping', 'message_received', 'node_type', 'nodes', 'not_found', 'ok', 'path', 'personality_shift', 'project', 'project_archive', 'project_archived', 'project_spec', 'query', 'recall', 'recalled', 'recent', 'relation', 'resolved_layer', 'results', 'security', 'source', 'summary', 'testing', 'text', 'think_primitive', 'thought', 'thought_link', 'title', 'tool_calls', 'tool_dream', 'tool_evolve', 'tool_project', 'tool_think', 'type', 'unknown', 'update', 'updated', 'user', 'user_id', 'utf-8', 'value', 'verification', 'weight', 'wiki_ref']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/ops.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.3, 500, 3600, '.mcp-ariel-memory', '; ', 'EPISODES: ', 'RECENT: ', 'REMEMBER: ', 'WIKI: ', '_mm', 'all', 'archived', 'archives', 'audit_log', 'audit_trail', 'auto_context', 'backup', 'cached', 'consolidate', 'context', 'context_inject', 'core_memory', 'create', 'created_at', 'default', 'dream_buffer', 'epi_nodes', 'episodes', 'epistemic_graph', 'estimated_tokens', 'export', 'hybrid', 'import', 'l1_recent_count', 'l3_episodes_count', 'l4_facts_count', 'list', 'now', 'query', 'rag', 'ready', 'restore', 'result', 'revoke', 'saga_id', 'status', 'synced', 'text', 'timestamp', 'token_budget', 'tool_api_key', 'tool_backup', 'tool_calls', 'tool_cleanup', 'tool_context', 'tool_context_inject', 'tool_data', 'tool_lucidity_purge', 'tool_saga', 'tool_search', 'tool_stats', 'tool_sync_replica', 'user', 'user_id', 'was_truncated', 'wiki', 'wiki_agent', 'wiki_count']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/lifecycle/emotion/config.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['assets', 'emotions.json', 'shared', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/dream_buffer.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 500, 3600, 'by_age', 'by_count', 'cnt', 'content', 'default', 'id', 'importance', 'layer', 'metadata', 'user', 'user_id']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/lifecycle/forgetting.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.001, 0.01, 0.3, 86400.0, 1000, 86400, ',', '.mcp-ariel-memory', '?', 'Archive failed', 'Archived %d entries', 'Compression failed', 'Decay failed', 'Decayed %d entries', 'SELECT changes()', 'archived', 'archives', 'compressed', 'decay_rate', 'decayed', 'default', 'entry_id', 'expired', 'expires_at', 'fact', 'importance', 'key', 'layer', 'memory_kind', 'updated_at', 'user', 'user_id', 'value', '{}={}']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/hooks/models.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/core/__init__.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, '; ', 'FACTS: ', 'RECENT: ', 'archived', 'l1_buffer_size', 'summary', 'weight']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/rag/ingestor.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [100, 384, 500, 'BEGIN TRANSACTION', 'chunk_overlap', 'chunk_size', 'keep_float_blobs', 'rag', 'storage', 'user', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/lifecycle/emotion/models.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/features/secrets.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [b'ariel-memory-v1\x00', '"\'', '#', '.env', '=', 'Failed to load .env', 'MCP_MASTER_KEY', 'a', 'crypto', 'k', 'master-key', 'master_key_hex', 'mcp-ariel-memory', 'rb', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/saga/impl/backup.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['.mcp-ariel-memory', 'backup_path', 'backups', 'copied', 'copy_db', 'no_backup_path', 'reason', 'size', 'skipped_no_source', 'status', 'verified', 'verify_backup']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/archived_memories.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['archive_reason', 'archived_at', 'content', 'default', 'id', 'importance', 'manual']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/features/audit_trail.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [86400, 'action', 'archived', 'audit_trail', 'details', 'int', 'layer', 'log_id', 'pruned', 'target_id', 'timestamp', 'user_id', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/memory.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 'agent', 'agent_fact', 'auto_context', 'bypass', 'cached', 'correction', 'decided_because', 'decision', 'decision_log', 'decision_made', 'default', 'duplicate_within_ttl', 'emotion_trigger', 'error', 'error_analysis', 'error_occurred', 'error_pattern', 'fact', 'importance', 'importance_gate', 'key', 'limit', 'message_received', 'ok', 'query', 'results', 'results_count', 'retrieval_router', 'self_correction', 'skipped', 'text', 'tool_calls', 'tool_forget', 'tool_recall', 'tool_remember', 'user', 'user_id', 'value']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools_layer.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['dream', 'evolve', 'forget', 'memory_api_key', 'memory_backup', 'memory_cleanup', 'memory_context', 'memory_data', 'memory_episode_get', 'memory_episode_list', 'memory_episode_save', 'memory_forget', 'memory_graph_add', 'memory_graph_edges', 'memory_graph_nodes', 'memory_graph_query', 'memory_recall', 'memory_remember', 'memory_saga', 'memory_search', 'memory_session_end', 'memory_session_list', 'memory_session_start', 'memory_stats', 'memory_sync_replica', 'project', 'think', 'wiki_add', 'wiki_delete', 'wiki_list', 'wiki_search']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/features/auth/models.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/rag/scoring.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [1e-06, 0.02, 0.05, 0.08, 0.1, 0.12, 1.0, 2.0, 'code', 'decision', 'error', 'note', 'novelty', 'relevance', 'rrf', 'spec', 'type_boost', 'weights']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools_layer.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['dream', 'evolve', 'forget', 'memory_api_key', 'memory_backup', 'memory_cleanup', 'memory_context', 'memory_data', 'memory_episode_get', 'memory_episode_list', 'memory_episode_save', 'memory_forget', 'memory_graph_add', 'memory_graph_edges', 'memory_graph_nodes', 'memory_graph_query', 'memory_recall', 'memory_remember', 'memory_saga', 'memory_search', 'memory_session_end', 'memory_session_list', 'memory_session_start', 'memory_stats', 'memory_sync_replica', 'project', 'think', 'wiki_add', 'wiki_delete', 'wiki_list', 'wiki_search']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/primitives.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 0.7, 0.8, 1.0, 200, 500, 600, 2000, '--no-viz', '...', 'Graph_node_add', 'L3_', 'L3_episodic_save', 'L4_', 'L4_remember', 'L4_remember_link', 'Untitled', 'Wiki_', 'Wiki_thought_save', 'agent', 'agent_evolution', 'architecture', 'archive', 'archived', 'artifacts', 'audit', 'auto', 'auto_context', 'balanced', 'code_map', 'code_symbols', 'content', 'core', 'core_memory', 'decided', 'decision', 'decision_log', 'decisions', 'default', 'design', 'diary', 'dream_buffer', 'emotion_trigger', 'emotional_weight', 'epi_nodes', 'episode', 'episodes', 'error', 'exact', 'extract', 'file_path', 'fuzzy', 'graph.json', 'graphify', 'graphify-out', 'hardening', 'importance', 'init', 'instruction', 'key', 'length', 'mapped', 'mapping', 'message_received', 'node_type', 'nodes', 'not_found', 'ok', 'path', 'personality_shift', 'project', 'project_archive', 'project_archived', 'project_spec', 'query', 'recall', 'recalled', 'recent', 'relation', 'resolved_layer', 'results', 'security', 'source', 'summary', 'testing', 'text', 'think_primitive', 'thought', 'thought_link', 'title', 'tool_calls', 'tool_dream', 'tool_evolve', 'tool_project', 'tool_think', 'type', 'unknown', 'update', 'updated', 'user', 'user_id', 'utf-8', 'value', 'verification', 'weight', 'wiki_ref']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/saga/impl/base.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 300, 600, 3600, '*.json', '.', '.json', '.mcp-ariel-memory', '/', 'Invalid saga_id', "Saga '%s' failed", 'Saga watchdog error', '\\', '_', 'age_seconds', 'completed_steps', 'current_step', 'data', 'dict[str, Any]', 'error', 'memory.db', 'name', 'pending', 'rb', 'recovered_at', 'result', 'result_json', 'saga_id', 'started_at', 'state', 'status', 'steps', 'stuck_reason', 'unknown', 'value']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/rag/chunking.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [100, 500]
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/lifecycle/consolidation.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.3, 0.7, 200, '_', 'content', 'emotional_weight', 'ep_{}', 'episode_promotion', 'fact', 'high_importance', 'importance', 'low_importance', 'memory.db', 'memory_kind', 'promoted', 'skipped', 'staging_promotion', 'staging_{}', 'summary', 'total', 'user']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/primitives.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 0.7, 0.8, 1.0, 200, 500, 2000, ',', '...', '?', 'Graph_node_add', 'L3_episodic_save', 'L4_remember', 'L4_remember_link', 'Untitled', 'Wiki_thought_save', 'agent', 'agent_evolution', 'architecture', 'archive', 'archived', 'audit', 'auto', 'auto_context', 'balanced', 'confidence', 'content', 'core', 'core_memory', 'decision_log', 'default', 'design', 'diary', 'dream_buffer', 'emotion_trigger', 'emotional_weight', 'epi_nodes', 'episode', 'episodes', 'error', 'exact', 'file_path', 'fuzzy', 'hardening', 'importance', 'init', 'instruction', 'key', 'length', 'mapped', 'mapping', 'message_received', 'node_id', 'node_type', 'not_found', 'ok', 'path', 'personality_shift', 'project_archive', 'project_archived', 'project_spec', 'query', 'recent', 'relation', 'resolved_layer', 'results', 'security', 'source', 'summary', 'testing', 'text', 'think_primitive', 'thought', 'thought_link', 'title', 'tool_calls', 'tool_dream', 'tool_evolve', 'tool_project', 'tool_think', 'type', 'unknown', 'update', 'updated', 'user', 'user_id', 'value', 'verification', 'weight']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/primitives.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 0.7, 0.8, 1.0, 200, 500, 600, 2000, 86400, '--no-viz', '...', 'Architecture/Design', 'Graph_node_add', 'L3_', 'L3_episodic_save', 'L4_', 'L4_remember', 'L4_remember_link', 'Security/Hardening', 'Testing/Verification', 'Untitled', 'Wiki_', 'Wiki_thought_save', 'agent', 'agent_evolution', 'archive', 'archived', 'artifacts', 'audit', 'auto', 'auto_context', 'balanced', 'code_map', 'code_symbols', 'content', 'core', 'created_at', 'decided', 'decision', 'decision_log', 'decisions', 'default', 'diary', 'dream_buffer', 'emotion_trigger', 'emotional_weight', 'episode', 'error', 'exact', 'extract', 'file_path', 'fuzzy', 'graph.json', 'graphify', 'graphify-out', 'importance', 'init', 'instruction', 'key', 'length', 'mapped', 'mapping', 'message_received', 'node_type', 'nodes', 'not_found', 'ok', 'path', 'personality_shift', 'project', 'project_archive', 'project_archived', 'project_spec', 'query', 'recall', 'recalled', 'recent', 'relation', 'resolved_layer', 'results', 'source', 'summary', 'text', 'think_primitive', 'thought', 'thought_link', 'title', 'tool_calls', 'tool_dream', 'tool_evolve', 'tool_project', 'tool_think', 'type', 'unknown', 'update', 'updated', 'user', 'user_id', 'utf-8', 'value', 'weight', 'wiki_ref']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/.venv/bin/pytest
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['-script.pyw', '.exe', '__main__']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/wiki.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['concept', 'count', 'not_found', 'ok', 'pages', 'results', 'status', 'tags', 'title', 'type', 'user', 'wiki_type']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/core/memory.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [1.0, 86400, 'archive', 'commitment_ttl_days', 'created_at', 'entry_id', 'fact', 'importance', 'key', 'manual', 'memory_kind', 'reclassify_on_save', 'typed_memory', 'updated_at', 'user', 'user_id', 'value']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/primitives.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 0.7, 0.8, 1.0, 200, 500, 600, 2000, '--no-viz', '...', 'Graph_node_add', 'L3_', 'L3_episodic_save', 'L4_', 'L4_remember', 'L4_remember_link', 'Untitled', 'Wiki_', 'Wiki_thought_save', 'agent', 'agent_evolution', 'architecture', 'archive', 'archived', 'artifacts', 'audit', 'auto', 'auto_context', 'balanced', 'code_map', 'code_symbols', 'content', 'core', 'core_memory', 'decided', 'decision', 'decision_log', 'decisions', 'default', 'design', 'diary', 'dream_buffer', 'emotion_trigger', 'emotional_weight', 'epi_nodes', 'episode', 'episodes', 'error', 'exact', 'extract', 'file_path', 'fuzzy', 'graph.json', 'graphify', 'graphify-out', 'hardening', 'importance', 'init', 'instruction', 'key', 'length', 'mapped', 'mapping', 'message_received', 'node_type', 'nodes', 'not_found', 'ok', 'path', 'personality_shift', 'project', 'project_archive', 'project_archived', 'project_spec', 'query', 'recall', 'recalled', 'recent', 'relation', 'resolved_layer', 'results', 'security', 'source', 'summary', 'testing', 'text', 'think_primitive', 'thought', 'thought_link', 'title', 'tool_calls', 'tool_dream', 'tool_evolve', 'tool_project', 'tool_think', 'type', 'unknown', 'update', 'updated', 'user', 'user_id', 'utf-8', 'value', 'verification', 'weight', 'wiki_ref']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/memory_types.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.002, 0.003, 0.005, 0.01, 0.02, 0.03, 0.05, 0.1, 0.3, 0.4, 0.45, 0.5, 0.6, 0.7, 0.8, 0.85, 0.9, 1.0, '?', 'ask later', 'background', 'by next', 'c', 'chose', 'commit', 'commitment', 'context', 'critical', 'decided', 'decision', 'do later', 'do not', 'fact', 'forbidden', 'friend', 'goal', 'going with', 'how', 'hypothesis', 'instruction', 'knows', 'like', 'memory.db', 'my friend', 'never forget', 'noticed', 'observation', 'observed', 'perhaps', 'plan', 'plan to', 'prefer', 'preference', 'probably', 'promise', 'question', 'relationship', 'remember to', 'remind', 'remind me', 'rule', 'to-do', 'todo', 'why', 'Атомарный факт', 'Гипотеза', 'Жёсткое правило', 'Задача с дедлайном', 'Наблюдение', 'Открытый вопрос', 'Предпочтение', 'Связь', 'Фоновый контекст', 'Цель с дедлайном', 'важно', 'видел', 'возможно', 'возраст', 'вопрос', 'выбираю', 'день рождения', 'друг', 'заметил', 'запомни', 'запрещено', 'зачем', 'знаком', 'имя', 'инструкция', 'к концу', 'как', 'коллега', 'контекст', 'мой брат', 'мой друг', 'мой коллега', 'наверное', 'не люблю', 'не нравится', 'нельзя', 'никогда', 'никогда не', 'нравится', 'нужно сделать', 'обещаю', 'обязательно', 'обязуюсь', 'оказывается', 'похоже что', 'почему', 'предпочитаю', 'решение', 'решил', 'сделать', 'согласен', 'уточнить', 'факт', 'хочу достичь', 'цель']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/shared/saga/engine.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [1.0, 300.0]
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools/episodic.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.5, 'consolidation', 'count', 'default', 'emotion_trigger', 'emotional_weight', 'episode_id', 'episode_not_found', 'episode_save', 'episodes', 'error', 'id', 'limit', 'query', 'retrieval_router', 'state_delta', 'summary', 'tags', 'tool_calls', 'tool_episode_get', 'tool_episode_list', 'tool_episode_recall', 'tool_episode_save', 'trigger', 'user', 'user_id', 'weight']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/features/audit_trail.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [86400, 'action', 'archived', 'details', 'int', 'layer', 'log_id', 'pruned', 'target_id', 'timestamp', 'user_id', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/mcp_server/tools_layer.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['dream', 'evolve', 'forget', 'memory_api_key', 'memory_backup', 'memory_cleanup', 'memory_context', 'memory_data', 'memory_episode_get', 'memory_episode_list', 'memory_episode_save', 'memory_forget', 'memory_graph_add', 'memory_graph_edges', 'memory_graph_nodes', 'memory_graph_query', 'memory_recall', 'memory_remember', 'memory_saga', 'memory_search', 'memory_session_end', 'memory_session_list', 'memory_session_start', 'memory_stats', 'memory_sync_replica', 'project', 'think', 'wiki_add', 'wiki_delete', 'wiki_list', 'wiki_search']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/features/import_export.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ ['.mcp-ariel-memory', '1.0', 'core_memory', 'created_at', 'default', 'emotional_weight', 'episodes', 'export_*.json', 'exported_at', 'exports', 'file', 'importance', 'key', 'sessions', 'size', 'summary', 'tags', 'user_id', 'utf-8', 'value', 'version']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/features/db_maintenance.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ [0.25, 200, 1024, '*.db', '-shm', '-wal', 'PRAGMA page_count', 'VACUUM', 'VACUUM failed for %s', 'alert', 'ariel_db_size_bytes', 'db', 'db_alert_mb', 'db_warn_mb', 'ok', 'projects.db', 'storage', 'vacuum_min_mb', 'warn']
@@ -0,0 +1,4 @@
1
+ # file: /home/murat/mcp-ariel-memory/rag/schema.py
2
+ # hypothesis_version: 6.165.0
3
+
4
+ []