{"_id":"mcp-memory-gateway","_rev":"33-adcb7b8799019abeb0901f31477027bd","name":"mcp-memory-gateway","dist-tags":{"latest":"0.9.10"},"versions":{"0.6.13":{"name":"mcp-memory-gateway","version":"0.6.13","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.6.13","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://mcp-memory-gateway.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js"},"dist":{"shasum":"2530195f3d7d5edf297613f55adacceee87b52b3","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.6.13.tgz","fileCount":459,"integrity":"sha512-EGyEwTvDTliMaS50ql6/3am7Oid9tcQxZkLqxqR4SVvzoJ9X0JWe23wNZlooQclCYMWFxD0JpnIk/P/Bq8dKSw==","signatures":[{"sig":"MEUCIQDnUDEmdr/2V+5akfGtEg4rT6YuHDIolJnSh1WamVvU2AIgEYQ0h5Y8Aiqtl9nwCulT7QH2o9/1nrOH9fbCguwSsoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4818062},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"f2b5047df8222772842ecc46dd47204eb9948da2","mcpName":"io.github.igorganapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch","start":"node src/api/server.js","test:api":"node --test tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:workflow":"node --test tests/workflow-contract.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","prove:autoresearch":"node scripts/prove-autoresearch.js","test:training-export":"node --test tests/training-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"The Universal Context & Memory Layer for Model Context Protocol (MCP) Agents. Centralized hub to consolidate failures and enforce architectural guardrails.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.6.13_1773286687249_0.4731457955005518","host":"s3://npm-registry-packages-npm-production"}},"0.6.14":{"name":"mcp-memory-gateway","version":"0.6.14","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.6.14","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://mcp-memory-gateway.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js"},"dist":{"shasum":"0aba6cc6ed432cd7665a1eb64c603178661a6c00","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.6.14.tgz","fileCount":870,"integrity":"sha512-9kRE2g4WhAB5zk4q6YfA1FPegPRH5saUOuhqd+L3Bgii9pusw9byc5qe7GPM7nRWcjfnmJ/VNaBFWHkukv1oPQ==","signatures":[{"sig":"MEQCIGdG2RbSBF9ZOFSdN+madW0VIRSJ54eEY/DxlHc2s7laAiAk/BNbGP/XjAMUcezgHxtWsQv9WhdHnWmgOHyr9gpD8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9476502},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"6d3fb8dc2a9acaea8310c63730dc86f62e5d5cbc","mcpName":"io.github.igorganapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch","start":"node src/api/server.js","test:api":"node --test tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:workflow":"node --test tests/workflow-contract.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","prove:autoresearch":"node scripts/prove-autoresearch.js","test:training-export":"node --test tests/training-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"11.11.0","description":"The Universal Context & Memory Layer for Model Context Protocol (MCP) Agents. Centralized hub to consolidate failures and enforce architectural guardrails.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.6.14_1773287672856_0.9259760696460799","host":"s3://npm-registry-packages-npm-production"}},"0.6.15":{"name":"mcp-memory-gateway","version":"0.6.15","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.6.15","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://mcp-memory-gateway.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js"},"dist":{"shasum":"677a30c8ca873224a004f5d5b2887bb4780cb441","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.6.15.tgz","fileCount":870,"integrity":"sha512-ulbmRLXbUuGbFk7686T4IcFdLhwzPo/q5gOt03zntoy6owRGUm3nWddhg/ZraYJJJz8Zz6JIKtfuq1caCkOkYg==","signatures":[{"sig":"MEQCIHOtOBdmEk5GMhit5o258U54SaRBy6ushN4VM8TCt1FgAiAnIAnx9HvEt6XOJCYxdfM82zhbZWZjWkNuTCSrkA6mBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9476491},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"e5b20bda5810729b15317b67e34bbfd588556d80","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch","start":"node src/api/server.js","test:api":"node --test tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:workflow":"node --test tests/workflow-contract.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","prove:autoresearch":"node scripts/prove-autoresearch.js","test:training-export":"node --test tests/training-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"11.11.0","description":"The Universal Context & Memory Layer for Model Context Protocol (MCP) Agents. Centralized hub to consolidate failures and enforce architectural guardrails.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.6.15_1773287841837_0.27032477343746186","host":"s3://npm-registry-packages-npm-production"}},"0.6.16":{"name":"mcp-memory-gateway","version":"0.6.16","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.6.16","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://mcp-memory-gateway.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js"},"dist":{"shasum":"7523ef8b7cf67d8669376c5513d132f4d755a040","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.6.16.tgz","fileCount":881,"integrity":"sha512-ca9qaBItgZHTQbvuODOCKyAreXjY7Q3eNM7oRzvjd/U41eGU+XMsufzjZVhBmUuErNlGiYPaiyolWn3nKajJSw==","signatures":[{"sig":"MEYCIQCpvyNRpXksYgrzgdwW/41rEZ0X5/jMuAmYYvLtchkIEAIhAOI/V8AZG4w+mpcQydLS+3ygKbsDVU1QXmpRcjr+4zN3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9552791},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"fe6985e7338605affe2710e810d37d80bedaf7f3","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch","start":"node src/api/server.js","test:api":"node --test tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:workflow":"node --test tests/workflow-contract.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","prove:autoresearch":"node scripts/prove-autoresearch.js","test:training-export":"node --test tests/training-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"11.11.0","description":"The Universal Context & Memory Layer for Model Context Protocol (MCP) Agents. Centralized hub to consolidate failures and enforce architectural guardrails.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.6.16_1773291286682_0.5840517808511341","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"mcp-memory-gateway","version":"0.7.0","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.7.0","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js"},"dist":{"shasum":"96659c7630d433ab9a4ee50b8cfa49fdbd325e89","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.7.0.tgz","fileCount":483,"integrity":"sha512-IawDSHpJEn0A+t6V9ajiLQkkLXWqe7valYASiteComLEGOqHrAC6dWi7yoFjUQkKa6wPcMzcODR7Ko+7Sp04Nw==","signatures":[{"sig":"MEYCIQDGRQozqt8ppnITxrBtHaKb/qd+1PFoTH3+357fq9WK+AIhAPuShh80jtd+8hAkIzW0/H2J/JmoQhhism3nqwaAOvDf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5055413},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"c351afdb262cdda94fbed08d4ffe6e4a73b40823","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:gates","start":"node src/api/server.js","test:api":"node --test tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","test:gates":"node --test tests/gates-engine.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:workflow":"node --test tests/workflow-contract.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node bin/cli.js cfo","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","prove:autoresearch":"node scripts/prove-autoresearch.js","test:training-export":"node --test tests/training-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"The Universal Context & Memory Layer for Model Context Protocol (MCP) Agents. Centralized hub to consolidate failures and enforce architectural guardrails.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.7.0_1773347938368_0.9336599242209644","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"mcp-memory-gateway","version":"0.7.1","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.7.1","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"43ab3aba8cf7a37d7b1fb5e7e3d141ef5c64e630","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.7.1.tgz","fileCount":131,"integrity":"sha512-pNTVGM1OdNT9a6TAJk3kHYzmoEeDZWtc2uqOXPP5gd0HNgozJy1YHXWwgDI3NhEsqIiszui1KUR2lITHCS5fxQ==","signatures":[{"sig":"MEQCIHHldZNnPIr+uQgAxO6WpvovKb0QfRuba93cd+mGOsenAiBHbboQdWux7Kg7icXGdrU/+2/3emKpW9pBUzT4VQH9bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041051},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"0dc54610f93a2e948c500d53def40ac3c30cbfd0","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:gates","start":"node src/api/server.js","test:api":"node --test tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","test:gates":"node --test tests/gates-engine.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:workflow":"node --test tests/workflow-contract.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node bin/cli.js cfo","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","prove:autoresearch":"node scripts/prove-autoresearch.js","test:training-export":"node --test tests/training-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"11.11.0","description":"The Universal Context & Memory Layer for Model Context Protocol (MCP) Agents. Centralized hub to consolidate failures and enforce architectural guardrails.","directories":{},"_nodeVersion":"25.8.0","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.7.1_1773408931038_0.7154790325979814","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"mcp-memory-gateway","version":"0.7.2","keywords":["rlhf","mcp","ai-agents","context-engineering","always-on-memory","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-loop"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.7.2","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"8f4d85c1064c9dfe645b1fad07c3828fcbe27adb","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.7.2.tgz","fileCount":158,"integrity":"sha512-gAsaexsb+I5mcnX1Zc2vbSR3KupTbA+QBRw0wnGCBE5Edwzt9mYCGEnmszs2hY4W3GalLUqog/LyF4Ima1oPDg==","signatures":[{"sig":"MEUCIQDbsoYrn/Pz5Ta21ETV1mDY1ha6NrX+r+IWziPdwWvPdQIgW/QcOB+jB9Q18lesrGWKi+I0Elc+A8PIaQEMcNCwJL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1393718},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"0fa04d358500a21ba979dabb02b8cae278550703","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node bin/cli.js cfo","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first reliability layer for AI coding agents. Resume sessions faster, recall project decisions, and block repeated mistakes without orchestration overhead.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.7.2_1773862202902_0.3742318465881893","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"mcp-memory-gateway","version":"0.7.3","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.7.3","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"22752609b2ef822bf856c6d2bae342bd6515d841","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.7.3.tgz","fileCount":169,"integrity":"sha512-13H5sCGSbMdOfp6O3wLPtqpEYDI1McFrbIWEaP2GsPUNLJyjyR2mdgoATiiAgp2R9tMNoG1gq8QVSzRX8OAKmA==","signatures":[{"sig":"MEQCIF4ayNvLnXiHIxx7aKnttJY6A/9e7ap2qmwq6a5AleFEAiAJdKS7eKIRjXKSGtp08Wp0p675Hwu9E+9+zFt+eyL/aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1773781},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"2b6b2e9ce263320d52c2a874d9bbcc815930604c","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node bin/cli.js cfo","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"Pre-action gates that block AI coding agents from repeating known mistakes. Captures feedback, auto-promotes failures into prevention rules, and enforces them via PreToolUse hooks.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.44.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.7.3_1773957073491_0.48155088967133164","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"mcp-memory-gateway","version":"0.7.4","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.7.4","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"163ea3e927b2b6c52815003d9e5edb7e286f9bc5","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.7.4.tgz","fileCount":180,"integrity":"sha512-C8SMY5x+0W1lzqpxBfEFeyPRxWni0G5OmD2ZsX2Z0q63Ly4BD2stxJVPGB0zveUS/54V980lot4Usb8myzt2eg==","signatures":[{"sig":"MEUCIQDFpFuhaTm4SzV+53bOi7n9pnPPndo6uxg11xJ20X+LjAIgQW/1XZux5opdpK2h5CnprrhlcWFiy0nWu2ICJ6WSh2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1917749},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"df5f93daf2a79f1972a44b6a74848996764049e4","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-automation.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","self-heal:run":"node scripts/self-heal.js","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","revenue:status:local":"node bin/cli.js cfo","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"Pre-action gates that block AI coding agents from repeating known mistakes. Captures feedback, auto-promotes failures into prevention rules, and enforces them via PreToolUse hooks.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","@lancedb/lancedb":"^0.26.2","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.7.4_1774027094902_0.8850744029000062","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"mcp-memory-gateway","version":"0.7.5","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.7.5","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"8f497854200595c68002963e3365b0a0d1308a55","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.7.5.tgz","fileCount":228,"integrity":"sha512-4zSuPbQ6QcFNoXezpLNcbwoUg39A6fquvvKmyMCd3hEAUVFQAKabI+t1BzWEMZ41g6TG8748v5XQG7KT7lFylg==","signatures":[{"sig":"MEUCIHhDbqcEYxk7dZgCtlnrwo3OeCJuZMBW/dpTKKwmW/fKAiEAuzKHReqvdJZC0XAc5r6GJfdg2xQW6rZQpwhHpvFPUUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2318745},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"b34ae76a00c99a1c22a297e706626660a8df5563","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js && node --test tests/prove-automation.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","audit:stats":"node scripts/audit-trail.js --stats","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","social:queue":"node scripts/social-pipeline.js queue","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","self-heal:run":"node scripts/self-heal.js","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:social-analytics":"node --test tests/social-analytics.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"Pre-action gates that block AI coding agents from repeating known mistakes. Dual-memory recall (MemAlign-inspired principles + episodic context). Captures feedback, auto-promotes failures into prevention rules, and enforces them via PreToolUse hooks.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"optionalDependencies":{"shieldcortex":"^3.4.32"},"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.7.5_1774391167622_0.49373420525352896","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"mcp-memory-gateway","version":"0.8.0","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.0","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"14ae5a16b4a8033523fb32a8573b533b9f568129","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.0.tgz","fileCount":229,"integrity":"sha512-PBynzWDyPc3M1lRUiVv/somjrJ13v2L7qZckGsrXkL9oCzs9B5SKqxzebysR/FhI2uRldFfNY+QMmLIAKbbBfw==","signatures":[{"sig":"MEYCIQDnbnt6JKqHkEQcM83RMrZw64e1QRRdFg8BxltTMNfXlQIhAOB3Vghhfouvy6TsqN4K9GcetdMpu0OUxFzBAyRypXQu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2259771},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"b1c6a97d8a699f0232df7dcf06ecc3a6cffd45a5","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js && node --test tests/prove-automation.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","audit:stats":"node scripts/audit-trail.js --stats","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","social:queue":"node scripts/social-pipeline.js queue","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","self-heal:run":"node scripts/self-heal.js","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:lesson-db":"node --test tests/lesson-db.test.js","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:social-analytics":"node --test tests/social-analytics.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. Dual-memory recall (MemAlign-inspired principles + episodic context). Captures feedback, auto-promotes failures into preven","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"optionalDependencies":{"shieldcortex":"^3.4.32"},"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.0_1774476722805_0.5797348216124558","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"mcp-memory-gateway","version":"0.8.1","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.1","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"1dd492143221b42fb7da8f3c26af2aac14ab690e","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.1.tgz","fileCount":232,"integrity":"sha512-cqgycdBR87xX1Rk2ua2NQLhF8COLS09CYO58QzTsQG0t5ihsAfSE0xMkDB5dcNdZFiA6ILZgyegVzUDO2cE6+A==","signatures":[{"sig":"MEYCIQCh3DL5W8QAfJsK/QsIsISA86q+vPLDI/6NHT0QJ2ADbAIhANDFb3xsMhWrrdLTABKVtwBQu04Xrh1rjtBD5LcLy05c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2289864},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"4cec312172ec1a16d7e44e8ffe053a0353854664","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js && node --test tests/prove-automation.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","audit:stats":"node scripts/audit-trail.js --stats","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","social:queue":"node scripts/social-pipeline.js queue","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","self-heal:run":"node scripts/self-heal.js","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:lesson-db":"node --test tests/lesson-db.test.js","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"optionalDependencies":{"shieldcortex":"^3.4.32"},"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.1_1774535557665_0.964703811877383","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"mcp-memory-gateway","version":"0.8.2","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.2","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"cd2489af720df4696ae32c2f065e290d53dba257","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.2.tgz","fileCount":233,"integrity":"sha512-WrKQgQKXl5f6QGPDVtJtCNEm33xDhdug7Vpg7XStEiEH3LAr67uSf0BEsWu8AtL4I3LQvxz024NFHGG5F4TKlw==","signatures":[{"sig":"MEYCIQCUScdPoJavaYcisXvSPhiZNzuoaW9duxtrJjsUuCgRLAIhAM16HVp11OLb5VbiNWKyq/3DzXXUJQdETstBHxczejvF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2277284},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"83bc017cf3b0a677946c6f5f863e3b061396e5af","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","audit:stats":"node scripts/audit-trail.js --stats","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","social:queue":"node scripts/social-pipeline.js queue","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","self-heal:run":"node scripts/self-heal.js","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"optionalDependencies":{"shieldcortex":"^3.4.32"},"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.2_1774544259397_0.14767956446752084","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"mcp-memory-gateway","version":"0.8.3","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.3","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"d7416b85e555fa686f399e67196ceadcd10a276e","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.3.tgz","fileCount":234,"integrity":"sha512-1CkJ6ssSk89S4uHGhjsAwkdQjb6l7iQ4aBD4ocXbMxStUFOiY2A7CG6mgL0gDTYhdyTuqGJ2PUOC4U5z12oQ/g==","signatures":[{"sig":"MEYCIQDhaGbuYI/Wbcoiu1mtDNR3myHeBYDdRDTJK5IEEmFHLwIhAI1IEMVpoYC884wmYSpZOV3j0Lua2TBbyWVP7GfdkM66","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2311450},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"7ac2dafeaa95b9ddfb8492f9183bcc00d717f743","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","audit:stats":"node scripts/audit-trail.js --stats","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","social:queue":"node scripts/social-pipeline.js queue","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","self-heal:run":"node scripts/self-heal.js","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"dotenv":"^17.3.1","stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"optionalDependencies":{"shieldcortex":"^3.4.32"},"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.3_1774561996118_0.44913697860456403","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"mcp-memory-gateway","version":"0.8.4","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.4","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/mcp-memory-gateway/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"e67a4aeee1e2eb9c338bb3c385db471ee2935867","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.4.tgz","fileCount":239,"integrity":"sha512-w9nCzQ2Wc2/ZPlHhgxc/S5AwXIm2S/065dlmkw9iXG38Y39UoCa5Cxx4DndjN/iyHT6rJ1p6O/zBL/7zziWhjw==","signatures":[{"sig":"MEUCIQCFPNV639J5ZYxlhLr0oeFG97SrImNcFdAdZFzze5M8hgIgRz19BOAezGp+hFdQzdQaNkGi99xg+KYZuKNASQ0EouA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2354060},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"f07106c75e8f5b100f01daafd2b3d38c682096af","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:verify-run","start":"node src/api/server.js","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/aider-integration.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","aider:kimi":"node scripts/aider-launch.js kimi","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","aider:qwen3":"node scripts/aider-launch.js qwen3","audit:stats":"node scripts/audit-trail.js --stats","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","social:queue":"node scripts/social-pipeline.js queue","test:billing":"node --test tests/billing.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","self-heal:run":"node scripts/self-heal.js","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:hf-papers":"node --test tests/hf-papers.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","aider:architect":"node scripts/aider-launch.js architect --architect","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:verify-run":"node --test tests/verify-run.test.js","aider:smoke:kimi":"node scripts/aider-smoke.js kimi","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","aider:smoke:qwen3":"node scripts/aider-smoke.js qwen3","aider:verify:full":"node scripts/aider-verify.js full","build:claude-mcpb":"node scripts/build-claude-mcpb.js","test:autoresearch":"node --test tests/autoresearch.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","aider:verify:quick":"node scripts/aider-verify.js quick","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/mcp-memory-gateway.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"dotenv":"^17.3.1","stripe":"^20.4.1","apache-arrow":"^18.1.0","@google/genai":"^1.46.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"optionalDependencies":{"shieldcortex":"^3.4.32"},"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.4_1774636325069_0.8927225234330336","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"mcp-memory-gateway","version":"0.8.5","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.5","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"148a30285fcb2f5cee96b54536b74f3e80624a5b","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.5.tgz","fileCount":267,"integrity":"sha512-2adkQWsyJBd+RXvPVibGjJiTkveZSdCZzleMgmdvUdT2BMT3aSrXn9/6MCrNfuhq+Zm6waZYclNnhnBS3/Epxg==","signatures":[{"sig":"MEQCIC5N1UPF70KnqYCER1M2HACY8SOXJ888/tqy0YBJ3+5tAiB+EodLCd4TEsefkZf3sgu4it+rGnFwzCaEuQ2O+mGFtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2667948},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"0dbed5c38c4989577d5fdebd69ae39d500d25c0d","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/analytics-report.test.js tests/cli.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:hf-papers":"node --test tests/hf-papers.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.5_1774985540330_0.7253090535180846","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"mcp-memory-gateway","version":"0.8.6","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.6","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"52a3c16e96232489c4ecd3a00a9c3486d6aa81c9","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.6.tgz","fileCount":298,"integrity":"sha512-xeWqXrHevAfb/ZuHZZEb1/mfIFGKdEuJAoxHQ/JYdhv9joDq/sYkptBUWqIQhB9YfLvq9YRsS9UCGlXZWjMljg==","signatures":[{"sig":"MEQCIBhRQA9tEJnjbQJzDKD8hWTNnabJiGzRjhv4bs1+kAUcAiBZIiYbVR05SDtao54dnHZbEue7KMapEcUDy4Ks9Q0FMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2837780},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"eddf7de3942ce15e5fe1ac7a41921964f69660b1","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/analytics-report.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.6_1775070335708_0.4706316877122827","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"mcp-memory-gateway","version":"0.8.7","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.7","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"d479a31d86957c855d283332da07a2bc26cee281","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.7.tgz","fileCount":300,"integrity":"sha512-lecIP0aF78PEFgqC8jY63oI5KLgPgNe9dttpluCDHgwMMBP1GCKlGLFcm4okl5/aGeCFOcAXnn+XNUI/K7X0oA==","signatures":[{"sig":"MEUCIDr4wjcFE0SEibHh8hk9uwvaKtW0CSK1ySgezUVol/TDAiEAyLz9G+wIROtMtRZh1dGLAtwTXjnPDscx4GKzxcEMHyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2897416},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"99f77a67e95673dbc992c0fbcc5a9062ececd627","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.7_1775082400095_0.9261371585091229","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"mcp-memory-gateway","version":"0.8.8","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.8","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"911484d774385cec4e80acefd2b2b02b781851e5","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.8.tgz","fileCount":311,"integrity":"sha512-N3JDsp7WzoMnAtRlHhfp4x1uwPC808Olbs89AZmkW3gwifwAA1kjEPyk1L/IDIs5AZhF40ugLfksJdQVa1r8yw==","signatures":[{"sig":"MEUCIQCFFne0qE8xrbPBxLO9NDCS9y3imTKtYrtZ95KkSUTrCQIgfbTKSsq5KlXlm32eIhNSHWziOPEYyt4Bx7kFzQ8p7TI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2997421},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"b1df1da4c3549a3ac83c57c7e88b07846ee7de8e","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.8_1775139646901_0.7419203411952817","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"mcp-memory-gateway","version":"0.8.9","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.8.9","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"349b0043793fe5c6ea9462c26b69951705d1fdaa","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.8.9.tgz","fileCount":312,"integrity":"sha512-m3R/PpP8ZKiHUcPtpoihRRU2rT0YgFP1xEs2IzymLgBVAne514462B8CPxYlmw8L/Y3NkdjhEaljoMgwwoR+pQ==","signatures":[{"sig":"MEQCIFo2YfdtmH7iB76ooTLekofePthfs12YW3I9bfJwhH+VAiAy1Zx3Jxcm6opkjrMn8x3rprbheh/xmhGBGVMWQiuyvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3001879},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"3bb8a40416a8562eb808c872aaeb2d89f258885a","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.8.9_1775143374228_0.28302536938471046","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"mcp-memory-gateway","version":"0.9.0","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.0","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"5815b29ce5077569a6842bae9c840cafc552d0ad","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.0.tgz","fileCount":317,"integrity":"sha512-08Y9C+Y67GucbdGUOAlZlubNX68QGNLn2RkQFn85NQvqi6J/4wVhY0tQVVkYVhrThqNSiesv3+L1D5jzbNV5ig==","signatures":[{"sig":"MEQCIEcFJV+2OS4n2yYspoJPIsxYk1xfvjvDhJvF5DkYr5ooAiA325FOK6lHZId06NdFo+sgivtoTL1g1/PG206IifiU9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3035188},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"365a9f8d1f0bbf54cc3106410c47a6d7d337016f","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.0_1775156122895_0.8639396167929208","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"mcp-memory-gateway","version":"0.9.1","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.1","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"36b9a02470743f41be2aa2fd0a0da9509f4bebbb","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.1.tgz","fileCount":322,"integrity":"sha512-VXXqjziOl+NQESSTdVu88MDMbnb3fJSTTLowM0/d7F+SBMERWkuHRtQ05VxXj2vucaLzBB/B71lsrOPyo+HKAw==","signatures":[{"sig":"MEQCIDZTDeYJLVuIQBW2Va10l6AsoTeeRmFA32o+VUukv4AMAiAc2T/YvJqZ4agcX5bfhZFJ+GB4R6ozc4qbzjnwhPqshA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3103456},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"7a489f3110dc35ee1a1a2313f102d3b867d52023","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.1_1775156839620_0.6575003437896838","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"mcp-memory-gateway","version":"0.9.2","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.2","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"7c64423ef6d15b189d2982c48da4deb13a755fa0","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.2.tgz","fileCount":324,"integrity":"sha512-wPOP+D1YMvISvkoEiIpKZMGLu563iAxxLoWSEzSQjkuaUMwknJcV+056XQmbVg61zJqUHXBWFJuHiB0cL6n6gg==","signatures":[{"sig":"MEUCIH+Qb3wXxP8YjKKU0Q9XXxQuTSkqgXcEBiRmR2XNDPKTAiEAs4G3PBJtO6XuGgtBnTunZm9lX6rrRXRxtiUtgDNGheU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3109555},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"602bb011b83868f48e44446ebbfe6a72d4069b41","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:control-tower","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.2_1775157266505_0.11363731285704048","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"mcp-memory-gateway","version":"0.9.3","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.3","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"95f655a5b1a42e578a0bfc6c6c17f1472c444b7a","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.3.tgz","fileCount":326,"integrity":"sha512-Qi347NUM6qXlY34j30UoOF9uvCaFcnvDviuFFmwwDV6b3x4+Fzkvlu/3N1Zw8YTUTHlQ+czfsGrRKXtxDEZCWg==","signatures":[{"sig":"MEUCIQCX/isgT+OiWkMTZbG9n72QO7fpd6axfu/uZCz7vzO/yAIgabWdbFqX8FJNqETVzTgNZBgx6yd6D7hMLGWWrSCjwv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3130271},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"22973641a16008d00fc185b853661c0f4bf4320d","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.3_1775157936899_0.9883375651542541","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"mcp-memory-gateway","version":"0.9.4","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.4","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"b90fb3e53c9736a62f983ea8a669e31df38585eb","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.4.tgz","fileCount":331,"integrity":"sha512-A/+lB+mueb5ICzMtXI5v4iJ2DkS/1ZqfelwHWLElxJ54w2rnCPiTvCtCz0mE3IuRcc/KzjGPBUGYRyu6gJYrZQ==","signatures":[{"sig":"MEYCIQDaq5hEbQ4RpPD169tmyW+Hj2/HvPii8otuXHbtMdz1ygIhAIWU18pFXdiFxjVRCf80iXEpJACYJsDCaoZLJdunM2Go","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3196259},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"765ad6c21b607d05f5b5a430ad111645676ba526","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:predictive-insights && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:hallucination && npm run test:lesson-inference && npm run test:history-distiller","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-predictive-insights.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hallucination":"node --test tests/hallucination-detector.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/lesson-inference.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","prove:predictive-insights":"node scripts/prove-predictive-insights.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.4_1775160627264_0.22270113486233956","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"mcp-memory-gateway","version":"0.9.5","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.5","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"006b4da20bb837b107202d9e7f75819afff7ff59","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.5.tgz","fileCount":333,"integrity":"sha512-KDylBPQrVRe7ql8gxRIrfjcdsekMKz6v7rEyCxMOscq4b1k1qxGy1WAZ6TjnufZg/uGv4zHJ5IFnsfIRt5xnBQ==","signatures":[{"sig":"MEUCIAyYwwVh6B7dKarZ082CDzBeotDM1gfxrkChRNQXAxY3AiEAh/1+UTcQ91DO0zu8G0RGI/abjEqkLx9OmTZUaek65Wk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3205791},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"7079997e6f3cfdd290cc5eb7d1046f6e9be9219b","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:predictive-insights && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:hallucination && npm run test:lesson-inference && npm run test:history-distiller && npm run test:statusbar-cli","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-predictive-insights.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hallucination":"node --test tests/hallucination-detector.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:statusbar-cli":"node --test tests/statusbar-cli.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/lesson-inference.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","prove:predictive-insights":"node scripts/prove-predictive-insights.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.5_1775161415112_0.23957114774445354","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"mcp-memory-gateway","version":"0.9.6","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.6","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"ae30c7f0b45e6ee5adb0d0d699c375ad9e43712b","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.6.tgz","fileCount":345,"integrity":"sha512-L9srqqOpHPGoWqF2Rh/1dqDxJlMAWxiGk7pnvgtVCTDq3mLoQIKgTGOF4rlAP1ZwW1RMXrYyTbysgyuDHK3wQQ==","signatures":[{"sig":"MEYCIQDkzVhtKED+1S687/mCfldJAEBfDVfLi9wV1j7Tz7aRwQIhAOmvN2A31TpgYIO0xQeED6BkygfLlKfNik2MMDcslTiW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3473832},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"609575b763e2d266c8d65649086ad663f273de19","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:lesson-retrieval && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:background-governance","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:statusbar-cli":"node --test tests/statusbar-cli.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:reflector-agent":"node --test tests/reflector-agent.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:feedback-session":"node --test tests/feedback-session.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/conversation-context.test.js tests/lesson-inference.test.js","test:lesson-retrieval":"node --test tests/lesson-retrieval.test.js","test:lesson-synthesis":"node --test tests/lesson-synthesis.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:background-governance":"node --test tests/background-governance.test.js","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","test:hallucination-detector":"node --test tests/hallucination-detector.test.js","test:generate-instagram-card":"node --test tests/generate-instagram-card.test.js","test:instagram-thumbgate-post":"node --test tests/instagram-thumbgate-post.test.js","test:prove-predictive-insights":"node --test tests/prove-predictive-insights.test.js","test:feedback-history-distiller":"node --test tests/feedback-history-distiller.test.js","test:publish-instagram-thumbgate":"node --test tests/publish-instagram-thumbgate.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.6_1775234978254_0.554868554625279","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"mcp-memory-gateway","version":"0.9.7","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.7","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"5e0022e5911554781954d8bd404e58374baa808b","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.7.tgz","fileCount":352,"integrity":"sha512-gUmoguwsPxjKs+xKFquz/L9y70Gwvs6l5IuYP1lXPiRTkfrEfjDlmo9WKrvyKOehbEQgBDxt9RScxM9DB26gIQ==","signatures":[{"sig":"MEYCIQCFx3F1V0R+6Ahqs9WGF3zxiN+kX/deosSG+3as4tpWewIhAMRKKuwHxRxvqH9RP6nNrNJ3PJDBgpwCr/flgvIo0lTw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3556484},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"55b71f2ab522f0a67333ba05a43ef88d6c42253f","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:lesson-retrieval && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:prompt-dlp":"node --test tests/prompt-dlp.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:statusbar-cli":"node --test tests/statusbar-cli.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:ephemeral-store":"node --test tests/ephemeral-agent-store.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:reflector-agent":"node --test tests/reflector-agent.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:feedback-session":"node --test tests/feedback-session.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/conversation-context.test.js tests/lesson-inference.test.js","test:lesson-retrieval":"node --test tests/lesson-retrieval.test.js","test:lesson-synthesis":"node --test tests/lesson-synthesis.test.js","test:memory-migration":"node --test tests/memory-migration.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:cloudflare-sandbox":"node --test tests/cloudflare-dynamic-sandbox.test.js tests/cloudflare-sandbox-api.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:cloudflare-sandbox":"node scripts/prove-cloudflare-sandbox.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","prove:predictive-insights":"node scripts/prove-predictive-insights.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:background-governance":"node --test tests/background-governance.test.js","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","test:hallucination-detector":"node --test tests/hallucination-detector.test.js","test:generate-instagram-card":"node --test tests/generate-instagram-card.test.js","test:instagram-thumbgate-post":"node --test tests/instagram-thumbgate-post.test.js","test:prove-predictive-insights":"node --test tests/prove-predictive-insights.test.js","test:feedback-history-distiller":"node --test tests/feedback-history-distiller.test.js","test:publish-instagram-thumbgate":"node --test tests/publish-instagram-thumbgate.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.7_1775239896682_0.9870811315751136","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"mcp-memory-gateway","version":"0.9.8","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.8","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"485d74c3ff24cdd3b3dded7e0a6914b5520664b4","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.8.tgz","fileCount":353,"integrity":"sha512-5onNTJT58vUzbIm8FQxHj2wpW465yPaZnhfYmIjoLzwdHxkWUqlk+q79Hf0U2WHeDez082Em4APLUi24w5oqJg==","signatures":[{"sig":"MEUCIQCyO3vOsaGk/uNv/ucDAGAVfiGIqYpbIlJfpw71vML0+wIgH7MfdX2ZOPtfUrta6vepSQa9dUrxXELfwRLepK6mG3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3565467},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"f849447850918543c8a9ef8ace7c768c770d67d3","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:lesson-retrieval && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:prompt-dlp":"node --test tests/prompt-dlp.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:statusbar-cli":"node --test tests/statusbar-cli.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:agent-security":"node --test tests/agent-security.test.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:ephemeral-store":"node --test tests/ephemeral-agent-store.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:reflector-agent":"node --test tests/reflector-agent.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:feedback-session":"node --test tests/feedback-session.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/conversation-context.test.js tests/lesson-inference.test.js","test:lesson-retrieval":"node --test tests/lesson-retrieval.test.js","test:lesson-synthesis":"node --test tests/lesson-synthesis.test.js","test:memory-migration":"node --test tests/memory-migration.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:cloudflare-sandbox":"node --test tests/cloudflare-dynamic-sandbox.test.js tests/cloudflare-sandbox-api.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:cloudflare-sandbox":"node scripts/prove-cloudflare-sandbox.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","prove:predictive-insights":"node scripts/prove-predictive-insights.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:background-governance":"node --test tests/background-governance.test.js","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","test:hallucination-detector":"node --test tests/hallucination-detector.test.js","test:generate-instagram-card":"node --test tests/generate-instagram-card.test.js","test:instagram-thumbgate-post":"node --test tests/instagram-thumbgate-post.test.js","test:prove-predictive-insights":"node --test tests/prove-predictive-insights.test.js","test:feedback-history-distiller":"node --test tests/feedback-history-distiller.test.js","test:publish-instagram-thumbgate":"node --test tests/publish-instagram-thumbgate.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.8_1775240913250_0.06019761107896704","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"mcp-memory-gateway","version":"0.9.9","keywords":["rlhf","mcp","ai-agents","context-engineering","pre-action-gates","ai-agent-safety","guardrails","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.9","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://rlhf-feedback-loop-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"6857e2889e5ec0e64966546156e84ea3c11d025f","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.9.tgz","fileCount":356,"integrity":"sha512-O/AGHrRjUjjK8MoYVUDRf4ZyaFvLskrwIMdSX72SCHQad+j0Y7s5n2aT2P+vUG0aeDHzCgM5xpxq6dxFjcsYwQ==","signatures":[{"sig":"MEUCIFTBFoLp4rznHS7EJkGhodMA+V/2zTF8FLnrVwr3IYEiAiEAvkXWg5WUgzEf25QgiPryWKF8dwOg35yvks8LNLLk74k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3570917},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"3f4291b4e2b68b95bfd34d5b492f1af31a5be5c9","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:lesson-retrieval && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security && npm run test:skill-progressive","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/rlhf-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:prompt-dlp":"node --test tests/prompt-dlp.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:statusbar-cli":"node --test tests/statusbar-cli.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:agent-security":"node --test tests/agent-security.test.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:ephemeral-store":"node --test tests/ephemeral-agent-store.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:reflector-agent":"node --test tests/reflector-agent.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:feedback-session":"node --test tests/feedback-session.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/conversation-context.test.js tests/lesson-inference.test.js","test:lesson-retrieval":"node --test tests/lesson-retrieval.test.js","test:lesson-synthesis":"node --test tests/lesson-synthesis.test.js","test:memory-migration":"node --test tests/memory-migration.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","test:skill-progressive":"node --test tests/skill-progressive-disclosure.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:cloudflare-sandbox":"node --test tests/cloudflare-dynamic-sandbox.test.js tests/cloudflare-sandbox-api.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:cloudflare-sandbox":"node scripts/prove-cloudflare-sandbox.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","prove:predictive-insights":"node scripts/prove-predictive-insights.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:background-governance":"node --test tests/background-governance.test.js","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","test:hallucination-detector":"node --test tests/hallucination-detector.test.js","test:generate-instagram-card":"node --test tests/generate-instagram-card.test.js","test:instagram-thumbgate-post":"node --test tests/instagram-thumbgate-post.test.js","test:prove-predictive-insights":"node --test tests/prove-predictive-insights.test.js","test:feedback-history-distiller":"node --test tests/feedback-history-distiller.test.js","test:publish-instagram-thumbgate":"node --test tests/publish-instagram-thumbgate.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.3.1","stripe":"^21.0.1","apache-arrow":"^18.1.0","@google/genai":"^1.47.0","better-sqlite3":"^12.8.0","playwright-core":"^1.58.2","@lancedb/lancedb":"^0.27.1","@huggingface/transformers":"^3.8.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.9_1775241557452_0.22074255818134647","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"mcp-memory-gateway","version":"0.9.10","keywords":["rlhf","mcp","mcp-server","ai-agents","agent-skills","skill","context-engineering","pre-action-gates","ai-agent-safety","guardrails","feedback-memory","thumbgate","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex","safety","enforcement"],"author":{"name":"Igor Ganapolsky"},"license":"MIT","_id":"mcp-memory-gateway@0.9.10","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"homepage":"https://thumbgate-production.up.railway.app","bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"bin":{"rlhf":"bin/cli.js","mcp-memory-gateway":"bin/cli.js"},"dist":{"shasum":"7895c6c9096767ecb72240fdea89c2d43ce94a9e","tarball":"https://registry.npmjs.org/mcp-memory-gateway/-/mcp-memory-gateway-0.9.10.tgz","fileCount":365,"integrity":"sha512-F0rwk3am28lJm8QGRKG8/3DeTOE5QkdUzwcpHYgH0RZQakPBxpEpiV8iqUy2eIGko93ah0TJh2eDRjucJ0lB3Q==","signatures":[{"sig":"MEQCICXNNIZXWLrKvPFtmypPfG+Ojw6SRClifS+7z/a0eCyRAiBFxAe1XKZIu+EDDojomj3s1ZqH7Clvj7OAQdkT4R0I7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3675494},"main":"scripts/feedback-loop.js","engines":{"node":">=18.18.0"},"funding":[{"url":"https://github.com/sponsors/IgorGanapolsky","type":"github"},{"url":"https://buymeacoffee.com/igorganapolsky","type":"individual"}],"gitHead":"0e7ecc5a7ec00496761ed4131262628d12235ffd","mcpName":"io.github.IgorGanapolsky/mcp-memory-gateway","scripts":{"test":"npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:obsidian-export && npm run test:lesson-db && npm run test:lesson-rotation && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:lesson-retrieval && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security && npm run test:skill-progressive && npm run test:per-step-scoring && npm run test:weekly-auto-post && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator","start":"node src/api/server.js","seo:gsd":"node scripts/seo-gsd.js plan","test:api":"node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/contextfs.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-render-spec.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/thumbgate-search.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js","test:cli":"node --test tests/analytics-report.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/revenue-status.test.js","test:dpo":"node scripts/export-dpo-pairs.js --test","test:e2e":"node --test tests/e2e-pipeline.test.js tests/e2e-product-flows.test.js tests/e2e-coverage-contract.test.js","test:kto":"node --test tests/export-kto.test.js","test:ops":"node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/github-billing.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-webhook-route.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/test-suite-parity.test.js tests/a2ui-engine.test.js tests/webhook-delivery.test.js","test:utm":"node --test tests/utm.test.js","adk:watch":"node scripts/adk-consolidator.js --watch","pr:manage":"node scripts/pr-manager.js","start:api":"node src/api/server.js","start:mcp":"node adapters/mcp/server-stdio.js","test:loop":"node scripts/feedback-loop.js --test","cfo:report":"node bin/cli.js cfo","social:mcp":"node scripts/social-analytics/mcp-server.js","test:gates":"node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js","test:proof":"node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-subway-upgrades.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js","test:pulse":"node --test tests/pulse.test.js","test:rlaif":"node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js","test:tessl":"node --test tests/tessl-export.test.js","audit:stats":"node scripts/audit-trail.js --stats","postinstall":"node bin/postinstall.js || true","prove:tessl":"node scripts/prove-tessl.js","social:poll":"node scripts/social-analytics/poll-all.js","social:post":"node scripts/social-pipeline.js post","stripe:live":"node scripts/stripe-live-status.js","test:schema":"node scripts/feedback-schema.js --test","test:zernio":"node --test tests/zernio-integration.test.js","verify:full":"node scripts/verify-run.js full","skill:verify":"node scripts/tessl-export.js verify","social:queue":"node scripts/social-pipeline.js queue","tessl:export":"node scripts/tessl-export.js export","tessl:verify":"node scripts/tessl-export.js verify","test:billing":"node --test tests/billing.test.js","test:license":"node --test tests/license.test.js","test:quality":"node --test tests/validate-feedback.test.js","test:seo-gsd":"node --test tests/seo-gsd.test.js","test:watcher":"node --test tests/jsonl-watcher.test.js","test:workers":"npm --prefix workers ci && npm --prefix workers test","verify:quick":"node scripts/verify-run.js quick","budget:status":"node scripts/budget-guard.js --status","creator:links":"node scripts/creator-campaigns.js","deploy:policy":"node scripts/deploy-policy.js","profile:route":"node scripts/profile-router.js","prove:runtime":"node scripts/prove-runtime.js","prove:seo-gsd":"node scripts/prove-seo-gsd.js","prove:xmemory":"node scripts/prove-xmemory.js","self-heal:run":"node scripts/self-heal.js","seo:gsd:write":"node scripts/seo-gsd.js plan --write","social:digest":"node scripts/social-analytics/run-digest.js","social:poll:x":"node scripts/social-analytics/pollers/x.js","social:status":"node scripts/social-pipeline.js status","test:coverage":"node scripts/test-coverage.js","test:evoskill":"node --test tests/evoskill.test.js","test:memalign":"node --test tests/memalign.test.js","test:metaclaw":"node --test tests/metaclaw-features.test.js","test:workflow":"node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js","feedback:rules":"node scripts/feedback-to-rules.js --rules","feedback:stats":"node .claude/scripts/feedback/capture-feedback.js --stats","prove:adapters":"node --test tests/prove-adapters.test.js","prove:settings":"node scripts/prove-settings.js","revenue:status":"node scripts/revenue-status.js","social:prepare":"node scripts/social-pipeline.js prepare","social:publish":"node scripts/social-pipeline.js publish","test:evolution":"node --test tests/workspace-evolver.test.js","test:hf-papers":"node --test tests/hf-papers.test.js","test:learn-hub":"node --test tests/learn-hub.test.js","test:lesson-db":"node --test tests/lesson-db.test.js","test:plan-gate":"node --test tests/plan-gate.test.js","adk:consolidate":"node scripts/adk-consolidator.js","prove:evolution":"node scripts/prove-evolution.js","prove:harnesses":"node scripts/prove-harnesses.js","self-heal:check":"node scripts/self-healing-check.js","test:congruence":"node scripts/check-congruence.js","test:deployment":"node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js","test:mcp-config":"node --test tests/mcp-config.test.js","test:pro-parity":"node --test tests/pro-parity.test.js","test:prompt-dlp":"node --test tests/prompt-dlp.test.js","test:statusline":"node --test tests/statusline.test.js","test:verify-run":"node --test tests/verify-run.test.js","feedback:summary":"npm run test:api && node scripts/feedback-to-rules.js","gtm:revenue-loop":"node scripts/autonomous-sales-agent.js","prove:automation":"node --test tests/prove-automation.test.js","test:a2ui-engine":"node --test tests/a2ui-engine.test.js","test:attribution":"node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js","test:pii-scanner":"node --test tests/pii-scanner.test.js","test:postinstall":"node --test tests/postinstall.test.js","test:server-lock":"node --test tests/server-stdio-lock.test.js","build:claude-mcpb":"node scripts/build-claude-mcpb.js","github:about:sync":"node scripts/sync-github-about.js --write","test:autoresearch":"node --test tests/autoresearch.test.js","test:bot-detector":"node --test tests/bot-detector.test.js","test:gate-satisfy":"node --test tests/gate-satisfy.test.js","test:intelligence":"node --test tests/intelligence.test.js","test:memory-dedup":"node --test tests/memory-dedup.test.js","test:sync-version":"node --test tests/sync-version.test.js","test:xmemory-lite":"node --test tests/xmemory-lite.test.js","github:about:check":"node scripts/sync-github-about.js","prove:autoresearch":"node scripts/prove-autoresearch.js","social:poll:github":"node scripts/social-analytics/pollers/github.js","social:poll:reddit":"node scripts/social-analytics/pollers/reddit.js","social:poll:tiktok":"node scripts/social-analytics/pollers/tiktok.js","social:poll:zernio":"node scripts/social-analytics/pollers/zernio.js","test:belief-update":"node --test tests/belief-update.test.js","test:cli-telemetry":"node --test tests/cli-telemetry.test.js","test:control-tower":"node --test tests/control-tower.test.js","test:data-pipeline":"node --test tests/data-pipeline.test.js","test:hosted-config":"node --test tests/hosted-config.test.js","test:money-watcher":"node --test tests/money-watcher.test.js","test:org-dashboard":"node --test tests/org-dashboard.test.js","test:statusbar-cli":"node --test tests/statusbar-cli.test.js","test:synthetic-dpo":"node --test tests/synthetic-dpo.test.js","test:tool-registry":"node --test tests/tool-registry.test.js","prove:data-pipeline":"node scripts/prove-data-pipeline.js","social:poll:threads":"node scripts/social-analytics/pollers/threads.js","social:poll:youtube":"node scripts/social-analytics/pollers/youtube.js","test:agent-security":"node --test tests/agent-security.test.js","test:build-metadata":"node --test tests/build-metadata.test.js","test:context-engine":"node --test tests/context-engine.test.js","test:semantic-layer":"node --test tests/semantic-layer.test.js","test:skill-exporter":"node --test tests/skill-exporter.test.js","revenue:status:local":"node bin/cli.js cfo","social:poll:linkedin":"node scripts/social-analytics/pollers/linkedin.js","social:publish:queue":"node scripts/social-pipeline.js publish-queue","social:reply-monitor":"node scripts/social-reply-monitor.js","test:congruence:live":"node scripts/check-congruence.js --check-live","test:data-governance":"node --test tests/data-governance.test.js","test:ephemeral-store":"node --test tests/ephemeral-agent-store.test.js","test:gates-hardening":"node --test tests/gates-hardening.test.js","test:lesson-rotation":"node --test tests/lesson-rotation.test.js","test:memory-firewall":"node --test tests/memory-firewall.test.js","test:obsidian-export":"node --test tests/obsidian-export.test.js","test:reflector-agent":"node --test tests/reflector-agent.test.js","test:thumbgate-skill":"node --test tests/thumbgate-skill.test.js","test:training-export":"node --test tests/training-export.test.js tests/databricks-export.test.js","social:poll:instagram":"node scripts/social-analytics/pollers/instagram.js","social:poll:plausible":"node scripts/social-analytics/pollers/plausible.js","social:publish:zernio":"node scripts/social-analytics/publishers/zernio.js","test:analytics-window":"node --test tests/analytics-window.test.js","test:check-congruence":"node --test tests/check-congruence.test.js","test:export-dpo-pairs":"node --test tests/export-dpo-pairs.test.js","test:feedback-quality":"node --test tests/feedback-quality.test.js","test:feedback-session":"node --test tests/feedback-session.test.js","test:funnel-analytics":"node --test tests/funnel-analytics.test.js","test:lesson-inference":"node --test tests/conversation-context.test.js tests/lesson-inference.test.js","test:lesson-retrieval":"node --test tests/lesson-retrieval.test.js","test:lesson-synthesis":"node --test tests/lesson-synthesis.test.js","test:memory-migration":"node --test tests/memory-migration.test.js","test:multi-hop-recall":"node --test tests/multi-hop-recall.test.js","test:optimize-context":"node --test tests/optimize-context.test.js","test:per-step-scoring":"node --test tests/per-step-scoring.test.js","test:product-feedback":"node --test tests/product-feedback.test.js","test:social-analytics":"node --test tests/social-analytics.test.js","test:weekly-auto-post":"node --test tests/weekly-auto-post.test.js","social:post-everywhere":"node scripts/post-everywhere.js","test:feedback-fallback":"node --test tests/feedback-fallback.test.js","test:feedback-to-rules":"node --test tests/feedback-to-rules.test.js","test:filesystem-search":"node --test tests/filesystem-search.test.js","test:funnel-invariants":"node --test tests/funnel-invariants.test.js","test:history-distiller":"node --test tests/history-distiller.test.js","test:model-tier-router":"node --test tests/model-tier-router.test.js","test:skill-progressive":"node --test tests/skill-progressive-disclosure.test.js","prove:workflow-contract":"node --test tests/prove-workflow-contract.test.js","test:cloudflare-sandbox":"node --test tests/cloudflare-dynamic-sandbox.test.js tests/cloudflare-sandbox-api.test.js","test:experiment-tracker":"node --test tests/experiment-tracker.test.js","prove:claim-verification":"node scripts/prove-claim-verification.js","prove:cloudflare-sandbox":"node scripts/prove-cloudflare-sandbox.js","prove:local-intelligence":"node scripts/prove-local-intelligence.js","social:reply-monitor:dry":"node scripts/social-reply-monitor.js --dry-run","social:scheduler:install":"node scripts/social-pipeline.js install-scheduler","test:predictive-insights":"node --test tests/predictive-insights.test.js","test:principle-extractor":"node --test tests/principle-extractor.test.js","test:social-quality-gate":"node --test tests/social-quality-gate.test.js","prove:predictive-insights":"node scripts/prove-predictive-insights.js","test:marketing-experiment":"node --test tests/marketing-experiment.test.js","social:post-everywhere:dry":"node scripts/post-everywhere.js --dry-run","test:background-governance":"node --test tests/background-governance.test.js","test:computer-use-firewall":"node --test tests/computer-use-firewall.test.js","test:hallucination-detector":"node --test tests/hallucination-detector.test.js","test:generate-instagram-card":"node --test tests/generate-instagram-card.test.js","test:instagram-thumbgate-post":"node --test tests/instagram-thumbgate-post.test.js","test:prove-predictive-insights":"node --test tests/prove-predictive-insights.test.js","test:feedback-history-distiller":"node --test tests/feedback-history-distiller.test.js","test:feedback-root-consolidator":"node --test tests/feedback-root-consolidator.test.js","test:publish-instagram-thumbgate":"node --test tests/publish-instagram-thumbgate.test.js","revenue:repair:github-marketplace":"node bin/cli.js repair-github-marketplace --write"},"_npmUser":{"name":"igorganapolsky","email":"iganapolsky@gmail.com"},"overrides":{"express@4.22.1":{"path-to-regexp":"0.1.13"}},"deprecated":"This package has been renamed to 'thumbgate'. Install thumbgate instead: npm install thumbgate","repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"_npmVersion":"10.8.2","description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"dotenv":"^17.4.1","stripe":"^22.0.0","apache-arrow":"^18.1.0","@google/genai":"^1.48.0","better-sqlite3":"^12.8.0","playwright-core":"^1.59.1","@lancedb/lancedb":"^0.27.2","@huggingface/transformers":"^4.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-memory-gateway_0.9.10_1775492654196_0.9793252812358157","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-12T03:38:07.248Z","modified":"2026-04-06T19:39:47.057Z","0.6.13":"2026-03-12T03:38:07.532Z","0.6.14":"2026-03-12T03:54:33.220Z","0.6.15":"2026-03-12T03:57:22.144Z","0.6.16":"2026-03-12T04:54:47.037Z","0.7.0":"2026-03-12T20:38:58.706Z","0.7.1":"2026-03-13T13:35:31.206Z","0.7.2":"2026-03-18T19:30:03.101Z","0.7.3":"2026-03-19T21:51:13.695Z","0.7.4":"2026-03-20T17:18:15.121Z","0.7.5":"2026-03-24T22:26:07.783Z","0.8.0":"2026-03-25T22:12:03.057Z","0.8.1":"2026-03-26T14:32:37.843Z","0.8.2":"2026-03-26T16:57:39.590Z","0.8.3":"2026-03-26T21:53:16.346Z","0.8.4":"2026-03-27T18:32:05.309Z","0.8.5":"2026-03-31T19:32:20.619Z","0.8.6":"2026-04-01T19:05:35.904Z","0.8.7":"2026-04-01T22:26:40.336Z","0.8.8":"2026-04-02T14:20:47.095Z","0.8.9":"2026-04-02T15:22:54.396Z","0.9.0":"2026-04-02T18:55:23.141Z","0.9.1":"2026-04-02T19:07:19.879Z","0.9.2":"2026-04-02T19:14:26.773Z","0.9.3":"2026-04-02T19:25:37.131Z","0.9.4":"2026-04-02T20:10:27.475Z","0.9.5":"2026-04-02T20:23:35.454Z","0.9.6":"2026-04-03T16:49:38.484Z","0.9.7":"2026-04-03T18:11:36.862Z","0.9.8":"2026-04-03T18:28:33.460Z","0.9.9":"2026-04-03T18:39:17.701Z","0.9.10":"2026-04-06T16:24:14.476Z"},"bugs":{"url":"https://github.com/IgorGanapolsky/ThumbGate/issues"},"author":{"name":"Igor Ganapolsky"},"license":"MIT","homepage":"https://thumbgate-production.up.railway.app","keywords":["rlhf","mcp","mcp-server","ai-agents","agent-skills","skill","context-engineering","pre-action-gates","ai-agent-safety","guardrails","feedback-memory","thumbgate","llmops","dpo","agentic-commerce","agent-quality","commerce","prevention-rules","thompson-sampling","memalign","dual-memory","feedback-to-enforcement-pipeline","claude-code","claude-skill","claude-plugin","cursor","codex","safety","enforcement"],"repository":{"url":"git+https://github.com/IgorGanapolsky/ThumbGate.git","type":"git"},"description":"ThumbGate — Pre-action gates that block AI coding agents from repeating known mistakes. SQLite+FTS5 lesson DB with corrective-action inference. MemAlign-inspired dual recall (principles + episodic context). Thompson Sampling for adaptive gate sensitivity.","maintainers":[{"name":"igorganapolsky","email":"iganapolsky@gmail.com"}],"readme":"# ThumbGate\n\n> **npm package:** `mcp-memory-gateway` — install with `npx mcp-memory-gateway init`\n\n[![CI](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/ci.yml/badge.svg)](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/ci.yml)\n[![Self-Healing](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/self-healing-monitor.yml/badge.svg)](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/self-healing-monitor.yml)\n[![npm](https://img.shields.io/npm/v/mcp-memory-gateway)](https://www.npmjs.com/package/mcp-memory-gateway)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Node](https://img.shields.io/badge/node-%3E%3D18.18.0-brightgreen)](package.json)\n[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-pink?logo=github)](https://github.com/sponsors/IgorGanapolsky)\n[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-FFDD00?logo=buymeacoffee&logoColor=black)](https://buymeacoffee.com/igorganapolsky)\n[![Pro Pack](https://img.shields.io/badge/Pro%20Pack-%2419%2Fmo%20or%20%24149%2Fyr-635bff?logo=stripe&logoColor=white)](https://thumbgate-production.up.railway.app/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=thumbgate) — Free stays local-first with 5 daily feedback captures, 10 daily lesson searches, unlimited recall, and gating. Vague thumbs feedback can be distilled from the last ~10 messages and failed tool call. Pro adds a personal local dashboard, **Model Hardening Advisor**, and **LoRA/PEFT export**. Team rollout starts at the shared hosted lesson DB, org dashboard, and generated hosted review views.\n\n**Repo boundary:** this repository is the public base runtime (`mcp-memory-gateway`). The paid overlay now lives in the separate [`mcp-memory-gateway-pro`](https://github.com/IgorGanapolsky/mcp-memory-gateway-pro) repo/package and inherits from this base instead of shipping from a `pro/` subtree here.\n\n**Thumbs down a mistake. It never happens again.**\n\nThe safety net for vibe coding. Give your AI agent a thumbs-down and it auto-generates a prevention rule. Give a thumbs-up and it reinforces good behavior. Pre-action gates physically block the agent before it repeats a known mistake — a reliability layer for one sharp agent, without another planner or swarm.\n\n> **Honest disclaimer:** ThumbGate is context-engineered behavioral steering — it injects feedback into context to condition the model's behavior. It does not update model weights. Feedback becomes searchable memory, prevention rules, and gates that block known-bad actions before they execute.\n\nWorks with **Claude Code, Cursor, Codex, Gemini, Amp, OpenCode**, and any MCP-compatible agent.\n\n**[Live Demo Dashboard](https://thumbgate-production.up.railway.app/dashboard?utm_source=github&utm_medium=readme&utm_campaign=thumbgate)** | **[Setup Guide](https://thumbgate-production.up.railway.app/guide?utm_source=github&utm_medium=readme&utm_campaign=thumbgate)** | **[Landing Page](https://thumbgate-production.up.railway.app/?utm_source=github&utm_medium=readme&utm_campaign=thumbgate)** | **[Verification Evidence](docs/VERIFICATION_EVIDENCE.md)**\n\nMost memory tools only help an agent remember. ThumbGate also enforces.\n\n**The problem without it:**\n\n> BEFORE: Agent force-pushes to main. You correct it. Next session, it force-pushes again.\n\n**With ThumbGate (`mcp-memory-gateway`):**\n\n> AFTER: Gate blocks the force-push before it executes. Agent can't repeat the mistake.\n\n- `recall` injects the right context at session start.\n- `search_lessons` shows promoted lessons plus the corrective action, lifecycle state, linked rules, linked gates, and the next harness fix the system should make.\n- `retrieve_lessons` surfaces per-action lessons for the tool or workflow you are about to run.\n- `search_rlhf` searches feedback state across feedback logs, ContextFS memory, and prevention rules (context engineering, not weight training).\n- History-aware distillation turns a vague `👍` or `👎` into a concrete lesson proposal from the last ~10 messages plus the failed tool call.\n- Feedback sessions let Cursor, Claude Desktop, Codex, and the hosted API keep appending context to the same feedback record before promotion.\n- Pre-action gates physically block tool calls that match known failure patterns.\n- Session handoff and primer keep continuity across sessions without adding an extra orchestrator.\n\nFree and self-hosted users can invoke `search_lessons` directly through MCP, and via the CLI with `npx mcp-memory-gateway lessons`.\n\n## See it in action\n\n```\n$ npx mcp-memory-gateway serve\n[gate] ⛔ Blocked: git push --force (rule: no-force-push, confidence: 0.94)\n[gate] ✅ Passed: git push origin feature-branch\n```\n\n## Quick Start\n\n```bash\n# One command install — auto-detects your agent\nnpx mcp-memory-gateway init\n\n# Or add the MCP server directly\nclaude mcp add thumbgate -- npx -y mcp-memory-gateway serve\ncodex mcp add thumbgate -- npx -y mcp-memory-gateway serve\namp mcp add thumbgate -- npx -y mcp-memory-gateway serve\ngemini mcp add thumbgate \"npx -y mcp-memory-gateway serve\"\n\n# Wire PreToolUse enforcement hooks\nnpx mcp-memory-gateway init --agent claude-code\nnpx mcp-memory-gateway init --agent codex\nnpx mcp-memory-gateway init --agent gemini\n\n# Health check and inspect lessons\nnpx mcp-memory-gateway doctor\nnpx mcp-memory-gateway lessons\nnpx mcp-memory-gateway dashboard\n```\n\n## Claude Code Skill\n\nIf you use Claude Code, ThumbGate is available as a built-in skill:\n\n```bash\n# Type in any Claude Code session:\n/thumbgate\n```\n\nThe skill auto-triggers on keywords like \"gate\", \"feedback\", \"block mistake\", \"prevention rule\", and \"thumbs down\". It provides inline access to all ThumbGate commands — capture feedback, view gates, search lessons, and check system health.\n\n**Free skill** includes: install, capture feedback, view active gates, search lessons, health checks.\n**Pro skill** adds: multi-hop recall, DPO export, gate debugger, and gate wiring support.\n**Team rollout** adds: shared hosted lesson DB, org dashboard visibility, and generated hosted review views for multi-agent workflows.\n\nSource: [`.claude/skills/thumbgate/SKILL.md`](.claude/skills/thumbgate/SKILL.md)\n\n## How It Works\n\n```\n1. You give feedback    →  👎 \"Force-pushed and lost commits\"\n2. ThumbGate distills   →  Uses recent conversation + failed action when the signal is vague\n3. ThumbGate validates  →  Rejects vague signals, promotes actionable ones\n4. Rules auto-generate  →  \"Block git push --force to protected branches\"\n5. Gates enforce        →  PreToolUse hook fires → BLOCKED before execution\n6. Agent improves       →  Same mistake never happens again\n```\n\nPipeline: **Capture → Distill recent history → Validate → Remember → Propose rule → Gate → Export**\n\nFeedback session flow:\n\n```\n👎 Thumbs down → Session opens → User types follow-up context → Session finalizes → Lesson inferred from full conversation\n```\n\n## What's New in v0.9.9\n\n- **ADK-Style Progressive Disclosure** — 3-tier skill loading (L1 metadata → L2 rules → L3 resources) that cuts token usage by 82%. Skill factory auto-generates new skill packs from recurring failure patterns. `measureSkillTokens()` shows exact token cost per tier.\n- **Agent Security Hardening** — credential attestation tracks what creds each agent uses per tool call. Privilege escalation detection checks tool calls against MCP profile allowlists. Dependency attestation gate blocks known-compromised packages (event-stream, ua-parser-js).\n- **Ephemeral Agent Store** — per-agent isolated namespaces for background agents with <10s lifetimes. Auto-merge into main store with PII governance check. Data compaction removes old non-promoted entries.\n- **Prompt-Level DLP** — scans tool call inputs for PII/secrets BEFORE execution. Shadow tool detection flags actions bypassing MCP. Governance score (0-100 + letter grade A-F) per agent session.\n- **Memory Migration** — imports Claude Code MEMORY.md files into ThumbGate's SQLite lesson DB. Health check warns on the 200-line cap Mem0 exposed. Comparison data for marketing.\n\n### Previous (v0.9.6)\n\n- **Background Agent Governance** — run tracking, pre-run governance gates, CI auto-feedback capture. Blocks agents with >50% failure rate. Warns on protected branches and large blast radius. Auto-captures CI pass/fail as structured feedback — no human in the loop. Governance report shows per-agent pass rates and gate blocks.\n- **Hallucination Detector** — decomposes agent claims (\"deployed\", \"tests pass\", \"PR merged\") into verifiable sub-claims, checks each against evidence. Confidence-weighted gates: low confidence blocks, medium warns, high allows. Retrieval-grounded verification flags contradictions with prevention rules.\n- **PII Scanner + Data Governance** — detects emails, phone numbers, SSNs, credit cards in feedback content. DPO export gate blocks pairs containing PII. User-controlled preferences for what data can be exported, shared, or retained. Compliance-ready audit summary.\n- **CLI Inline Feedback** — `node scripts/cli-feedback.js down \"broke tests\"` captures feedback and echoes lesson + stats to terminal. No browser needed.\n- **Statusline Lessons** — Claude Code statusbar shows most recent lesson with clickable dashboard/lessons links. Auto-created on every feedback capture.\n\n### Previous (v0.9.5)\n\n- **Conversation Context Capture** — Captures the last 5-10 conversation turns alongside every thumbs up/down, so lessons include the full story, not just a one-liner summary.\n- **History-aware lesson distillation** — Vague thumbs feedback can reuse the recent conversation window plus the failed tool call to propose `whatWentWrong`, `whatToChange`, and a concrete lesson instead of discarding the signal.\n- **Feedback Sessions** — Follow-up messages after thumbs up/down (\"you lied about X\", \"you forgot Y\") are captured for 60 seconds and folded into the lesson.\n- **Self-Healing Reflector** — On negative feedback, automatically runs a post-mortem: analyzes what went wrong, checks for recurrence, and proposes a specific rule back to the user.\n- **Structured IF/THEN Rules** — Every lesson is extracted as a structured rule with trigger, action, confidence, and scope — not flat text.\n- **Per-Action Lesson Retrieval** — `retrieve_lessons` MCP tool returns top-K relevant lessons for each tool call using keyword matching, file path overlap, and recency decay.\n\n### Previous (v0.9.0)\n\n- **Domain skill packs** — installable best-practice rule sets for Stripe, Railway, database migrations. Auto-match by task context.\n- **Before/after eval harness** — 6 built-in eval cases, 100% pass rate with ThumbGate vs 0% without.\n- **MetaClaw slow loop** — idle-time DPO export scheduler via LaunchAgent cron.\n- **Metered outcome billing** — $0.10/blocked action (Pro), $0.08/seat (Team), floor pricing.\n- **AI Control Tower** — per-tool KPIs (P50/P90/P95 latency, success rate), SLO threshold alerts, access anomaly detection.\n- **Daily digest + weekly stats** — ambient Slack/Teams/Discord push. Social-ready weekly stats for build-in-public.\n- **Statusline upgrade** — Claude Code statusbar shows SLO violations, at-risk tools, anomalies inline.\n- **Gemini MCP adapter** — 14 tool declarations for native Gemini agent interop.\n\n### Previous (v0.8.5)\n\n- **Gate reasoning chains** — every block/warn explains WHY: pattern match, gate identity, source, bypass hints, historical fire count\n- **Multi-hop retrieval** — iterative retrieve → prune → refine loop for complex queries, inspired by Context-1 agentic retrieval\n- **Active context pruning** — re-scores accumulated items after each retrieval hop, drops weak chunks to keep context quality high\n- **Thompson Sampling calibration** — minimum sample threshold (5) prevents low-sample overconfidence; confidence tiers (none/low/medium/high)\n- **Org dashboard** — `org_dashboard` MCP tool aggregates gate decisions across all agent sessions (Team rollout: full visibility, Free preview: 3 agents)\n- **Distractor-aware DPO** — training data export includes near-miss same-domain distractors for harder negatives\n- **Funnel invariant CI** — 13 tests prevent checkout path regression; Pro parity enforced across free/Pro npm packages\n- **Dual-signal feedback** — optional `failureType` (\"decision\" vs \"execution\") on `capture_feedback` creates separate Thompson Sampling sub-arms per failure dimension, inspired by Gen-Searcher's dual reward system\n\n![Context Engineering Architecture](https://raw.githubusercontent.com/IgorGanapolsky/ThumbGate/main/docs/diagrams/rlhf-architecture-pb.png)\n\n## Pre-Action Gates\n\nGates are the enforcement layer. They do not ask the agent to cooperate — they physically block the action.\n\n```text\nAgent tries git push --force\n  → PreToolUse hook fires\n  → gates-engine checks rules\n  → BLOCKED: no force pushes to protected branches\n```\n\nBuilt-in gates:\n\n- `push-without-thread-check` — block push if PR threads unresolved\n- `force-push` — block `git push --force` to protected branches\n- `protected-branch-push` — block direct pushes to main/master\n- `package-lock-reset` — block destructive lock file changes\n- `env-file-edit` — block edits to `.env` files with secrets\n\nDefine custom gates in [`config/gates/custom.json`](config/gates/custom.json).\n\n## What Actually Works\n\n| Actually works                                                                                                   | Does not work                                                 |\n| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |\n| `recall` injects past context into the next session                                                              | Thumbs up/down changing model weights                         |\n| `session_handoff` and `session_primer` preserve continuity                                                       | Agents magically remembering what happened last session       |\n| `search_lessons` exposes corrective actions, lifecycle state, linked rules, linked gates, and next harness fixes | Feedback stats automatically improving behavior by themselves |\n| Natural-language harness specs keep workflow control legible and portable across runtimes                        | Re-implementing the same agent-control logic in every adapter |\n| Pre-action gates block known-bad tool calls before execution                                                     | Agents self-correcting without context injection or gates     |\n| Auto-promotion turns repeated failures into warn/block rules                                                     | Calling this \"RLHF-style feedback\" in the strict training sense              |\n| Rejection ledger shows why vague feedback was rejected                                                           | Vague signals silently helping the system                     |\n\n## Core MCP Tools\n\n### Essential profile\n\n| Tool                   | Purpose                                                                                                     |\n| ---------------------- | ----------------------------------------------------------------------------------------------------------- |\n| `capture_feedback`     | Accept up/down signal + context, validate, promote to memory                                                |\n| `open_feedback_session`| Start a linked feedback session when the correction needs multiple follow-up messages                       |\n| `append_feedback_context` | Add more transcript or operator notes to the open feedback session                                      |\n| `finalize_feedback_session` | Close the linked session and promote the combined evidence into one feedback record                  |\n| `recall`               | Recall relevant past failures and rules for the current task                                                |\n| `search_lessons`       | Search promoted lessons with corrective action, lifecycle state, rules, gates                               |\n| `retrieve_lessons`     | Retrieve the highest-signal lessons for a specific tool, action, or workflow context                        |\n| `reflect_on_feedback`  | Propose a reusable rule or lesson from the recent conversation window                                       |\n| `search_rlhf`          | Search feedback state across feedback logs, ContextFS, and rules (context engineering, not weight training) |\n| `prevention_rules`     | Generate prevention rules from repeated mistakes                                                            |\n| `enforcement_matrix`   | Inspect promotion rate, active gates, and rejection ledger                                                  |\n| `feedback_stats`       | Approval rate and failure-domain summary                                                                    |\n| `estimate_uncertainty` | Bayesian uncertainty estimate for risky tags                                                                |\n| `org_dashboard`        | **Team** — Shared lessons plus org-wide multi-agent visibility, adherence rates, and risk alerts           |\n| `open_feedback_session` | Start a feedback session after thumbs up/down to capture follow-up context                               |\n| `append_feedback_context` | Add follow-up messages to an open feedback session within the 60-second window                          |\n| `finalize_feedback_session` | Close the session and fold all follow-up context into the lesson                                      |\n| `retrieve_lessons`     | Return top-K relevant lessons for a tool call using keyword matching, file path overlap, and recency decay |\n| `reflect_on_feedback`  | Run a self-healing post-mortem on negative feedback — analyzes what went wrong and proposes a rule         |\n\nNatural-language harnesses now live in [`harnesses/`](harnesses) and can be executed through the async runtime:\n\n```bash\nnode scripts/async-job-runner.js --list-harnesses\nnode scripts/async-job-runner.js --run-harness=repo-full-verification --harness-inputs='{\"verificationCommand\":\"npm run verify:full\"}'\n```\n\nLong-context local backends can now expose sparse-attention routing hints through the profile router:\n\n```bash\nTHUMBGATE_PROVIDER_MODE=local \\\nTHUMBGATE_LOCAL_MODEL_FAMILY=deepseek-r1 \\\nTHUMBGATE_LOCAL_MODEL_SERVER=sglang \\\nTHUMBGATE_INDEXCACHE_ENABLED=true \\\nnpm run profile:route\n```\n\nThumbGate treats IndexCache-style acceleration as a backend capability, not a blanket claim. Long-context retrieval-heavy workloads will recommend sparse-attention local backends when they are actually available.\n\nLean install for recall + gates + lesson search only:\n\n```bash\nTHUMBGATE_MCP_PROFILE=essential claude mcp add thumbgate -- npx -y mcp-memory-gateway serve\n```\n\nFree and self-hosted users can invoke `search_lessons` directly through MCP to inspect corrective action per lesson. For broader retrieval across feedback logs, ContextFS memory, and prevention rules, use `search_rlhf` (searches feedback state, not model weights) through MCP or the authenticated `GET /v1/search` API.\n\n### Dispatch profile\n\nPhone-safe read-only surface for remote ops:\n\n```bash\nTHUMBGATE_MCP_PROFILE=dispatch claude mcp add thumbgate -- npx -y mcp-memory-gateway serve\nnpx mcp-memory-gateway dispatch\n```\n\nGuide: [docs/guides/dispatch-ops.md](docs/guides/dispatch-ops.md)\n\n## ThumbGate vs Alternatives\n\n| Feature                          | ThumbGate                                         | SpecLock                                       | Mem0               | .cursorrules     |\n| -------------------------------- | ------------------------------------------------- | ---------------------------------------------- | ------------------ | ---------------- |\n| Blocks mistakes before execution | **Yes** — PreToolUse gates                        | Yes — Patch Firewall                           | No                 | No               |\n| Learns from your feedback        | **Yes** — thumbs up/down                          | No — manual spec writing                       | Yes — auto-capture | No               |\n| Works across sessions            | **Yes** — SQLite + JSONL                          | Yes — encrypted store                          | Yes — cloud        | No — per-project |\n| Auto-generates rules             | **Yes** — from repeated failures                  | No — manual or Gemini compile                  | No                 | No               |\n| Agent support                    | Claude Code, Codex, Gemini, Amp, Cursor, OpenCode | Claude Code, Cursor, Windsurf, Cline, Bolt.new | Claude, Cursor     | Cursor only      |\n| Install                          | `npx mcp-memory-gateway init`                     | `npx speclock setup`                           | Cloud signup       | Edit file        |\n| Cost                             | **Free** ($19/mo or $149/yr Pro; Team rollout starts at $12/seat/mo) | Free                                           | Free tier + paid   | Free             |\n| npm weekly downloads             | **724**                                           | 98                                             | N/A                | N/A              |\n\n**When to use ThumbGate:** You want your agent to learn from mistakes automatically and enforce what it learned. One thumbs-down creates a gate.\n\n**When to use SpecLock:** You have a written spec/PRD and want to lock specific sections from AI modification. Manual constraint authoring.\n\n**When to use Mem0:** You want cloud-hosted memory shared across apps. No enforcement.\n\n## Tech Stack\n\n### Core runtime\n\n- **Node.js** `>=18.18.0`\n- **Module system:** CommonJS CLI/server runtime\n- **Primary entry points:** CLI, MCP stdio server, authenticated HTTP API, OpenAPI adapters\n\n### Interfaces\n\n- **MCP stdio:** [adapters/mcp/server-stdio.js](adapters/mcp/server-stdio.js)\n- **HTTP API:** [src/api/server.js](src/api/server.js)\n- **OpenAPI surfaces:** [openapi/openapi.yaml](openapi/openapi.yaml), [adapters/chatgpt/openapi.yaml](adapters/chatgpt/openapi.yaml)\n- **CLI:** `npx mcp-memory-gateway ...`\n\n### Storage and retrieval\n\n- **Local memory:** JSONL logs in `.claude/memory/feedback` or `.thumbgate/*`\n- **Lesson DB (v0.8.0):** SQLite + FTS5 full-text search via `better-sqlite3` — dual-written alongside JSONL. Indexed by signal, domain, tags, importance. Replaces linear Jaccard token-overlap with sub-millisecond ranked search.\n- **Corrective actions (v0.8.0):** On negative feedback, `capture_feedback` returns `correctiveActions[]` — top 3 remediation steps inferred from similar past failures by tag/domain overlap.\n- **Context assembly:** ContextFS packs and provenance logs\n- **Default retrieval path:** SQLite FTS5 (primary) with JSONL Jaccard fallback\n- **Semantic/vector lane:** LanceDB + Apache Arrow + local embeddings via Hugging Face Transformers\n\n### Intelligence layer\n\n- **MemAlign-inspired dual recall:** Principle-based memory (distilled rules) + episodic context (raw feedback with timestamps). Recall surfaces both lanes ranked by relevance.\n- **Thompson Sampling:** Bayesian multi-armed bandit over feedback tags — adapts gate sensitivity per failure domain based on observed positive/negative signal ratios.\n- **Corrective action inference:** On negative feedback, the lesson DB infers top-3 remediation steps from similar past failures by tag/domain overlap.\n- **Bayesian belief update:** Each memory carries a posterior belief that updates on new evidence — high-entropy contradictions auto-prune.\n\n### Enforcement and automation\n\n- **PreToolUse enforcement:** [scripts/gates-engine.js](scripts/gates-engine.js)\n- **Hook wiring:** `init --agent claude-code|codex|gemini`\n- **Browser automation / ops:** `playwright-core`\n- **Social analytics store:** `better-sqlite3`\n\n### Billing and hosting\n\n- **Billing:** Stripe\n- **Hosted API / landing page:** Railway\n- **Worker lane:** Cloudflare Workers in [`workers/`](workers)\n\n## Agent Integration Guides\n\n- [Claude Desktop extension](docs/CLAUDE_DESKTOP_EXTENSION.md)\n- [Cursor plugin operations](docs/CURSOR_PLUGIN_OPERATIONS.md)\n- [Continuity tools integration](docs/guides/continuity-tools-integration.md)\n- [OpenCode integration](docs/guides/opencode-integration.md)\n\n## Operator Contract\n\nFor autonomous agent runs against this or any repo using this workflow:\n\n- [WORKFLOW.md](WORKFLOW.md) — scope, proof-of-work, hard stops, done criteria\n- [.github/ISSUE_TEMPLATE/ready-for-agent.yml](.github/ISSUE_TEMPLATE/ready-for-agent.yml) — bounded intake template\n- [.github/pull_request_template.md](.github/pull_request_template.md) — proof-first PR handoff\n\n## Pro Pack\n\n**[$19/mo or $149/yr](https://thumbgate-production.up.railway.app/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=thumbgate)** — personal local dashboard, DPO export, advanced data exports, and founder-license support for individual operators.\n\n**[Start Team Rollout](https://thumbgate-production.up.railway.app/#workflow-sprint-intake?utm_source=github&utm_medium=readme&utm_campaign=team_rollout)** — shared hosted lesson DB, org dashboard, generated hosted review views, curated gate templates, and workflow-hardening rollout support for teams.\n\n### Free vs Pro\n\n| Feature                           | Free   | Pro ($19/mo or $149/yr) | Team rollout ($12/seat/mo, min 3) |\n| --------------------------------- | ------ | ----------------------- | --------------------------------- |\n| Feedback capture (thumbs up/down) | 5/day  | Unlimited               | Shared across team workflow       |\n| Lesson search                     | 10/day | Unlimited               | Shared hosted lesson DB           |\n| Recall                            | Unlimited | Unlimited            | Shared hosted recall              |\n| Prevention rules                  | Yes    | Yes                     | Team-wide rollout                 |\n| PreToolUse gates                  | Yes    | Yes                     | Team-wide rollout                 |\n| Thompson Sampling                 | Basic  | Advanced                | Advanced                          |\n| DPO training export               | No     | Yes                     | Yes                               |\n| Databricks export                 | No     | Yes                     | Yes                               |\n| Personal local dashboard          | No     | Yes                     | Yes                               |\n| Org dashboard + active agents     | No     | No                      | Yes                               |\n| Gate template library             | No     | No                      | Yes                               |\n| Workflow hardening sprint         | No     | No                      | Yes                               |\n| Priority support                  | No     | Yes                     | Yes                               |\n\nFree keeps the core safety policy, up to 10 auto-promoted gates, 5 daily feedback captures, 10 daily lesson searches, and unlimited recall on your machine.\n\n**[Get Pro — $19/mo or $149/yr](https://thumbgate-production.up.railway.app/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=thumbgate_cta)** — recurring self-serve for individual operators.\n\n**[Founder one-time offer — $49](https://buy.stripe.com/aFa4gz1M84r419v7mb3sI05)** — preserved legacy founder checkout path.\n\n- [Commercial Truth](docs/COMMERCIAL_TRUTH.md)\n- [Verification Evidence](docs/VERIFICATION_EVIDENCE.md)\n- [Pitch](docs/PITCH.md)\n- [Anthropic Marketplace Strategy](docs/ANTHROPIC_MARKETPLACE_STRATEGY.md)\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}