thumbgate 1.27.18 → 1.27.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/.claude-plugin/marketplace.json +6 -6
  2. package/.claude-plugin/plugin.json +4 -3
  3. package/.well-known/agentic-verify.txt +1 -0
  4. package/.well-known/llms.txt +33 -12
  5. package/.well-known/mcp/server-card.json +8 -8
  6. package/README.md +249 -30
  7. package/adapters/chatgpt/openapi.yaml +12 -0
  8. package/adapters/claude/.mcp.json +2 -2
  9. package/adapters/codex/config.toml +2 -2
  10. package/adapters/gemini/function-declarations.json +1 -0
  11. package/adapters/mcp/server-stdio.js +263 -11
  12. package/adapters/opencode/opencode.json +1 -1
  13. package/bench/thumbgate-bench.json +2 -2
  14. package/bin/cli.js +1429 -121
  15. package/bin/postinstall.js +1 -8
  16. package/config/gate-classifier-routing.json +98 -0
  17. package/config/gate-templates.json +216 -0
  18. package/config/gates/claim-verification.json +12 -0
  19. package/config/gates/default.json +31 -2
  20. package/config/github-about.json +2 -2
  21. package/config/mcp-allowlists.json +23 -13
  22. package/config/merge-quality-checks.json +0 -1
  23. package/config/model-candidates.json +121 -6
  24. package/config/post-deploy-marketing-pages.json +80 -0
  25. package/config/tessl-tiles.json +1 -3
  26. package/openapi/openapi.yaml +12 -0
  27. package/package.json +1 -1
  28. package/public/blog.html +4 -4
  29. package/public/codex-plugin.html +72 -20
  30. package/public/compare.html +31 -8
  31. package/public/dashboard.html +930 -166
  32. package/public/federal.html +2 -2
  33. package/public/guide.html +33 -13
  34. package/public/index.html +469 -111
  35. package/public/learn.html +183 -18
  36. package/public/lessons.html +168 -10
  37. package/public/numbers.html +7 -7
  38. package/public/pro.html +34 -11
  39. package/scripts/agent-memory-lifecycle.js +211 -0
  40. package/scripts/agent-readiness.js +20 -3
  41. package/scripts/agent-reward-model.js +53 -1
  42. package/scripts/auto-promote-gates.js +82 -10
  43. package/scripts/auto-wire-hooks.js +14 -0
  44. package/scripts/billing.js +93 -1
  45. package/scripts/bot-detection.js +61 -3
  46. package/scripts/build-metadata.js +50 -10
  47. package/scripts/cli-feedback.js +4 -2
  48. package/scripts/cli-schema.js +97 -0
  49. package/scripts/cli-telemetry.js +6 -1
  50. package/scripts/commercial-offer.js +82 -2
  51. package/scripts/context-manager.js +74 -6
  52. package/scripts/dashboard.js +68 -2
  53. package/scripts/export-databricks-bundle.js +5 -1
  54. package/scripts/export-dpo-pairs.js +7 -2
  55. package/scripts/feedback-loop.js +123 -1
  56. package/scripts/feedback-quality.js +87 -0
  57. package/scripts/filesystem-search.js +35 -10
  58. package/scripts/gate-stats.js +89 -0
  59. package/scripts/gates-engine.js +1176 -85
  60. package/scripts/gemini-embedding-policy.js +2 -1
  61. package/scripts/hook-runtime.js +20 -14
  62. package/scripts/hook-thumbgate-cache-updater.js +18 -2
  63. package/scripts/hybrid-feedback-context.js +142 -7
  64. package/scripts/lesson-inference.js +8 -3
  65. package/scripts/lesson-search.js +17 -1
  66. package/scripts/license.js +10 -10
  67. package/scripts/llm-client.js +169 -4
  68. package/scripts/local-model-profile.js +15 -8
  69. package/scripts/mcp-config.js +7 -1
  70. package/scripts/memory-scope-readiness.js +159 -0
  71. package/scripts/meta-agent-loop.js +36 -0
  72. package/scripts/operational-integrity.js +39 -5
  73. package/scripts/oss-pr-opportunity-scout.js +35 -5
  74. package/scripts/plausible-server-events.js +9 -6
  75. package/scripts/pro-local-dashboard.js +4 -4
  76. package/scripts/proxy-pointer-rag-guardrails.js +42 -1
  77. package/scripts/published-cli.js +0 -8
  78. package/scripts/rate-limiter.js +64 -13
  79. package/scripts/secret-scanner.js +44 -5
  80. package/scripts/security-scanner.js +260 -10
  81. package/scripts/self-distill-agent.js +3 -1
  82. package/scripts/seo-gsd.js +916 -7
  83. package/scripts/statusline-cache-path.js +17 -2
  84. package/scripts/statusline-local-stats.js +9 -1
  85. package/scripts/statusline-meta.js +28 -2
  86. package/scripts/statusline.sh +20 -4
  87. package/scripts/telemetry-analytics.js +357 -0
  88. package/scripts/thompson-sampling.js +31 -10
  89. package/scripts/thumbgate-bench.js +16 -1
  90. package/scripts/thumbgate-search.js +85 -19
  91. package/scripts/tool-registry.js +169 -1
  92. package/scripts/vector-store.js +45 -0
  93. package/scripts/workflow-sentinel.js +286 -53
  94. package/scripts/workspace-evolver.js +62 -2
  95. package/src/api/server.js +2683 -319
  96. package/scripts/bot-detector.js +0 -50
