{"_id":"ownmem","_rev":"16-8987a209221ca71c48241bafd586f12b","name":"ownmem","dist-tags":{"latest":"0.8.1"},"versions":{"0.1.0":{"name":"ownmem","version":"0.1.0","keywords":["ai","coding-agent","claude-code","codex","engineering-memory","local-first","ownmem"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.1.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"memory.mjs"},"dist":{"shasum":"ae97dcd9f4320ff8449d2b590186578e5e2dcbea","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.1.0.tgz","fileCount":85,"integrity":"sha512-jbslmbeMfM2iJZ6g4kYaFFXp3o48zfCSkwNwZZoAI+ZtwvrjP+heUhRzzWTC/vi2hExZz+7AcSzo+lQvXTa1Ig==","signatures":[{"sig":"MEUCIQCKgGobpGwj+EY5m2EKbXxP/CpMdG4O7DMn9gWz/6ibBgIgd8n552s9aPfFKlP2F6HKdDvqwZmwYKFUpOPp6/AsPH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1279734},"type":"module","engines":{"node":">=20"},"exports":{".":"./memory.mjs"},"gitHead":"5c3703c52011a363bc129f8d2038ec9cf9424863","scripts":{"test":"node ./memory-public-self-test.mjs","benchmark":"node ./memory-public-benchmark.mjs --iterations 20","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./memory-public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"ifconfigure","email":"ifconfigure@gmail.com"},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.12.1","description":"OwnMem gives every codebase its own local, deterministic memory.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.1.0_1786887516898_0.4563261466168289","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"ownmem","version":"0.1.1","keywords":["ai","coding-agent","claude-code","codex","engineering-memory","local-first","ownmem"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.1.1","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"memory.mjs"},"dist":{"shasum":"26a58aa222a155bfc52bc72e2274127ab982eb71","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.1.1.tgz","fileCount":85,"integrity":"sha512-6pvzwPyTO2jw1nCgzwhL/L3msu1kMGG87YQBoj/e4Az7CkuyGaFI9nidLwftwobmzdacn/GW5VzkP1Uf8JVJiw==","signatures":[{"sig":"MEYCIQC6xPH51mhwrD3Ytygk2Emor2C80yQEmHoC36O56VRm0AIhAPp0yoCZ6IguatQghah/sx8CDLfLnCLSRDG2KjNCC3wf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283119},"type":"module","engines":{"node":">=20"},"exports":{".":"./memory.mjs"},"gitHead":"a94030d6c950dc21bf319a33abcecad31ba0e04b","scripts":{"test":"node ./memory-public-self-test.mjs","benchmark":"node ./memory-public-benchmark.mjs --iterations 20","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./memory-public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"ifconfigure","email":"ifconfigure@gmail.com"},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.12.1","description":"OwnMem gives every codebase its own local, deterministic memory.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.1.1_1786889833440_0.897471537115208","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"ownmem","version":"0.1.2","keywords":["agent-memory","ai","bm25","claude-code","coding-agent","codex","cursor","engineering-memory","gemini-cli","local-first","memory","ownmem"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.1.2","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"memory.mjs"},"dist":{"shasum":"97c4753da50f1105c2d0f89aa7b63dc510235b97","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.1.2.tgz","fileCount":88,"integrity":"sha512-7n6iAS2Enp8hr/U1aUFPOCoqfGmgJ5vHkfkogzLq/tpHY/KSKqFlFIJllGualY8y7hiMyHKoCyzkye5jaHclcA==","signatures":[{"sig":"MEYCIQDhzP49OW6NwQoKiuxJzq0vbzVrP2SvZVLs8iVThQu6zwIhAOjnDhewWmOmIp/TJZF05FdYWqyJy4hs1hM+WH7aE8hJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1337709},"type":"module","engines":{"node":">=20"},"exports":{".":"./memory.mjs"},"gitHead":"65288e21d6f8d17f9c46037182bdac540ff63254","scripts":{"test":"node ./memory-public-self-test.mjs","benchmark":"node ./memory-public-benchmark.mjs --iterations 20","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./memory-public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"ifconfigure","email":"ifconfigure@gmail.com"},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.10.1","description":"OwnMem gives every codebase its own local, deterministic memory — one set of Markdown files serves Claude Code, Codex, Gemini CLI, Cursor, and Grok CLI.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.1.2_1786950720037_0.18644047579785972","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"ownmem","version":"0.2.0","keywords":["agent-memory","agent-memory-system","ai-agent-memory","ai-agent-memory-system","ai","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.2.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"b03737d22e7f6e06ce31d15dd4b84d63d8f90264","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.2.0.tgz","fileCount":73,"integrity":"sha512-wA2GddQPiX+jE3HQL1m3Z/boCKYDZU7JSVvCRvmXnbPiveauXqeAa6QOKMyK4/L8Ggs107PKlY8fjbluIMGRvg==","signatures":[{"sig":"MEUCIQDUkS9LE0vNjYl6lV4Lijfzx1LLWVLO2D88KkLYJtR0NwIgNRe6wQOIXpDbeqfCPa+MXX07rF5XgrwSopEH0KsHPdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1081918},"type":"module","_from":"file:/var/folders/v_/93yv5bpx5y75_7xdz_2n1f0h0000gn/T/ownmem-release-0.2.0.Lc09aujtOR/ownmem-0.2.0.tgz","engines":{"node":">=20"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"ifconfigure","email":"ifconfigure@gmail.com"},"_resolved":"/var/folders/v_/93yv5bpx5y75_7xdz_2n1f0h0000gn/T/ownmem-release-0.2.0.Lc09aujtOR/ownmem-0.2.0.tgz","_integrity":"sha512-wA2GddQPiX+jE3HQL1m3Z/boCKYDZU7JSVvCRvmXnbPiveauXqeAa6QOKMyK4/L8Ggs107PKlY8fjbluIMGRvg==","repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.10.1","description":"Open-source AI agent memory system: Git-native, repo-owned Markdown project memory with deterministic local recall for Claude Code, Codex, Cursor, and more.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.2.0_1787048307400_0.10856707075589345","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"ownmem","version":"0.3.0","keywords":["agent-memory","agent-memory-system","ai-agent-memory","ai-agent-memory-system","ai","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.3.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"dfd6aa8627dffd4f629e533de8aefd58dff1c86a","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.3.0.tgz","fileCount":122,"integrity":"sha512-FNKbZErZ2RFBX9hO1CoJS4rVT+e0nMluC5nX5/dBKjoLXETDYrOMmk6mEQPBnKbCvCTK40yc59o2d8gYTZ5lnQ==","signatures":[{"sig":"MEUCIFDgWGlPvmVMMC7KwvE8klPHqUiRvYXaiVkzuJOIsi/8AiEApcV2id7esU5Yh7JSNNKpiI2A9RWDsG43KjT/OeGcpg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2097007},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"28fff8bd316a6ee72fe0a436053fb385f8be8a28","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents: deterministic local recall, evidence-governed trust, and bounded unattended evolution.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.3.0_1787560173498_0.9947200341838056","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"ownmem","version":"0.4.0","keywords":["agent-memory","agent-memory-system","ai-agent-memory","ai-agent-memory-system","ai","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.4.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"fdf1a2552e11b5037b222ea9b1dbc4a79dc6ca07","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.4.0.tgz","fileCount":122,"integrity":"sha512-sX/EspFgAiO2z8cd6bqawdLU/vAYGSgGlwKdleRW+xv3T6zAMnimr83cwIBVXD5rgkbtkmx4J9wCUZnnogG7QA==","signatures":[{"sig":"MEYCIQDDj4f11kLzpwNhfJxN3QmE6qd0mHYT83KOThii5qGNggIhAORQQCVSf6c3BcSutjEy2mfYl/OGUQwd2TxRilx1Aaew","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2107122},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"11bb5ba4871b07741cfc9a7332aa755bdb3916ee","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents: deterministic local recall, evidence-governed trust, and bounded unattended evolution.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.4.0_1787820263903_0.3386099040113968","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"ownmem","version":"0.5.0","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.5.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"c4c2c03636098a6d016d1618710316f703326eae","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.5.0.tgz","fileCount":122,"integrity":"sha512-PY5yoHu7uHYBalbahuA6HecabaZq1Qmc65Nlfoq98y/qcHk61+wHN/rCJeeo584Jbvn80y3a9ELp7qAkp0jONQ==","signatures":[{"sig":"MEQCID5muvYITiySWRBvkNmii1BMPO94bdlf4nUHqtSK/C81AiBdq7j+UNIRQ8hIAQ9xkA06uWdUN9H9xiiIOFbl57u5mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2125030},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"f1d3539c6f4d567576e6ee00b77b278bac47bff3","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.5.0_1788150354922_0.33218135230884793","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"ownmem","version":"0.5.1","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.5.1","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"a834a88e79642c4ac7c21782039737faeb204fc0","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.5.1.tgz","fileCount":122,"integrity":"sha512-g7a7pTcxl5xmeb4moTF3V0I4oCcuBdBv2+bx/4XJYnBVqtoQ3d8Sh7BTNHvvqKWEcP8Mzzn5Or+uT4ln35Y0fg==","signatures":[{"sig":"MEUCIQCQj8Q57eNm7eoXRtCn3BFDEQ2poJPz8BPiyHmeh2DiSwIgIH7UA0v2O5Vo4nlyrsE4kTgzkUjUDDWO6avxFE9tPpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2128541},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"dfaaa65189905697e02ec5bc2ecd90f13c5fce55","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.5.1_1788237747174_0.9340671269260956","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"ownmem","version":"0.5.2","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.5.2","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"dcf64479af5a5c586e023315c5c90d749b23c6cd","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.5.2.tgz","fileCount":122,"integrity":"sha512-MSdNU5P7mno0VW8Dby92QwHt9Ur89+6dDRK3YnUoV+KN8/gnhIxsZe82X8UFvcSM7sMYr56KqgJrlHzC6MuHyA==","signatures":[{"sig":"MEUCIQC5ekiPcVYEM6Y1jprNG6AFMAg43eEC0kKimo+wGIROhgIgOHLLmYjABxafJBFcJ303+I4ZQs3mV/u8Bs3CEcw0Twg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2131158},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"a1d997af78919bb994053fd81eacf3df1dfead68","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.5.2_1788338316963_0.9874743312013035","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"ownmem","version":"0.5.3","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.5.3","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"fd36965034363f32ca6f39ca42fe8556e1846cb4","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.5.3.tgz","fileCount":122,"integrity":"sha512-CJ6hXu2SyVlVmtDGAkwYgNx4dSYHcmkZrJBboLuOoyZktq7IqwAuLYZ9BvO6UHwFwHgbEVdaonW2OPHeba255g==","signatures":[{"sig":"MEQCIGbfIL+vh8EFODni1/C2tKRTJvU6GZf1CULtijUM8lTiAiAHscs4skZEhLm/8PORPVnkWaO7MU17dEI+b8GS2clpBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2134874},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"a084caef5bb3116dd9f87811dfecd6d245d28335","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.5.3_1788415466678_0.006488981090279733","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"ownmem","version":"0.5.4","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.5.4","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"bc046cf7223a626a44934af9c180abb208e5fd1f","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.5.4.tgz","fileCount":122,"integrity":"sha512-aMjDKCe/Rlg52MtLgh1GhE+LKMGeZonxQcwUL4JQjlPMYI9kfKyely+sBe5puvAT9bKp/0DbqMPp/SUkym82Pw==","signatures":[{"sig":"MEUCIDSqpNIC+XKhdFfIZPyS+TT2hY+MEKC6U3DpTUlmC1F6AiEA1Lc8R1eonTjMuD5RtWZu46eFMhhcFMMHzpgt6MK/UhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2135465},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"d4b9393ce5db313a9024d2686f218b783c012d30","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.5.4_1788418110605_0.07717687299911957","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"ownmem","version":"0.5.5","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.5.5","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"00a546732fb93e3383df26bccc966c744aa29515","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.5.5.tgz","fileCount":122,"integrity":"sha512-5SfN1ZlXd6Xl8GF3ROLkBIV1tx03DMl2NPktRWrHp0qgnD33uaYSO/jpjctYgLLlcOZAZtqM+uKZzw/M2bTEdg==","signatures":[{"sig":"MEYCIQCrq+rAcsMIiPHS9lyyxaDfoZRcq7hDefUVmkzJ4OhJcgIhAMKHGRrg6hbW+9i317cn1QHzsDjHTbIABwoEiqzxqA/l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2137729},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"99453f3a1423ec10f0102bd79e07e3baf911f4f5","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.5.5_1788625869844_0.2660849005890775","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"ownmem","version":"0.6.0","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.6.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"426d81ce76b0b3df018b3757046af7897109ecff","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.6.0.tgz","fileCount":131,"integrity":"sha512-9U/hSQWPg/kvnfJyzKK6aVnEDcX+8VonhPpwPGvB2EAue3bqsYkF6DshECgaZ5hi3DPIiccB9i+wInLb16pJyw==","signatures":[{"sig":"MEYCIQCDI7ixlHV99gGh0uTg5QtQxK0X1EG4rGXhEespbRCloQIhAMF/dzmHOc+AbU0c8dfo9vHvLNpuUxQ+HBRT7Cj61644","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2300060},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"14f4edec52ebc5d1dcf7794f451d3e6d2c64e969","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs && node ./test/evolution-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall and evidence-governed evolution for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.6.0_1788960247896_0.9049382050204164","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"ownmem","version":"0.7.0","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.7.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"ad488aa990fe4bdbe706f25e1796204ad5456afe","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.7.0.tgz","fileCount":107,"integrity":"sha512-dEbsY6O0u9ajqVZ7xUKmWoJk++ncg/h5HbWEPm1nsuM/m9AkxvjqDxT3jrJ//qPBJ6zCeT4QwzZJzwm+CrcMLQ==","signatures":[{"sig":"MEUCIQD0HckQ74MAY7z29VvZzx26T37lgtVGB8Ldatn+WP1nkQIgH74WQ4m9fX+QcGZ8h21z1Xfv2Y64+w9mM7Bh8SEwKKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCitpsBZaEO5qhNNfgXRHw67iuxEKsfcULaus3K+AUeOAIhAKPS+qhLLvyo4Ha25pZw5BlEy6JFulD5kdvH7aJ6DcH6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1953265},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"f75cd4bb183464443b6c517de67ba61a4962501d","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.7.0_1790055383015_0.24477604801366004","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"ownmem","version":"0.8.0","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"author":{"name":"grpcer"},"license":"Apache-2.0","_id":"ownmem@0.8.0","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"homepage":"https://github.com/grpcer/ownmem#readme","bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"bin":{"ownmem":"bin/ownmem.mjs"},"dist":{"shasum":"5ecbd12385a5fc4518070b1f268818b185f91ff5","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.8.0.tgz","fileCount":107,"integrity":"sha512-af5NUtkS5sEEi45Hi9Gc1XW9ySKnY9FrK4CgfYtfM7BjPItnn0dOXt9yKD+tHqNcCordZV/vprLrkXla5gHZxg==","signatures":[{"sig":"MEUCIQD2hTqKdBPATpXTf1wau7jPeOVnCc0i4guo16EjYzg8tQIgLDuiMEXHp8f8j5uls17NWj+IR1i2ETcQs1DUcLbpe+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC4brSk6VT1CiJ50Yar5i/NJcQowzGeBqGC8+eZkI+lMgIgOUEKe1dsLQkcnAYstxz5JEckapmGo/VGWdGzDSLR+2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1975614},"type":"module","engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"5a1c5b2bad759125d2ed1a7b2c31f16799c3f1d6","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"6ee73546-aac0-42b6-8912-d6ee8e494969"}},"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ownmem_0.8.0_1790746003710_0.3852665517295131","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"_id":"ownmem@0.8.1","bin":{"ownmem":"bin/ownmem.mjs"},"bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"dist":{"shasum":"d5800448ec3e3c59335c7977754df7986d405909","tarball":"https://registry.npmjs.org/ownmem/-/ownmem-0.8.1.tgz","fileCount":107,"integrity":"sha512-R9/J0aEDogaQlO8OcRKDq7kMCacVuAgLvknYwdKu/0Ts0McrOHCVt8Jy17/RHaQMrOyrqVAmLVtYBz/Ieanmww==","signatures":[{"sig":"MEUCIFpluCBZFYgInoeT8aB9vpoIQ8ZDtMjDKLBW9v+fsxsSAiEA680hNW5SSkJS/kv7HA8vH0Sx/qhIiUtP9wpbTN0tNc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDWfkzuUP3ejbm5VV/yO6i2y/yI+7t8xTKm4WPhwPNGwAIgXd9UepbghQtAf8dx0R16+6Mdg/h8/DBOYoZwaTw+Lck="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ownmem@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1979939},"name":"ownmem","type":"module","author":{"name":"grpcer"},"engines":{"node":">=20.6.0"},"exports":{".":"./lib/index.mjs","./schemas/*":"./schemas/*"},"gitHead":"41bef7a1e29e4a9dbdbdf598e826dbe5f99bccf2","license":"Apache-2.0","scripts":{"test":"node ./test/structure-self-test.mjs && node ./test/public-self-test.mjs","benchmark":"node ./benchmarks/public-benchmark.mjs --iterations 20","test:structure":"node ./test/structure-self-test.mjs","verify:release":"npm test && npm run benchmark:release && npm pack --dry-run --json","benchmark:release":"node ./benchmarks/public-benchmark.mjs --iterations 100"},"version":"0.8.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"6ee73546-aac0-42b6-8912-d6ee8e494969"}},"homepage":"https://github.com/grpcer/ownmem#readme","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"_npmVersion":"11.16.0","description":"Git-native project memory for AI coding agents. Deterministic local recall for Claude Code, Codex, Cursor, and Gemini CLI.","directories":{},"maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ajv":"^8.20.0","yaml":"^2.9.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ownmem_0.8.1_1791265953669_0.18714641028373458"}}},"time":{"created":"2026-08-16T13:38:36.778Z","modified":"2026-10-06T05:52:34.058Z","0.1.0":"2026-08-16T13:38:37.036Z","0.1.1":"2026-08-16T14:17:13.586Z","0.1.2":"2026-08-17T07:12:00.191Z","0.2.0":"2026-08-18T10:18:27.584Z","0.3.0":"2026-08-24T08:29:33.651Z","0.4.0":"2026-08-27T08:44:24.105Z","0.5.0":"2026-08-31T04:25:55.098Z","0.5.1":"2026-09-01T04:42:27.389Z","0.5.2":"2026-09-02T08:38:37.124Z","0.5.3":"2026-09-03T06:04:26.887Z","0.5.4":"2026-09-03T06:48:30.777Z","0.5.5":"2026-09-05T16:31:10.040Z","0.6.0":"2026-09-09T13:24:08.081Z","0.7.0":"2026-09-22T05:36:23.103Z","0.8.0":"2026-09-30T05:26:43.805Z","0.8.1":"2026-10-06T05:52:33.760Z"},"bugs":{"url":"https://github.com/grpcer/ownmem/issues"},"author":{"name":"grpcer"},"license":"Apache-2.0","homepage":"https://github.com/grpcer/ownmem#readme","keywords":["agent-memory","agent-memory-system","agentic-memory","ai-agent-memory","ai-agent-memory-system","ai","ai-coding-agent","ai-coding-assistant","ai-memory","ai-memory-system","antigravity","bm25","claude-code","claude-code-memory","coding-agent","coding-agent-memory","coding-agents","codex","codex-memory","context-management","cursor","deterministic-retrieval","engineering-memory","gemini-cli","git-native","grok-cli","llm-memory","local-first","long-term-memory","markdown-memory","memory","offline-memory","ownmem","persistent-memory","project-memory","repository-context","repository-memory","software-engineering-memory"],"repository":{"url":"git+https://github.com/grpcer/ownmem.git","type":"git"},"description":"Git-native project memory for AI coding agents. Deterministic local recall for Claude Code, Codex, Cursor, and Gemini CLI.","maintainers":[{"name":"ifconfigure","email":"ifconfigure@gmail.com"}],"readme":"<div align=\"center\">\n\n# OwnMem\n\n**Git-native memory for AI coding agents**\n\nOpen-source project memory for Claude Code, Codex, Cursor, Gemini CLI, and other AI coding agents — local, deterministic, reviewable, and never written behind your back.\n\n[![npm version](https://img.shields.io/npm/v/ownmem?style=flat-square&logo=npm&color=cb3837)](https://www.npmjs.com/package/ownmem)\n[![npm downloads](https://img.shields.io/npm/dm/ownmem?style=flat-square&logo=npm&color=555)](https://www.npmjs.com/package/ownmem)\n[![GitHub stars](https://img.shields.io/github/stars/grpcer/ownmem?style=flat-square&logo=github&color=e3b341)](https://github.com/grpcer/ownmem/stargazers)\n[![release gates](https://img.shields.io/github/actions/workflow/status/grpcer/ownmem/ci.yml?branch=main&style=flat-square&label=release%20gates)](https://github.com/grpcer/ownmem/actions/workflows/ci.yml)\n[![node >= 20.6](https://img.shields.io/badge/node-%E2%89%A5%2020.6-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)\n[![license Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-1d7afc?style=flat-square)](./LICENSE)\n\n**English** · [简体中文](./docs/i18n/README.zh-CN.md) · [繁體中文](./docs/i18n/README.zh-TW.md) · [日本語](./docs/i18n/README.ja.md) · [한국어](./docs/i18n/README.ko.md) · [Español](./docs/i18n/README.es.md) · [Français](./docs/i18n/README.fr.md) · [Deutsch](./docs/i18n/README.de.md) · [Português (BR)](./docs/i18n/README.pt-BR.md)\n\n</div>\n\n## <a name=\"why-ownmem\"></a>✨ Why OwnMem\n\nMost AI agent memory systems optimize for remembering more. OwnMem starts with a different question: **who owns project knowledge, who may change it, and how can a bad memory be stopped before it changes a coding agent's actions?**\n\n| Advantage | What it means in practice |\n| --- | --- |\n| **The repository owns memory** | Readable Markdown in `.ownmem/` travels through clone, review, and rollback with the code, and every agent in the repository reads the same source. |\n| **Deterministic local recall** | Default recall makes no model or network call; the same query, config, and snapshot produce the same ranking. |\n| **Evidence before authority** | Content cannot declare itself trusted. Independent receipts and live evidence checks decide delivery. |\n| **It tells you when it does not know** | Delivery is graded: the memory quoted, up to three pointers, or an abstention that names the gate that refused. |\n| **Net-zero growth** | A hard entry count that only ratchets down, so adding to a full corpus means retiring something in the same change. |\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"./docs/assets/benchmark-dark.svg\">\n  <img alt=\"OwnMem public benchmark: Recall@1 of 100% on 128 queries in 40 languages, against 3.9% for grep -F on the same corpus; recall latency of 0.46 ms at P50 and 1.05 ms at P95 over 4,200 samples, under a 5 ms release gate; MRR 1.000, all 40 unrelated queries abstained, no model or network calls, two runtime dependencies.\" src=\"./docs/assets/benchmark-light.svg\" width=\"100%\">\n</picture>\n\n<sub>Measured on the locked CC0 corpus in this repository. Reproduce it in a clone with `npm run benchmark`.</sub>\n\n## <a name=\"how-it-compares\"></a><a name=\"how-this-differs-from-claudemd-and-built-in-memory\"></a>🆚 How it compares\n\nOwnMem does not replace `CLAUDE.md` or `AGENTS.md`. Those files say how to work here, and they are read in full every turn. OwnMem answers a different question — which of the things this project learned the hard way are worth putting in front of the model *for this task* — and it is allowed to answer “none of them”.\n\n|  | Instruction files | Built-in agent memory | OwnMem |\n| --- | --- | --- | --- |\n| Who writes it | you, by hand | the agent, from your conversations | you, reviewed like code |\n| Where it lives | one file in the repository | the vendor's account | Markdown in your repository |\n| What reaches the model | all of it, every turn | whatever its own recall picked | one of three tiers, under a token budget |\n| When an entry is wrong | you edit the file | you may never see the entry | evidence drift downgrades it and names what moved |\n| Cost per turn | the whole file in tokens | a retrieval call | no model call, no network call |\n\n## <a name=\"quick-start\"></a>🚀 Quick start\n\nRequires Node.js 20.6 or newer. Run this inside the repository that should own the memory:\n\n```bash\nnpm install --save-dev ownmem\nnpx ownmem init --hook --hosts claude,codex\n```\n\nReopen the agent afterwards. Name the hosts you use in `--hosts` (`claude`, `codex`, `cursor`, `gemini`, `grok`); the list is recorded, and passing it again later is how a host is added or removed. `init` creates `.ownmem/` and the host adapters, edits instruction files such as `CLAUDE.md` only inside managed blocks, and prints any one-time step a host still needs. Add `--check` to the same command to preview it, and `--locale auto` to write the generated instructions in your system language.\n\n| Host | How recall happens | Setup |\n| --- | --- | --- |\n| Claude Code | A hook before every Edit and Write, and on request | `claude` |\n| Codex | A hook before every patch it applies, and on request | `codex`; the hooks need three one-time trust steps, which `init` prints |\n| Grok CLI | Reads Claude Code's hook configuration through its compatibility layer | `grok`, alongside `claude` if you use both; trust the folder once with `/hooks-trust` |\n| Cursor | An always-applied rule, or the MCP server | `cursor`; the MCP server takes one manual step, see [Plugins](./docs/PLUGINS.md) |\n| Gemini CLI | Instructions, or the MCP server | `gemini`; the MCP server takes one manual step, see [Plugins](./docs/PLUGINS.md) |\n\n> **⚠️ Upgrading from 0.6.0?** Update the package with `npm install --save-dev ownmem@latest`, then run `npx ownmem init --update` before anything else. 0.6.0 installed hooks whose subcommands no longer exist, so an installation that keeps them runs a failing command on every Bash call. The update removes them and never touches hooks you wrote yourself. [Updating](./docs/UPDATING.md) covers the rest, including the `core.hooksPath` cleanup.\n\n## <a name=\"daily-use\"></a>💬 Daily use\n\nKeep working in plain language. Your agent drafts a memory when you ask for one, and you review it like code:\n\n> “Remember this: staging deployment timeouts come from the pool cap, not too few workers. Check both together next time.”\n\n> “Before changing this, check whether the project memory has seen the same failure.”\n\nRecall answers in one of three tiers: the memory quoted, up to three pointers to go and read, or an abstention. A real run:\n\n```console\n$ npx ownmem recall -- \"staging deploy timed out again, should I add more workers?\"\n== staging deploy timed out again, should I add more workers? ==\n  staging_timeout_pool_cap  [score=0.875 lanes=exact,bm25f,ngram fields=body,codePath,description,hooks,name,triggers]\n      matched deploy,more,out,staging,staging deploy timed out,timed\n      trust advisory authority · lifecycle advisory (not fully verified)\n        Treat it as a lead to re-check against the code, not as an established fact.\n      excerpt(body) **Why**: `DB_POOL_MAX` is 10 on staging. Adding workers only queues more requests behind the same ten connections, so the deploy health check times out sooner, not later.\n      file .ownmem/staging_timeout_pool_cap.md\n```\n\nTrust is stated, not implied. Nothing backs this entry yet — no review has confirmed it, and it cites no authority document or code anchor — so it arrives as a lead to re-check rather than as an established fact.\n\nThe commands you will reach for yourself:\n\n```bash\nnpx ownmem new staging_timeout_pool_cap   # scaffold one memory that already passes every gate\nnpx ownmem report --since 7d              # used? fast enough? right? what to do next\nnpx ownmem dashboard --open               # open the local console\nnpx ownmem mcp                            # serve recall and read to any MCP host over stdio\n```\n\n<img alt=\"The OwnMem local console: the known false-delivery residual as the headline figure, the lookup funnel beside it, corpus and evidence health below, and navigation for performance, quality, governance, and semantic retrieval.\" src=\"./docs/assets/console.png\" width=\"100%\">\n\n`ownmem mcp` exists for hosts without hooks. It exposes exactly two tools, `recall` and `read`, and neither can change a memory; the gate commands (`audit`, `trust`, `compile`) and every memory write stay off that surface. [Plugins](./docs/PLUGINS.md) shows how to register it so it runs the project's own copy.\n\n## <a name=\"how-it-works\"></a><a name=\"architecture\"></a><a name=\"how-ownmem-governs-ai-agent-memory\"></a>🧩 How it works\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"./docs/assets/architecture-dark.svg\">\n  <img alt=\"OwnMem architecture: repository-owned Markdown and independent trust receipts compile into immutable snapshots; deterministic local recall passes four delivery gates and arrives in one of three tiers — the memory quoted, up to three pointers, or an abstention that names its reason — while local feedback ledgers, an evaluation harness and a net-zero quota bound what the corpus becomes.\" src=\"./docs/assets/architecture-light.svg\" width=\"100%\">\n</picture>\n\n- **Repository source of truth.** L1 routing, L2 area indexes, and L3 topics remain reviewable Markdown; trust receipts live outside the text they authorize.\n- **Compile, then recall.** Schema, graph, lifecycle, and evidence gates produce a content-addressed immutable snapshot. Five deterministic lanes — exact, BM25F, n-gram, fuzzy, and graph — are fused locally; embeddings are an optional sixth lane at weight 0 until local A/B evidence passes.\n- **Four gates, three tiers.** Relevance, epistemic validity, task applicability, and action risk each refuse on their own grounds. Above a threshold read off an ablation curve the memory is quoted; below it come up to three pointers that are explicitly not answers; with nothing qualified, an abstention that names the gate that refused.\n- **No unattended writes.** There is no coordinator, no promotion, and no candidate queue. The package measures, proposes, and refuses; every change to memory is a commit somebody makes, and no ranking change lands without the evaluation harness.\n\nMechanisms, threat model, and research mapping: [Technical design](./docs/TECHNICAL.md).\n\n## <a name=\"privacy-and-boundaries\"></a><a name=\"trust-and-automation-boundary\"></a><a name=\"local-first-by-default\"></a><a name=\"telemetry-and-the-daily-pass\"></a>🔒 Privacy and boundaries\n\n- **Local by default.** Ranking reads repository files and local snapshots only: no LLM call, no network request, no retrieval API bill. Delivered excerpts still use the agent's context window, capped by the configured budget.\n- **Telemetry stays on the machine.** Runtime events live in a Git-ignored directory and expire after thirty days. The daily pass (`ownmem daily`) reduces each finished day to a counted package with no query text, topic bodies, or file paths. Missing samples show as unavailable, never as 0%.\n- **Retrieved text is data.** It cannot override host instructions or authorize a tool, and an agent's self-attribution never counts as user confirmation.\n- **Failures are visible.** An entry with unsigned content or an unverifiable evidence target is withheld; evidence drift downgrades it to advisory and names what moved.\n- **Keep secrets out.** Secrets and personal or production data that do not belong in Git do not belong in memory.\n\n## <a name=\"when-to-use-it\"></a><a name=\"where-it-fits\"></a>🧭 When to use it\n\n| Good fit | Choose another system when |\n| --- | --- |\n| A team wants project knowledge reviewed and migrated with code. | You need a cross-repository personal profile or global user memory. |\n| Several coding agents rotate through one repository. | You need to capture every conversation automatically with no evidence or risk boundary. |\n| Local, reproducible recall with no retrieval API bill matters. | You need large-scale cloud vector search or a real-time global knowledge graph. |\n| Bad memory must be attributable, rejectable, and reversible. | Maximum recall volume matters more than governance. |\n\n## <a name=\"documentation\"></a><a name=\"research-lineage\"></a>📚 Documentation\n\n| Document | Purpose |\n| --- | --- |\n| [Architecture](./docs/ARCHITECTURE.md) | Package boundaries, snapshots, trust, and delivery |\n| [Technical design](./docs/TECHNICAL.md) | Mechanisms, threat model, and research mapping |\n| [Plugins](./docs/PLUGINS.md) | Per-host setup, plugins, and trust steps |\n| [Updating](./docs/UPDATING.md) | Safe repository updates and version migrations |\n| [Privacy](./docs/PRIVACY.md) | Local data and optional channel boundaries |\n| [Changelog](./CHANGELOG.md) | Version history |\n| [Contributing](./.github/CONTRIBUTING.md) | Reporting issues and sending changes |\n| [Security](./.github/SECURITY.md) | Reporting a vulnerability |\n| [License](./LICENSE) | Apache-2.0 |\n\n<details>\n<summary><b>Research lineage</b></summary>\n\nOwnMem does not claim these foundations as inventions. Its contribution is their composition into an executable protocol for repository memory:\n\n- **Agent memory and reflection:** [Reflexion (NeurIPS 2023)](https://papers.neurips.cc/paper_files/paper/2023/hash/1b44b878bb782e6954cd888628510e90-Abstract-Conference.html), [MemGPT (2023)](https://arxiv.org/abs/2310.08560)\n- **Memory and knowledge-base poisoning:** [AgentPoison (NeurIPS 2024)](https://proceedings.neurips.cc/paper_files/paper/2024/hash/eb113910e9c3f6242541c1652e30dfd6-Abstract-Conference.html), [PoisonedRAG (USENIX Security 2025)](https://www.usenix.org/conference/usenixsecurity25/presentation/zou-poisonedrag)\n- **Untrusted data separated from authority:** [CaMeL: Defeating Prompt Injections by Design (2025)](https://arxiv.org/abs/2503.18813)\n- **Independent provenance:** [in-toto (USENIX Security 2019)](https://www.usenix.org/conference/usenixsecurity19/presentation/torres-arias)\n- **Selective prediction and abstention:** [Selective Classification (JMLR 2010)](https://jmlr.org/papers/v11/el-yaniv10a.html)\n- **Ablation-based validation:** [Metamorphic Testing (1998)](https://www.cse.ust.hk/~scc/publ/CS98-01-metamorphictesting.pdf)\n- **Decomposed retrieval evaluation:** [ARES (NAACL 2024)](https://aclanthology.org/2024.naacl-long.20/), [RAGChecker (2024)](https://arxiv.org/abs/2408.08067)\n\nThese citations describe the research lineage; they do not imply that the papers implement OwnMem or that OwnMem reproduces their experiments.\n\n</details>\n\nOwnMem is open source. Reproducible issues and pull requests are welcome.\n","readmeFilename":"README.md"}