thumbgate 1.5.0 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.well-known/mcp/server-card.json +1 -1
- package/CHANGELOG.md +504 -0
- package/README.md +251 -223
- package/adapters/README.md +1 -1
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/codex/config.toml +4 -2
- package/adapters/mcp/server-stdio.js +34 -3
- package/adapters/opencode/opencode.json +1 -1
- package/bench/prompt-eval-suite.json +106 -0
- package/bin/cli.js +21 -8
- package/bin/postinstall.js +25 -17
- package/config/evals/agent-safety-eval.json +131 -0
- package/config/github-about.json +5 -2
- package/config/specs/agent-safety.json +79 -0
- package/package.json +69 -29
- package/public/compare.html +3 -3
- package/public/dashboard.html +1399 -0
- package/public/guide.html +2 -2
- package/public/index.html +230 -98
- package/scripts/auto-wire-hooks.js +77 -27
- package/scripts/bot-detection.js +165 -0
- package/scripts/cli-feedback.js +6 -2
- package/scripts/commercial-offer.js +4 -4
- package/scripts/dashboard.js +152 -2
- package/scripts/decision-trace.js +354 -0
- package/scripts/feedback-loop.js +4 -8
- package/scripts/prompt-eval.js +363 -0
- package/scripts/rate-limiter.js +77 -24
- package/scripts/sales-pipeline.js +681 -0
- package/scripts/session-episode-store.js +329 -0
- package/scripts/session-health-sensor.js +242 -0
- package/scripts/spec-gate.js +362 -0
- package/scripts/statusline.sh +6 -9
- package/skills/thumbgate/SKILL.md +1 -1
- package/src/api/server.js +368 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thumbgate",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.2",
|
|
4
4
|
"description": "Self-improving agent governance: type thumbs-up or thumbs-down on any AI agent action. ThumbGate turns every mistake into a prevention rule and blocks the pattern from repeating. One thumbs-down, never again. 33 pre-action gates, budget enforcement, and self-protection for Claude Code, Cursor, Codex, Gemini CLI, and Amp.",
|
|
5
5
|
"homepage": "https://thumbgate-production.up.railway.app",
|
|
6
6
|
"repository": {
|
|
@@ -15,28 +15,33 @@
|
|
|
15
15
|
"thumbgate": "bin/cli.js"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
18
|
+
".claude-plugin/README.md",
|
|
19
|
+
".claude-plugin/marketplace.json",
|
|
20
|
+
".claude-plugin/plugin.json",
|
|
21
|
+
".well-known/",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"README.md",
|
|
25
|
+
"adapters/amp/skills/thumbgate-feedback/SKILL.md",
|
|
22
26
|
"adapters/chatgpt/openapi.yaml",
|
|
23
|
-
"adapters/gemini/function-declarations.json",
|
|
24
27
|
"adapters/claude/.mcp.json",
|
|
25
28
|
"adapters/codex/config.toml",
|
|
26
|
-
"adapters/opencode/opencode.json",
|
|
27
|
-
"adapters/amp/skills/thumbgate-feedback/SKILL.md",
|
|
28
29
|
"adapters/forge/forge.yaml",
|
|
30
|
+
"adapters/gemini/function-declarations.json",
|
|
31
|
+
"adapters/mcp/server-stdio.js",
|
|
32
|
+
"adapters/opencode/opencode.json",
|
|
33
|
+
"bench/prompt-eval-suite.json",
|
|
34
|
+
"bin/cli.js",
|
|
35
|
+
"bin/postinstall.js",
|
|
29
36
|
"config/",
|
|
30
|
-
"skills/",
|
|
31
37
|
"openapi/",
|
|
32
|
-
".
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"LICENSE",
|
|
38
|
-
"scripts/agent-readiness.js",
|
|
38
|
+
"public/compare.html",
|
|
39
|
+
"public/dashboard.html",
|
|
40
|
+
"public/guide.html",
|
|
41
|
+
"public/index.html",
|
|
42
|
+
"public/lessons.html",
|
|
39
43
|
"scripts/access-anomaly-detector.js",
|
|
44
|
+
"scripts/agent-readiness.js",
|
|
40
45
|
"scripts/agentic-data-pipeline.js",
|
|
41
46
|
"scripts/analytics-report.js",
|
|
42
47
|
"scripts/analytics-window.js",
|
|
@@ -47,6 +52,7 @@
|
|
|
47
52
|
"scripts/belief-update.js",
|
|
48
53
|
"scripts/billing-setup.js",
|
|
49
54
|
"scripts/billing.js",
|
|
55
|
+
"scripts/bot-detection.js",
|
|
50
56
|
"scripts/bot-detector.js",
|
|
51
57
|
"scripts/build-metadata.js",
|
|
52
58
|
"scripts/claude-feedback-sync.js",
|
|
@@ -68,6 +74,7 @@
|
|
|
68
74
|
"scripts/dashboard-render-spec.js",
|
|
69
75
|
"scripts/dashboard.js",
|
|
70
76
|
"scripts/decision-journal.js",
|
|
77
|
+
"scripts/decision-trace.js",
|
|
71
78
|
"scripts/delegation-runtime.js",
|
|
72
79
|
"scripts/dispatch-brief.js",
|
|
73
80
|
"scripts/distribution-surfaces.js",
|
|
@@ -136,6 +143,7 @@
|
|
|
136
143
|
"scripts/problem-detail.js",
|
|
137
144
|
"scripts/product-feedback.js",
|
|
138
145
|
"scripts/profile-router.js",
|
|
146
|
+
"scripts/prompt-eval.js",
|
|
139
147
|
"scripts/prompt-guard.js",
|
|
140
148
|
"scripts/published-cli.js",
|
|
141
149
|
"scripts/pulse.js",
|
|
@@ -144,6 +152,7 @@
|
|
|
144
152
|
"scripts/risk-scorer.js",
|
|
145
153
|
"scripts/rlaif-self-audit.js",
|
|
146
154
|
"scripts/rubric-engine.js",
|
|
155
|
+
"scripts/sales-pipeline.js",
|
|
147
156
|
"scripts/secret-scanner.js",
|
|
148
157
|
"scripts/security-scanner.js",
|
|
149
158
|
"scripts/self-distill-agent.js",
|
|
@@ -151,21 +160,24 @@
|
|
|
151
160
|
"scripts/semantic-dedup.js",
|
|
152
161
|
"scripts/semantic-layer.js",
|
|
153
162
|
"scripts/seo-gsd.js",
|
|
163
|
+
"scripts/session-episode-store.js",
|
|
164
|
+
"scripts/session-health-sensor.js",
|
|
154
165
|
"scripts/settings-hierarchy.js",
|
|
155
166
|
"scripts/skill-generator.js",
|
|
156
167
|
"scripts/slo-alert-engine.js",
|
|
168
|
+
"scripts/spec-gate.js",
|
|
157
169
|
"scripts/statusline-cache-path.js",
|
|
158
170
|
"scripts/statusline-lesson.js",
|
|
159
171
|
"scripts/statusline-links.js",
|
|
160
172
|
"scripts/statusline-local-stats.js",
|
|
161
173
|
"scripts/statusline-meta.js",
|
|
162
|
-
"scripts/statusline.sh",
|
|
163
174
|
"scripts/statusline-tower.js",
|
|
175
|
+
"scripts/statusline.sh",
|
|
164
176
|
"scripts/telemetry-analytics.js",
|
|
165
177
|
"scripts/thompson-sampling.js",
|
|
166
178
|
"scripts/thumbgate-search.js",
|
|
167
|
-
"scripts/tool-registry.js",
|
|
168
179
|
"scripts/tool-kpi-tracker.js",
|
|
180
|
+
"scripts/tool-registry.js",
|
|
169
181
|
"scripts/user-profile.js",
|
|
170
182
|
"scripts/validate-workflow-contract.js",
|
|
171
183
|
"scripts/vector-store.js",
|
|
@@ -176,10 +188,8 @@
|
|
|
176
188
|
"scripts/workflow-sprint-intake.js",
|
|
177
189
|
"scripts/workspace-evolver.js",
|
|
178
190
|
"scripts/xmemory-lite.js",
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"public/guide.html",
|
|
182
|
-
"public/compare.html"
|
|
191
|
+
"skills/",
|
|
192
|
+
"src/"
|
|
183
193
|
],
|
|
184
194
|
"scripts": {
|
|
185
195
|
"postinstall": "node bin/postinstall.js || true",
|
|
@@ -201,6 +211,7 @@
|
|
|
201
211
|
"creator:links": "node scripts/creator-campaigns.js",
|
|
202
212
|
"stripe:live": "node scripts/stripe-live-status.js",
|
|
203
213
|
"gtm:revenue-loop": "node scripts/autonomous-sales-agent.js",
|
|
214
|
+
"sales:pipeline": "node scripts/sales-pipeline.js",
|
|
204
215
|
"social:prepare": "node scripts/social-pipeline.js prepare",
|
|
205
216
|
"social:post": "node scripts/social-pipeline.js post",
|
|
206
217
|
"social:queue": "node scripts/social-pipeline.js queue",
|
|
@@ -222,9 +233,25 @@
|
|
|
222
233
|
"social:mcp": "node scripts/social-analytics/mcp-server.js",
|
|
223
234
|
"social:post-everywhere": "node scripts/post-everywhere.js",
|
|
224
235
|
"social:post-everywhere:dry": "node scripts/post-everywhere.js --dry-run",
|
|
236
|
+
"session:health": "node scripts/session-health-sensor.js",
|
|
237
|
+
"session:capture": "node scripts/session-episode-store.js capture",
|
|
238
|
+
"session:patterns": "node scripts/session-episode-store.js patterns",
|
|
239
|
+
"session:history": "node scripts/session-episode-store.js history",
|
|
240
|
+
"spec:check": "node scripts/spec-gate.js check",
|
|
241
|
+
"spec:gates": "node scripts/spec-gate.js gates",
|
|
242
|
+
"spec:audit": "node scripts/spec-gate.js audit",
|
|
243
|
+
"trace:summary": "node scripts/decision-trace.js summary",
|
|
244
|
+
"trace:json": "node scripts/decision-trace.js json",
|
|
245
|
+
"trace:eval": "node scripts/decision-trace.js eval",
|
|
225
246
|
"social:reply-monitor": "node scripts/social-reply-monitor.js",
|
|
226
247
|
"social:reply-monitor:dry": "node scripts/social-reply-monitor.js --dry-run",
|
|
227
|
-
"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:operational-integrity && 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:session-analyzer && 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:operational-summary && npm run test:operator-key-auth && 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:export-hf-dataset && 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:semantic-dedup && npm run test:fs-utils && npm run test:cli-schema && npm run test:explore && npm run test:lesson-reranker && npm run test:lesson-retrieval && npm run test:cross-encoder && 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-post-hourly && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:budget && npm run test:quick-start && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator && npm run test:engagement-audit && npm run test:install-growth-automation && npm run test:publish-thumbgate-launch && npm run test:reconcile-thumbgate-campaign && npm run test:reddit-publisher && npm run test:schedule-thumbgate-campaign && npm run test:social-reply-monitor && npm run test:sync-launch-assets && npm run test:ai-search-visibility && npm run test:perplexity && npm run test:security-scanner && npm run test:llm-client && npm run test:managed-lesson-agent && npm run test:self-distill && npm run test:meta-agent && npm run test:harness-selector && npm run test:thumbgate-bench && npm run test:seo-guides && npm run test:enforcement-loop && npm run test:cli-agent-experience",
|
|
248
|
+
"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:operational-integrity && 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:session-analyzer && 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:post-video && npm run test:post-everywhere-instagram && 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:operational-summary && npm run test:operator-key-auth && 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:export-hf-dataset && 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:semantic-dedup && npm run test:fs-utils && npm run test:cli-schema && npm run test:explore && npm run test:lesson-reranker && npm run test:lesson-retrieval && npm run test:cross-encoder && 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-post-hourly && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:budget && npm run test:quick-start && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator && npm run test:engagement-audit && npm run test:install-growth-automation && npm run test:publish-thumbgate-launch && npm run test:reconcile-thumbgate-campaign && npm run test:reddit-publisher && npm run test:schedule-thumbgate-campaign && npm run test:social-reply-monitor && npm run test:sync-launch-assets && npm run test:ai-search-visibility && npm run test:perplexity && npm run test:security-scanner && npm run test:llm-client && npm run test:managed-lesson-agent && npm run test:self-distill && npm run test:meta-agent && npm run test:harness-selector && npm run test:thumbgate-bench && npm run test:seo-guides && npm run test:enforcement-loop && npm run test:cli-agent-experience && npm run test:bot-detection && npm run test:checkout-bot-guard && npm run test:session-health && npm run test:session-episodes && npm run test:spec-gate && npm run test:decision-trace && npm run test:dashboard-insights && npm run test:prompt-eval && npm run test:demo-voiceover && npm run test:gate-coherence && npm run test:gate-eval && npm run test:high-roi && npm run test:public-static-assets && npm run test:token-savings && npm run test:workflow-gate-checkpoint && npm run test:lesson-export-import",
|
|
249
|
+
"test:session-health": "node --test tests/session-health-sensor.test.js",
|
|
250
|
+
"test:session-episodes": "node --test tests/session-episode-store.test.js",
|
|
251
|
+
"test:spec-gate": "node --test tests/spec-gate.test.js",
|
|
252
|
+
"test:dashboard-insights": "node --test tests/dashboard-insights.test.js",
|
|
253
|
+
"test:prompt-eval": "node --test tests/prompt-eval.test.js",
|
|
254
|
+
"test:decision-trace": "node --test tests/decision-trace.test.js",
|
|
228
255
|
"test:feedback-fallback": "node --test tests/feedback-fallback.test.js",
|
|
229
256
|
"test:metaclaw": "node --test tests/metaclaw-features.test.js",
|
|
230
257
|
"test:server-lock": "node --test tests/server-stdio-lock.test.js",
|
|
@@ -285,15 +312,16 @@
|
|
|
285
312
|
"test:quality": "node --test tests/validate-feedback.test.js",
|
|
286
313
|
"test:intelligence": "node --test tests/intelligence.test.js",
|
|
287
314
|
"test:training-export": "node --test tests/training-export.test.js tests/databricks-export.test.js",
|
|
288
|
-
"test:deployment": "node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js tests/changeset-check.test.js tests/release-notes.test.js tests/sonarcloud-workflow.test.js tests/package-boundary.test.js",
|
|
315
|
+
"test:deployment": "node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js tests/changeset-check.test.js tests/release-notes.test.js tests/sonarcloud-workflow.test.js tests/package-boundary.test.js tests/revenue-observability-workflow.test.js",
|
|
289
316
|
"test:operational-integrity": "node --test tests/operational-integrity.test.js tests/sync-branch-protection.test.js",
|
|
290
|
-
"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/docs-claim-hygiene.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js tests/enterprise-story.test.js tests/ralph-loop.test.js tests/ralph-mode-ci.test.js",
|
|
317
|
+
"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/docs-claim-hygiene.test.js tests/thumbgate-scope.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js tests/sales-pipeline.test.js tests/enterprise-story.test.js tests/ralph-loop.test.js tests/ralph-mode-ci.test.js",
|
|
318
|
+
"test:sales-pipeline": "node --test tests/sales-pipeline.test.js",
|
|
291
319
|
"test:billing": "node --test tests/billing.test.js",
|
|
292
|
-
"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/published-cli.test.js tests/revenue-status.test.js",
|
|
320
|
+
"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/published-cli.test.js tests/revenue-status.test.js tests/stripe-live-status.test.js",
|
|
293
321
|
"test:evolution": "node --test tests/workspace-evolver.test.js",
|
|
294
322
|
"test:watcher": "node --test tests/jsonl-watcher.test.js",
|
|
295
323
|
"test:autoresearch": "node --test tests/autoresearch.test.js",
|
|
296
|
-
"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/decision-journal.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/intervention-policy.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/stripe-webhook-rotation.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/workflow-sentinel.test.js tests/test-suite-parity.test.js tests/a2ui-engine.test.js tests/webhook-delivery.test.js",
|
|
324
|
+
"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/decision-journal.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/intervention-policy.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-revenue.test.js tests/stripe-webhook-route.test.js tests/stripe-webhook-rotation.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/workflow-sentinel.test.js tests/test-suite-parity.test.js tests/a2ui-engine.test.js tests/webhook-delivery.test.js",
|
|
297
325
|
"test:session-analyzer": "node --test tests/session-analyzer.test.js",
|
|
298
326
|
"test:tessl": "node --test tests/tessl-export.test.js",
|
|
299
327
|
"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 tests/workflow-sentinel.test.js tests/docker-sandbox-planner.test.js",
|
|
@@ -346,8 +374,12 @@
|
|
|
346
374
|
"social:poll:zernio": "node scripts/social-analytics/pollers/zernio.js",
|
|
347
375
|
"social:publish:zernio": "node scripts/social-analytics/publishers/zernio.js",
|
|
348
376
|
"test:zernio": "node --test tests/zernio-integration.test.js",
|
|
377
|
+
"test:post-video": "node --test tests/post-video.test.js",
|
|
378
|
+
"test:post-everywhere-instagram": "node --test tests/post-everywhere-instagram.test.js",
|
|
349
379
|
"test:license": "node --test tests/license.test.js",
|
|
350
380
|
"test:bot-detector": "node --test tests/bot-detector.test.js",
|
|
381
|
+
"test:bot-detection": "node --test tests/bot-detection.test.js",
|
|
382
|
+
"test:checkout-bot-guard": "node --test tests/checkout-bot-guard.test.js",
|
|
351
383
|
"test:postinstall": "node --test tests/postinstall.test.js",
|
|
352
384
|
"test:funnel-invariants": "node --test tests/funnel-invariants.test.js",
|
|
353
385
|
"test:cli-telemetry": "node --test tests/cli-telemetry.test.js",
|
|
@@ -383,7 +415,7 @@
|
|
|
383
415
|
"test:per-step-scoring": "node --test tests/per-step-scoring.test.js",
|
|
384
416
|
"test:weekly-auto-post": "node --test tests/weekly-auto-post.test.js",
|
|
385
417
|
"test:social-post-hourly": "node --test tests/social-post-hourly.test.js",
|
|
386
|
-
"test:social-quality-gate": "node --test tests/social-quality-gate.test.js",
|
|
418
|
+
"test:social-quality-gate": "node --test tests/social-quality-gate.test.js tests/validate-social-post.test.js",
|
|
387
419
|
"test:a2ui-engine": "node --test tests/a2ui-engine.test.js",
|
|
388
420
|
"test:gate-satisfy": "node --test tests/gate-satisfy.test.js",
|
|
389
421
|
"test:money-watcher": "node --test tests/money-watcher.test.js",
|
|
@@ -436,7 +468,15 @@
|
|
|
436
468
|
"perplexity:mcp-config": "node scripts/perplexity-command-center.js mcp-config",
|
|
437
469
|
"test:explore": "node --test tests/explore.test.js",
|
|
438
470
|
"test:cli-schema": "node --test tests/cli-schema.test.js",
|
|
439
|
-
"test:cli-agent-experience": "node --test tests/cli-agent-experience.test.js"
|
|
471
|
+
"test:cli-agent-experience": "node --test tests/cli-agent-experience.test.js",
|
|
472
|
+
"test:demo-voiceover": "node --test tests/demo-voiceover.test.js",
|
|
473
|
+
"test:gate-coherence": "node --test tests/gate-coherence.test.js",
|
|
474
|
+
"test:gate-eval": "node --test tests/gate-eval.test.js",
|
|
475
|
+
"test:high-roi": "node --test tests/high-roi.test.js",
|
|
476
|
+
"test:public-static-assets": "node --test tests/public-static-assets.test.js",
|
|
477
|
+
"test:token-savings": "node --test tests/token-savings.test.js",
|
|
478
|
+
"test:workflow-gate-checkpoint": "node --test tests/workflow-gate-checkpoint.test.js",
|
|
479
|
+
"test:lesson-export-import": "node --test tests/lesson-export-import.test.js"
|
|
440
480
|
},
|
|
441
481
|
"keywords": [
|
|
442
482
|
"mcp",
|
package/public/compare.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Best Pre-Action Gate Tools for AI Coding Agents (2026 Comparison)</title>
|
|
7
7
|
<!-- Privacy-friendly analytics by Plausible -->
|
|
8
|
-
<script defer data-domain="
|
|
8
|
+
<script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
|
|
9
9
|
<meta name="description" content="Compare pre-action gate tools that prevent AI coding agents from making costly mistakes. ThumbGate vs manual review vs post-hoc fixes.">
|
|
10
10
|
<meta name="keywords" content="AI agent safety, pre-action gates, AI coding agent comparison, ThumbGate vs manual review, AI agent guardrails, PreToolUse hooks, Claude Code safety, Codex safety, Gemini safety, Cursor rules alternative">
|
|
11
11
|
<meta property="og:title" content="Best Pre-Action Gate Tools for AI Coding Agents (2026 Comparison)">
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"name": "Is ThumbGate free?",
|
|
63
63
|
"acceptedAnswer": {
|
|
64
64
|
"@type": "Answer",
|
|
65
|
-
"text": "ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($
|
|
65
|
+
"text": "ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($49/seat/mo) adds a shared lesson database and org dashboard."
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
{
|
|
@@ -287,7 +287,7 @@
|
|
|
287
287
|
|
|
288
288
|
<div class="card">
|
|
289
289
|
<h3>Is ThumbGate free?</h3>
|
|
290
|
-
<p>ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, and pre-action gate blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($
|
|
290
|
+
<p>ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, and pre-action gate blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($49/seat/mo) adds a shared lesson database and org dashboard.</p>
|
|
291
291
|
</div>
|
|
292
292
|
|
|
293
293
|
<div class="card">
|