@@ -4,8 +4,8 @@
4
4
  "workloads": {
5
5
  "pretool-gating": {
6
6
  "label": "PreTool gating",
7
- "summary": "Fast, reliable gate judgments for tool-use and agentic coding decisions before commands run.",
8
- "desiredStrengths": ["agentic-coding", "tool-use", "reliability"],
7
+ "summary": "Fast, reliable gate judgments for tool-use and agentic coding decisions before commands run. Hybrid local-cloud candidates (e.g. perplexity/hybrid-local) excel here for privacy + low latency on sensitive paths.",
8
+ "desiredStrengths": ["agentic-coding", "tool-use", "reliability", "privacy", "fast-inference"],
9
9
  "targetContextWindow": 64000,
10
10
  "benchmarkCommands": [
11
11
  "npx thumbgate eval --from-feedback --json --min-score=0",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "cheap-fast-path": {
45
45
  "label": "Cheap fast path",
46
- "summary": "Low-cost first-pass model for cheap approval triage before escalating ambiguous work.",
47
- "desiredStrengths": ["agentic-coding", "tool-use"],
46
+ "summary": "Low-cost first-pass model for cheap approval triage before escalating ambiguous work. Perplexity hybrid-local is ideal: on-device for speed/privacy, escalate only when needed via orchestrator.",
47
+ "desiredStrengths": ["agentic-coding", "tool-use", "fast-inference", "privacy", "cost-efficiency"],
48
48
  "targetContextWindow": 32000,
49
49
  "benchmarkCommands": [
50
50
  "npx thumbgate eval --from-feedback --json --min-score=0",
@@ -60,8 +60,8 @@
60
60
  },
61
61
  "dashboard-analysis": {
62
62
  "label": "Dashboard and dataset analysis",
63
- "summary": "Evaluate frontier models for dataset analysis, chart generation, dashboard planning, and proof-backed insight quality before routing expensive analytical work.",
64
- "desiredStrengths": ["data-analysis", "dashboard-creation", "charting", "long-context", "reliability"],
63
+ "summary": "Evaluate frontier models for dataset analysis, chart generation, dashboard planning, and proof-backed insight quality before routing expensive analytical work. Perplexity hybrid excels for sensitive lessons/feedback data (local for privacy, cloud for depth).",
64
+ "desiredStrengths": ["data-analysis", "dashboard-creation", "charting", "long-context", "reliability", "privacy"],
65
65
  "targetContextWindow": 200000,
66
66
  "benchmarkCommands": [
67
67
  "npx thumbgate eval --from-feedback --json --min-score=0",
@@ -77,6 +77,27 @@
77
77
  "costPerAnalysisUsd"
78
78
  ]
79
79
  },
80
+ "claw-style-enterprise-agent": {
81
+ "label": "Claw-style enterprise agent governance",
82
+ "summary": "Governance, gating, and feedback for autonomous 'claw-style' agents (Automation Anywhere EnterpriseClaw, Nvidia OpenShell-inspired) that have device file system access, runtime dynamic tool creation, screen/UI interaction, and multi-platform orchestration. Especially relevant for on-prem/air-gapped/hybrid enterprise data realities.",
83
+ "desiredStrengths": ["agentic-coding", "tool-use", "reliability", "security", "orchestration", "audit-trail", "privacy"],
84
+ "targetContextWindow": 128000,
85
+ "benchmarkCommands": [
86
+ "npx thumbgate eval --from-feedback --json --min-score=0",
87
+ "node scripts/gate-eval.js run",
88
+ "npx thumbgate bench --json --min-score=90"
89
+ ],
90
+ "metrics": [
91
+ "passRate",
92
+ "falsePositiveRate",
93
+ "agentIdentitySeparation",
94
+ "dynamicToolSafety",
95
+ "screenInteractionAudit",
96
+ "orchestrationCompliance",
97
+ "medianLatencyMs",
98
+ "costPer1kActionsUsd"
99
+ ]
100
+ },
80
101
  "tokenizer-brittleness": {
81
102
  "label": "Tokenizer brittleness and byte-level robustness",
82
103
  "summary": "Evaluate models for malformed JSONL, Unicode confusables, stack traces, secrets, SQL snippets, file paths, and code-symbol-heavy inputs before routing log, code, or security workloads.",
@@ -95,6 +116,23 @@
95
116
  "medianLatencyMs",
96
117
  "memoryBandwidthEstimate"
97
118
  ]
119
+ },
120
+ "self-improving-agent-skill-synthesis": {
121
+ "label": "Self-improving agent skill synthesis",
122
+ "summary": "Evaluate models on their ability to self-improve, generate safe Markdown skills, and correctly check synthesized skills against existing gate/prevention rules.",
123
+ "desiredStrengths": ["agentic-coding", "tool-use", "self-evolving", "skill-synthesis", "reliability"],
124
+ "targetContextWindow": 128000,
125
+ "benchmarkCommands": [
126
+ "npx thumbgate eval --from-feedback --json --min-score=0",
127
+ "node scripts/gate-eval.js run"
128
+ ],
129
+ "metrics": [
130
+ "passRate",
131
+ "skillSafetyCheckAccuracy",
132
+ "ruleBypassDetectionRate",
133
+ "medianLatencyMs",
134
+ "costPerEvolutionUsd"
135
+ ]
98
136
  }
99
137
  },
100
138
  "candidates": [
@@ -214,6 +252,83 @@
214
252
  "costClass": "low",
215
253
  "strengths": ["agentic-coding", "tool-use", "fast-inference"],
216
254
  "notes": "Cheapest Tinker candidate for the fast gate path; use when latency/cost matter most."
255
+ },
256
+ {
257
+ "id": "perplexity/hybrid-local-cloud",
258
+ "vendor": "Perplexity",
259
+ "family": "hybrid",
260
+ "provider": "perplexity",
261
+ "model": "hybrid-local-cloud-orchestrator",
262
+ "contextWindow": 200000,
263
+ "costClass": "variable",
264
+ "strengths": ["agentic-coding", "tool-use", "privacy", "cost-efficiency", "fast-inference", "long-context", "reliability"],
265
+ "notes": "Perplexity hybrid local-cloud inference orchestrator (announced Computex 2026, part of Personal Computer). Autonomously routes: sensitive/privacy work to local on-device models, complex reasoning to frontier cloud. High-ROI for pretool-gating (local fast/privacy path), cheap-fast-path, and dashboard-analysis with sensitive data/lessons. Pair with ThumbGate hybrid-routing gates (see adapters/perplexity/HYBRID.md). Coming July 2026 for local inference."
266
+ },
267
+ {
268
+ "id": "perplexity/hybrid-local",
269
+ "vendor": "Perplexity",
270
+ "family": "hybrid",
271
+ "provider": "perplexity",
272
+ "model": "local-inference",
273
+ "contextWindow": 128000,
274
+ "costClass": "low",
275
+ "strengths": ["fast-inference", "privacy", "tool-use", "reliability"],
276
+ "notes": "Local-only mode of Perplexity hybrid for on-device pre-action gating, sensitivity classification, and low-latency checks on AI PCs (Intel, NVIDIA). Escalate via orchestrator for full capability. Use for cheap-fast-path and pretool-gating workloads."
277
+ },
278
+ {
279
+ "id": "automation-anywhere/enterprise-claw",
280
+ "vendor": "Automation Anywhere",
281
+ "family": "claw-style",
282
+ "provider": "automation-anywhere",
283
+ "model": "enterprise-claw",
284
+ "contextWindow": 200000,
285
+ "costClass": "variable",
286
+ "strengths": ["agentic-coding", "tool-use", "orchestration", "audit-trail", "security", "on-prem", "airgap", "dynamic-tool-creation", "screen-interaction"],
287
+ "notes": "Claw-style autonomous enterprise agents (EnterpriseClaw, inspired by Nvidia OpenShell). Device-level access, runtime tool creation, screen/UI interaction, multi-platform orchestration. Governance infrastructure (ThumbGate) is explicitly called out as catching up. High-ROI for enterprise on-prem/hybrid use cases. Pair with perplexity/hybrid for inference routing. See adapters/claw/CLAW.md and new gate templates."
288
+ },
289
+ {
290
+ "id": "nvidia/openshell-claw",
291
+ "vendor": "NVIDIA",
292
+ "family": "claw-style",
293
+ "provider": "nvidia",
294
+ "model": "openshell",
295
+ "contextWindow": 128000,
296
+ "costClass": "medium",
297
+ "strengths": ["agentic-coding", "tool-use", "dynamic-tool-creation", "screen-interaction", "on-prem", "self-evolving"],
298
+ "notes": "Nvidia OpenShell runtime for autonomous self-evolving claw-style agents (basis for Automation Anywhere EnterpriseClaw). Run locally/on-prem. ThumbGate provides the missing governance layer (gates, feedback, rules). Use with hybrid local-cloud for full enterprise deployment."
299
+ },
300
+ {
301
+ "id": "nousresearch/hermes-3-llama-3.1-70b",
302
+ "vendor": "Nous Research",
303
+ "family": "hermes",
304
+ "provider": "openrouter",
305
+ "model": "hermes-3-llama-3.1-70b",
306
+ "contextWindow": 128000,
307
+ "costClass": "medium",
308
+ "strengths": ["agentic-coding", "tool-use", "self-evolving", "skill-synthesis", "multi-platform", "reasoning"],
309
+ "notes": "Nous Research's Hermes 3 model family, optimized for autonomous reasoning, tool-use, and self-improvement loops. Benchmark KV caching, trace-length constraints, and dynamic skill synthesis validation rules before deploying."
310
+ },
311
+ {
312
+ "id": "anthropic/claude-opus-4-8",
313
+ "vendor": "Anthropic",
314
+ "family": "claude",
315
+ "provider": "anthropic",
316
+ "model": "claude-opus-4.8",
317
+ "contextWindow": 200000,
318
+ "costClass": "high",
319
+ "strengths": ["agentic-coding", "tool-use", "reliability", "long-context", "long-horizon-coding", "multi-agent"],
320
+ "notes": "Frontier coding model with 56.7 Coding Index. Grew 140% WoW on OpenRouter to 1.33T tokens. Ideal for long trace reviews and complex reasoning steps, despite higher latency and cost."
321
+ },
322
+ {
323
+ "id": "google/gemini-3.1-pro-preview",
324
+ "vendor": "Google",
325
+ "family": "gemini",
326
+ "provider": "google",
327
+ "model": "gemini-3.1-pro-preview",
328
+ "contextWindow": 2000000,
329
+ "costClass": "medium",
330
+ "strengths": ["agentic-coding", "tool-use", "reliability", "long-context", "data-analysis", "cost-efficiency"],
331
+ "notes": "Google's 3.1 Pro Preview model with 55.5 Coding Index and massive 2M token context window. Strong choice for complex RAG tasks, repository-scale auditing, and long-context trace analysis."
217
332
  }
218
333
  ]
219
334
  }
@@ -0,0 +1,80 @@
1
+ {
2
+ "$comment": "Sentinel manifest for post-deploy verification of top-level marketing pages. Each entry is curled against the live production URL after every push to main; if the sentinel string is missing from the response body, the deploy is flagged as broken and the workflow comments on the associated PR. Adding a new top-level marketing page? Add it here so the deploy-verify workflow catches a route regression before a real visitor does. Keep sentinel strings short and stable (visible body copy, not styling classes or hashed assets).",
3
+ "version": 1,
4
+ "pages": [
5
+ {
6
+ "route": "/",
7
+ "sentinel": "Stop paying for the same AI mistake twice",
8
+ "description": "Home page hero (lifeblood — never regress)"
9
+ },
10
+ {
11
+ "route": "/pro",
12
+ "sentinel": "ThumbGate Pro",
13
+ "description": "Pro landing page"
14
+ },
15
+ {
16
+ "route": "/checkout/pro",
17
+ "sentinel": "Optional. Stripe can collect your email on the secure checkout page.",
18
+ "mustNotContain": [
19
+ "Required for your Stripe receipt and checkout recovery link."
20
+ ],
21
+ "userAgent": "curl/8.0.0",
22
+ "description": "Pro checkout interstitial must not require email before Stripe"
23
+ },
24
+ {
25
+ "route": "/diagnostic",
26
+ "sentinel": "Workflow Hardening Diagnostic",
27
+ "description": "Workflow Hardening Diagnostic intake page for high-intent warm traffic"
28
+ },
29
+ {
30
+ "route": "/dashboard",
31
+ "sentinel": "ThumbGate Dashboard",
32
+ "description": "Dashboard demo (already enforced by /dashboard step; included here for symmetry with PR comment surface)"
33
+ },
34
+ {
35
+ "route": "/federal",
36
+ "sentinel": "ThumbGate",
37
+ "description": "Federal lead-gen page (SBIR / GSA arrivals)"
38
+ },
39
+ {
40
+ "route": "/numbers",
41
+ "sentinel": "ThumbGate",
42
+ "description": "First-party numbers / data transparency page"
43
+ },
44
+ {
45
+ "route": "/ai-malpractice-prevention",
46
+ "sentinel": "Pre-Execution Controls for Legal AI Agents",
47
+ "description": "Legal AI intake risk-controls page for law-firm pilot conversations"
48
+ },
49
+ {
50
+ "route": "/learn/background-agent-control-layer",
51
+ "sentinel": "Background agents need a control layer outside the model",
52
+ "description": "Background-agent AI-SDLC control-layer positioning page"
53
+ },
54
+ {
55
+ "route": "/llm-context.md",
56
+ "sentinel": "## What ThumbGate Is",
57
+ "description": "Canonical declarative summary AI crawlers read"
58
+ },
59
+ {
60
+ "route": "/robots.txt",
61
+ "sentinel": "User-agent",
62
+ "description": "Crawl directives (mandatory per Google's 2026-05-15 AI features guide)"
63
+ },
64
+ {
65
+ "route": "/sitemap.xml",
66
+ "sentinel": "<urlset",
67
+ "description": "XML sitemap for search-engine discoverability"
68
+ },
69
+ {
70
+ "route": "/about",
71
+ "sentinel": "Igor Ganapolsky",
72
+ "description": "About page for GEO discoverability"
73
+ },
74
+ {
75
+ "route": "/leash-beta",
76
+ "sentinel": "Stop Runaway AI Agents From Freezing Your Machine",
77
+ "description": "Hermes Mobile founding beta / Leash Pro pricing landing"
78
+ }
79
+ ]
80
+ }
@@ -2,9 +2,7 @@
2
2
  "version": 1,
3
3
  "defaultWorkspace": "thumbgate",
4
4
  "proofLinks": {
5
- "verificationEvidence": "https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md",
6
- "compatibilityReport": "https://github.com/IgorGanapolsky/ThumbGate/blob/main/proof/compatibility/report.json",
7
- "automationReport": "https://github.com/IgorGanapolsky/ThumbGate/blob/main/proof/automation/report.json"
5
+ "verificationEvidence": "https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md"
8
6
  },
9
7
  "tiles": [
10
8
  {
@@ -72,6 +72,11 @@ components:
72
72
  description: Optional domain tags. If omitted, ThumbGate infers one from the feedback text before promotion.
73
73
  skill:
74
74
  type: string
75
+ source:
76
+ type: string
77
+ enum: [chatgpt_gpt]
78
+ default: chatgpt_gpt
79
+ description: Attribution marker for ThumbGate analytics. The published ThumbGate GPT should send `chatgpt_gpt` so owner dashboards can distinguish GPT Action calls from local API calls.
75
80
  IntentPlanRequest:
76
81
  type: object
77
82
  required: [intentId]
@@ -89,6 +94,8 @@ components:
89
94
  delegationMode:
90
95
  type: string
91
96
  enum: [off, auto, sequential]
97
+ enforcePlanQuality:
98
+ type: boolean
92
99
  approved:
93
100
  type: boolean
94
101
  repoPath:
@@ -880,6 +887,11 @@ paths:
880
887
  toolName:
881
888
  type: string
882
889
  description: Tool name is optional when provider-native tool call payload is supplied.
890
+ source:
891
+ type: string
892
+ enum: [chatgpt_gpt]
893
+ default: chatgpt_gpt
894
+ description: Attribution marker for ThumbGate analytics. The published ThumbGate GPT should send `chatgpt_gpt` so owner dashboards can distinguish GPT Action calls from local API calls.
883
895
  provider:
884
896
  type: string
885
897
  model:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thumbgate",
3
- "version": "1.27.18",
3
+ "version": "1.27.19",
4
4
  "description": "ThumbGate self-improving agent governance: thumbs-up/down turns every mistake into a prevention rule and blocks repeat patterns. 33 pre-action checks, 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": {
package/public/blog.html CHANGED
@@ -4,14 +4,14 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>ThumbGate Blog — Agent Governance Engineering</title>
7
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
7
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
8
8
  <meta
9
9
  name="description"
10
10
  content="Technical breakdowns, release notes, and agent governance insights from the ThumbGate team."
11
11
  />
12
12
  <link
13
13
  rel="canonical"
14
- href="https://thumbgate-production.up.railway.app/blog"
14
+ href="https://thumbgate.ai/blog"
15
15
  />
16
16
  <meta
17
17
  property="og:title"
@@ -24,14 +24,14 @@
24
24
  <meta property="og:type" content="website" />
25
25
  <meta
26
26
  property="og:url"
27
- content="https://thumbgate-production.up.railway.app/blog"
27
+ content="https://thumbgate.ai/blog"
28
28
  />
29
29
  <script type="application/ld+json">
30
30
  {
31
31
  "@context": "https://schema.org",
32
32
  "@type": "Blog",
33
33
  "name": "ThumbGate Blog",
34
- "url": "https://thumbgate-production.up.railway.app/blog",
34
+ "url": "https://thumbgate.ai/blog",
35
35
  "publisher": { "@type": "Organization", "name": "ThumbGate" },
36
36
  "blogPost": [
37
37
  {
@@ -3,16 +3,16 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>ThumbGate for Codex - Auto-Updating MCP Plugin</title>
7
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
8
- <meta name="description" content="Install ThumbGate for Codex with an auto-updating MCP plugin, Pre-Action Checks, thumbs-up/down feedback memory, and a local-first Reliability Gateway.">
6
+ <title>ThumbGate for Codex - CLI Setup and Plugin Bundle</title>
7
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
8
+ <meta name="description" content="Install ThumbGate for Codex with CLI setup first, plus a portable Codex plugin bundle for review, marketplace, and offline workflows. Includes Pre-Action Checks and thumbs-up/down feedback memory.">
9
9
  <meta name="keywords" content="ThumbGate Codex plugin, Codex MCP server, Codex pre-action checks, Codex guardrails, thumbgate latest, AI coding agent reliability">
10
10
  <meta property="og:title" content="ThumbGate for Codex">
11
- <meta property="og:description" content="Auto-updating MCP and hook launcher for Codex. One install, then ThumbGate resolves the latest npm runtime when Codex starts.">
11
+ <meta property="og:description" content="CLI-first Codex setup with auto-updating MCP, hooks, and a portable plugin bundle for review or marketplace workflows.">
12
12
  <meta property="og:type" content="website">
13
- <meta property="og:url" content="https://thumbgate-production.up.railway.app/codex-plugin">
14
- <link rel="canonical" href="https://thumbgate-production.up.railway.app/codex-plugin">
15
- <link rel="llm-context" href="/public/llm-context.md" type="text/markdown">
13
+ <meta property="og:url" content="https://thumbgate.ai/codex-plugin">
14
+ <link rel="canonical" href="https://thumbgate.ai/codex-plugin">
15
+ <link rel="llm-context" href="/llm-context.md" type="text/markdown">
16
16
 
17
17
  <script type="application/ld+json">
18
18
  {
@@ -21,10 +21,10 @@
21
21
  "name": "ThumbGate for Codex",
22
22
  "applicationCategory": "DeveloperApplication",
23
23
  "operatingSystem": "macOS, Linux, Windows with Node.js",
24
- "description": "ThumbGate for Codex installs an MCP server and hook launcher that resolves thumbgate@latest at startup, captures thumbs-up/down feedback, and enforces Pre-Action Checks before risky agent actions run.",
25
- "url": "https://thumbgate-production.up.railway.app/codex-plugin",
24
+ "description": "ThumbGate for Codex installs an MCP server and hook launcher that resolves thumbgate@latest at startup, captures thumbs-up/down feedback, and enforces Pre-Action Checks before risky agent actions run. The supported fast path is npx thumbgate init --agent codex; the zip is a portable plugin bundle, not a double-click desktop installer.",
25
+ "url": "https://thumbgate.ai/codex-plugin",
26
26
  "downloadUrl": "https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip",
27
- "installUrl": "https://thumbgate-production.up.railway.app/codex-plugin",
27
+ "installUrl": "https://thumbgate.ai/codex-plugin",
28
28
  "license": "https://opensource.org/licenses/MIT",
29
29
  "dateModified": "2026-04-20",
30
30
  "creator": {
@@ -71,7 +71,15 @@
71
71
  "name": "What is the fastest Codex install path?",
72
72
  "acceptedAnswer": {
73
73
  "@type": "Answer",
74
- "text": "Run npx thumbgate init --agent codex for the automatic local setup, or use the standalone Codex plugin bundle if you want a portable plugin surface."
74
+ "text": "Run npx thumbgate init --agent codex for the automatic local setup. Use the standalone Codex plugin bundle only when you want a portable plugin folder for review, marketplace wiring, offline handoff, or a Codex build that exposes local plugin import."
75
+ }
76
+ },
77
+ {
78
+ "@type": "Question",
79
+ "name": "Does the release zip install itself in Codex Desktop?",
80
+ "acceptedAnswer": {
81
+ "@type": "Answer",
82
+ "text": "No. The zip is not a double-click installer. Extract it and install the folder through a Codex plugin directory or marketplace flow if your Codex build exposes one. Otherwise use npx thumbgate init --agent codex."
75
83
  }
76
84
  }
77
85
  ]
@@ -220,9 +228,9 @@
220
228
  <p class="sub" style="font-size:13px;opacity:0.85;">Updated: <time datetime="2026-04-20">2026-04-20</time> · by <a href="https://github.com/IgorGanapolsky" style="color:inherit;">Igor Ganapolsky</a></p>
221
229
  <p class="sub">ThumbGate wires Codex into local-first feedback memory, MCP tools, and hook enforcement. The launcher resolves <code>thumbgate@latest</code> when Codex starts, so published npm fixes reach your active MCP server after a restart.</p>
222
230
  <div class="actions">
223
- <a class="button primary" href="https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip" target="_blank" rel="noopener" onclick="if(typeof plausible==='function')plausible('codex_plugin_download')">Download Codex plugin</a>
231
+ <a class="button primary" href="/guide" onclick="if(typeof plausible==='function')plausible('codex_cli_setup')">Install with CLI setup</a>
224
232
  <a class="button secondary" href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/plugins/codex-profile/INSTALL.md" target="_blank" rel="noopener">Read install docs</a>
225
- <a class="button secondary" href="/guide">Use CLI setup</a>
233
+ <a class="button secondary" href="https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip" target="_blank" rel="noopener" onclick="if(typeof plausible==='function')plausible('codex_plugin_download')">Download zip for review</a>
226
234
  </div>
227
235
  <nav class="proof-bar" aria-label="Codex proof and conversion links">
228
236
  <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a>
@@ -231,8 +239,9 @@
231
239
  <a href="/?utm_source=codex&utm_medium=plugin_page&utm_campaign=codex_team_follow_on&utm_content=workflow_sprint&campaign_variant=teams_follow_on&offer_code=CODEX-TEAMS_FOLLOW_ON&cta_id=codex_team_follow_on&cta_placement=plugin_page&surface=codex_plugin#workflow-sprint-intake">Team workflow sprint</a>
232
240
  </nav>
233
241
  <pre class="terminal">$ npx thumbgate init --agent codex
242
+ $ npx thumbgate feedback-self-test
234
243
  # Writes ~/.codex/config.toml and ~/.codex/config.json
235
- # MCP + hooks install thumbgate@latest before serving or checking gates</pre>
244
+ # Restart Codex, then confirm ThumbGate is enabled in Plugins or MCP settings</pre>
236
245
  </div>
237
246
  </section>
238
247
 
@@ -251,11 +260,31 @@
251
260
  </div>
252
261
  </section>
253
262
 
263
+ <section class="wrap">
264
+ <div class="eyebrow">Role plugins, Sites, and team OS</div>
265
+ <h2>Codex is becoming a business-work surface. ThumbGate is the action boundary.</h2>
266
+ <div class="steps">
267
+ <div class="step">
268
+ <h3>Role plugins</h3>
269
+ <p>Codex plugins bundle skills, apps, and MCP servers. ThumbGate checks role-specific writes before sales, analytics, design, finance, or support agents modify business systems.</p>
270
+ </div>
271
+ <div class="step">
272
+ <h3>Sites deploys</h3>
273
+ <p>Before a Sites workflow publishes or widens access, ThumbGate can require build proof, intended audience, secret handling, and deployment evidence.</p>
274
+ </div>
275
+ <div class="step">
276
+ <h3>Team Agentic OS</h3>
277
+ <p>Human-editable docs, agent-operating files, and git backups still need runtime checks. ThumbGate gates protected skills, MCP config, memory scope, and workflow contracts.</p>
278
+ </div>
279
+ </div>
280
+ <p><a href="/learn/codex-role-plugins-need-governance">Read the Codex role-plugin governance guide</a> · <a href="/learn/agentic-os-team-governance">Read the Agentic OS team governance guide</a> · <a href="/learn/cost-aware-agent-gate-routing">Read cost-aware gate routing</a></p>
281
+ </section>
282
+
254
283
  <section class="wrap split">
255
284
  <div>
256
285
  <div class="eyebrow">What Codex gets</div>
257
286
  <h2>MCP memory, hook checks, and a dashboard lane in the same install path.</h2>
258
- <p>Use the standalone plugin when you want a portable Codex bundle. Use <code>npx thumbgate init --agent codex</code> when you want the shortest path on this machine. Both paths point at the same Reliability Gateway and the same npm runtime.</p>
287
+ <p>Use <code>npx thumbgate init --agent codex</code> when you want the shortest path on this machine. Use the standalone zip only when you need a portable plugin folder for audit, offline handoff, marketplace wiring, or a Codex build that exposes local plugin import.</p>
259
288
  <p class="status">The Codex launcher checks npm on startup. Restart Codex after a ThumbGate publish to let the MCP server and hook bundle pick up the latest runtime.</p>
260
289
  </div>
261
290
  <figure class="proof">
@@ -273,12 +302,31 @@
273
302
  <p>Run <code>npx thumbgate init --agent codex</code>. ThumbGate writes the MCP server block and hook bundle into your Codex config files.</p>
274
303
  </div>
275
304
  <div class="step">
276
- <h3>2. Standalone plugin</h3>
277
- <p>Use the release bundle when Codex loads plugin surfaces directly. The bundle includes the manifest, MCP config, marketplace entry, and install docs.</p>
305
+ <h3>2. Plugin directory</h3>
306
+ <p>For a true plugin install, use Codex Plugins or a marketplace source. In the Add marketplace dialog, do not keep Codex's default <code>plugins/codex</code> sparse path for this repo; use <code>.agents/plugins/marketplace.json</code> and <code>plugins/codex-profile</code>, or leave sparse paths blank for a local checkout.</p>
278
307
  </div>
279
308
  <div class="step">
280
- <h3>3. Verify in Codex</h3>
281
- <p>Open Codex settings, confirm <code>thumbgate</code> is toggled on, then restart Codex after npm releases to pick up the latest runtime.</p>
309
+ <h3>3. Zip for review</h3>
310
+ <p>The zip is a portable folder, not a double-click installer. Extract it, inspect <code>.codex-plugin/plugin.json</code>, and use CLI setup when local plugin import is unavailable.</p>
311
+ </div>
312
+ </div>
313
+ </section>
314
+
315
+ <section class="wrap">
316
+ <div class="eyebrow">Desktop install reality</div>
317
+ <h2>Do not make users guess what to do with a zip.</h2>
318
+ <div class="steps">
319
+ <div class="step">
320
+ <h3>Use first</h3>
321
+ <p><code>npx thumbgate init --agent codex</code> is the supported self-serve path. It configures MCP, hooks, and the status line without asking the user to understand plugin internals.</p>
322
+ </div>
323
+ <div class="step">
324
+ <h3>Use when available</h3>
325
+ <p>If Codex shows Plugins, open the directory, clear restrictive filters like <code>Built by OpenAI</code>, install ThumbGate from a marketplace or shared plugin entry, then start a new thread after install.</p>
326
+ </div>
327
+ <div class="step">
328
+ <h3>Use for operators</h3>
329
+ <p>Download the zip only for security review, offline delivery, or manual marketplace wiring. The user selects the extracted folder, never the compressed file.</p>
282
330
  </div>
283
331
  </div>
284
332
  </section>
@@ -312,7 +360,11 @@
312
360
  </div>
313
361
  <div class="faq">
314
362
  <h3>Where is the direct asset?</h3>
315
- <p>The standalone zip remains available at <a href="https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip" target="_blank" rel="noopener">GitHub Releases</a>. This page is the human install surface so users do not land on an unexplained file download.</p>
363
+ <p>The standalone zip remains available at <a href="https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip" target="_blank" rel="noopener">GitHub Releases</a>. It is for review, offline delivery, and manual marketplace workflows. It is not a double-click Codex Desktop installer.</p>
364
+ </div>
365
+ <div class="faq">
366
+ <h3>I searched Plugins for ThumbGate. Why is it missing?</h3>
367
+ <p>First clear the <code>Built by OpenAI</code> filter. ThumbGate is a local or third-party marketplace plugin, so an OpenAI-only filter hides it. Then confirm the marketplace includes <code>.agents/plugins/marketplace.json</code> and <code>plugins/codex-profile</code>; the default <code>plugins/codex</code> sparse path will miss this repo.</p>
316
368
  </div>
317
369
  </div>
318
370
  </section>
@@ -5,14 +5,14 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Best Pre-Action Check Tools for AI Coding Agents (2026 Comparison)</title>
7
7
  <!-- Privacy-friendly analytics by Plausible -->
8
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
8
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
9
9
  <meta name="description" content="Compare pre-action check 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 checks, 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 Check Tools for AI Coding Agents (2026 Comparison)">
12
12
  <meta property="og:description" content="Compare pre-action check tools that prevent AI coding agents from making costly mistakes. ThumbGate vs manual review vs post-hoc fixes.">
13
13
  <meta property="og:type" content="article">
14
- <meta property="og:url" content="https://thumbgate-production.up.railway.app/compare">
15
- <link rel="canonical" href="https://thumbgate-production.up.railway.app/compare">
14
+ <meta property="og:url" content="https://thumbgate.ai/compare">
15
+ <link rel="canonical" href="https://thumbgate.ai/compare">
16
16
 
17
17
  <script type="application/ld+json">
18
18
  {
@@ -28,11 +28,11 @@
28
28
  "publisher": {
29
29
  "@type": "Organization",
30
30
  "name": "ThumbGate",
31
- "url": "https://thumbgate-production.up.railway.app"
31
+ "url": "https://thumbgate.ai"
32
32
  },
33
33
  "datePublished": "2026-04-08",
34
34
  "dateModified": "2026-04-08",
35
- "mainEntityOfPage": "https://thumbgate-production.up.railway.app/compare"
35
+ "mainEntityOfPage": "https://thumbgate.ai/compare"
36
36
  }
37
37
  </script>
38
38
 
@@ -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 unlimited feedback captures, up to 5 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard, recall, lesson search, unlimited rules, and DPO export. Team rollout ($49/seat/mo) adds a shared lesson database and org dashboard."
65
+ "text": "ThumbGate has a free tier that includes local enforcement with 2 feedback captures/day, 10 total captures, up to 3 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds hosted sync, a personal local dashboard, recall, lesson search, unlimited captures/rules, and DPO export. Enterprise (custom pricing, scoped after intake) adds a shared lesson database and org dashboard."
66
66
  }
67
67
  },
68
68
  {
@@ -263,10 +263,33 @@
263
263
 
264
264
  <div class="card">
265
265
  <h3>Evaluating Rein for AI agent governance?</h3>
266
- <p>Rein is a Python decorator that wraps tool functions with policy checks, audit trails, and circuit breakers — targeted at production apps in trading, healthcare, and legal. ThumbGate is the coding-agent specialist with a learning feedback loop and MIT licensing. Same category (pre-action gates), different layer and stack.</p>
266
+ <p>Rein is a Python decorator that wraps tool functions with policy checks, audit trails, and circuit breakers — targeted at production apps in trading, healthcare, and legal. ThumbGate is the coding-agent specialist with a learning feedback loop and MIT licensing. Same category (infrastructure firewalls), different layer and stack.</p>
267
267
  <p><a href="/compare/rein" class="cta">Read ThumbGate vs Rein</a></p>
268
268
  </div>
269
269
 
270
+ <h2>All ThumbGate comparisons</h2>
271
+ <p style="color:var(--muted);">Every head-to-head in one place. ThumbGate is the local-first, learning enforcement layer at the tool-call boundary — most of these tools sit at a different layer and are complementary.</p>
272
+ <ul class="compare-index">
273
+ <li><a href="/compare/sigmashake">ThumbGate vs SigmaShake</a> — learns the rule from your thumbs-down vs a hand-picked ruleset hub</li>
274
+ <li><a href="/compare/claude-code-hooks">ThumbGate vs claude-code-hooks</a> — hosted sync &amp; learning on top of local shell-script hooks</li>
275
+ <li><a href="/compare/arcjet">ThumbGate vs Arcjet</a> — agent-outbound gate pairs with an app-inbound firewall</li>
276
+ <li><a href="/compare/bumblebee">ThumbGate vs Bumblebee</a> — runtime enforcement pairs with static inventory</li>
277
+ <li><a href="/compare/anthropic-containment">ThumbGate vs Anthropic's Claude Containment</a> — an IDE-agent extension of Anthropic's published architecture</li>
278
+ <li><a href="/compare/oak-and-sparrow-gatekeeper">ThumbGate vs Gatekeeper (Oak &amp; Sparrow)</a> — agent-action gate pairs with a workforce-input gate</li>
279
+ <li><a href="/compare/fallow">ThumbGate vs Fallow</a> — static analysis vs agent-action enforcement</li>
280
+ <li><a href="/compare/heidi">ThumbGate vs HEIDI</a> — behavior enforcement vs supply-chain scanning</li>
281
+ <li><a href="/compare/rein">ThumbGate vs Rein</a> — coding-agent governance vs generic decorator governance</li>
282
+ <li><a href="/compare/anthropic-claude-for-legal">ThumbGate vs Claude for Legal</a> — runtime gate pairs with Anthropic's practice-area plugins</li>
283
+ <li><a href="/compare/mem0">ThumbGate vs Mem0</a> — enforcement vs memory for AI agents</li>
284
+ <li><a href="/compare/speclock">ThumbGate vs SpecLock</a> — thumbs-feedback enforcement vs manual specs</li>
285
+ <li><a href="/compare/ai-experience-orchestration">ThumbGate vs AI Experience Orchestration</a> — orchestration vs execution enforcement</li>
286
+ <li><a href="/compare/agentix-labs">ThumbGate vs Agentix Labs</a> — productized enforcement vs custom AI-agent services</li>
287
+ <li><a href="/compare/adopt-ai">ThumbGate vs Adopt AI</a> — pre-execution firewall vs evals-first gating for production blast radius</li>
288
+ <li><a href="/compare/arcade">ThumbGate vs Arcade</a> — coding-agent guardrails vs enterprise API auth delegation</li>
289
+ <li><a href="/compare/databricks-unity-ai-gateway">ThumbGate vs Databricks Unity AI Gateway</a> — enterprise gateway vs local pre-action gates</li>
290
+ <li><a href="/compare/hermes-everos-memory">ThumbGate vs Hermes and EverOS</a> — local-first behavior gates vs passive agent memory stores</li>
291
+ </ul>
292
+
270
293
  <h2>How It Works</h2>
271
294
  <div class="step-grid">
272
295
  <div class="step-card">
@@ -311,7 +334,7 @@
311
334
 
312
335
  <div class="card">
313
336
  <h3>Is ThumbGate free?</h3>
314
- <p>ThumbGate has a free tier that includes local enforcement with unlimited feedback captures, up to 5 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard, recall, lesson search, unlimited rules, and DPO export. Team rollout ($49/seat/mo) adds a shared lesson database and org dashboard.</p>
337
+ <p>ThumbGate has a free tier that includes local enforcement with 2 feedback captures/day, 10 total captures, up to 3 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds hosted sync, a personal local dashboard, recall, lesson search, unlimited captures/rules, and DPO export. Enterprise (custom pricing, scoped after intake) adds a shared lesson database and org dashboard.</p>
315
338
  </div>
316
339
 
317
340
  <div class="card">