thumbgate 1.27.20 → 1.28.0

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 (48) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.well-known/mcp/server-card.json +1 -1
  3. package/README.md +63 -42
  4. package/adapters/claude/.mcp.json +2 -2
  5. package/adapters/mcp/server-stdio.js +1 -1
  6. package/adapters/opencode/opencode.json +1 -1
  7. package/bin/cli.js +25 -8
  8. package/bin/postinstall.js +1 -1
  9. package/config/entitlement-public-keys.json +6 -0
  10. package/config/gates/default.json +1 -1
  11. package/config/github-about.json +2 -2
  12. package/config/merge-quality-checks.json +3 -0
  13. package/package.json +12 -4
  14. package/public/about.html +1 -4
  15. package/public/agent-manager.html +6 -6
  16. package/public/agents-cost-savings.html +3 -3
  17. package/public/ai-malpractice-prevention.html +1 -1
  18. package/public/blog.html +12 -9
  19. package/public/chatgpt-app.html +3 -3
  20. package/public/codex-enterprise.html +3 -3
  21. package/public/codex-plugin.html +5 -5
  22. package/public/compare.html +10 -10
  23. package/public/dashboard.html +1 -1
  24. package/public/federal.html +2 -2
  25. package/public/guide.html +14 -14
  26. package/public/index.html +81 -70
  27. package/public/install.html +14 -14
  28. package/public/learn.html +4 -17
  29. package/public/numbers.html +2 -2
  30. package/public/pricing.html +12 -19
  31. package/public/pro.html +2 -2
  32. package/scripts/agent-reward-model.js +13 -0
  33. package/scripts/bayes-optimal-gate.js +6 -1
  34. package/scripts/cli-feedback.js +17 -1
  35. package/scripts/commercial-offer.js +3 -3
  36. package/scripts/entitlement.js +250 -0
  37. package/scripts/export-databricks-bundle.js +5 -0
  38. package/scripts/export-dpo-pairs.js +6 -0
  39. package/scripts/export-hf-dataset.js +5 -0
  40. package/scripts/gates-engine.js +15 -3
  41. package/scripts/imperative-detector.js +85 -0
  42. package/scripts/intervention-policy.js +13 -0
  43. package/scripts/pr-manager.js +9 -22
  44. package/scripts/pro-local-dashboard.js +198 -0
  45. package/scripts/risk-scorer.js +6 -0
  46. package/scripts/seo-gsd.js +2 -2
  47. package/scripts/thompson-sampling.js +11 -2
  48. package/src/api/server.js +81 -10
@@ -46,7 +46,7 @@
46
46
  "name": "How does ThumbGate help the Agent Manager?",
47
47
  "acceptedAnswer": {
48
48
  "@type": "Answer",
49
- "text": "ThumbGate is the pre-action enforcement layer underneath what the role owns. It runs PreToolUse hooks at the tool-call boundary, auto-distills prevention rules from real thumbs-down feedback and writes them into CLAUDE.md, provides an org-wide rule library and hosted dashboard, and keeps an adapter matrix current as Claude Code, Cursor, and Codex change so the role does not have to be the operator themselves. Each block carries the rule that fired and the evidence that triggered it, so the agent can choose a safer plan."
49
+ "text": "ThumbGate is the pre-action enforcement layer under the role. It runs PreToolUse hooks, distills repeated thumbs-down feedback into CLAUDE.md rules, and shows the rule plus evidence on each block. Pro keeps personal recall, exports, dashboard proof, and adapters maintained; Enterprise adds the org-wide rule library and hosted dashboard."
50
50
  }
51
51
  },
52
52
  {
@@ -54,7 +54,7 @@
54
54
  "name": "Is ThumbGate free for the Agent Manager to start?",
55
55
  "acceptedAnswer": {
56
56
  "@type": "Answer",
57
- "text": "Yes. npx thumbgate init in one repo is free and MIT licensed, and the gates work locally without a hosted account. The paid tier adds the hosted dashboard, the org-wide rule library, DPO/HuggingFace export, and 24x7 ops on the adapter matrix — the operational work the role would otherwise have to do itself."
57
+ "text": "Yes. npx thumbgate init in one repo is free and MIT licensed, and gates work locally without a hosted account. Pro adds personal recall, dashboard proof, DPO/HuggingFace export, and managed adapters. Enterprise adds the hosted dashboard, org-wide rule library, and rollout support."
58
58
  }
59
59
  },
60
60
  {
@@ -112,7 +112,7 @@
112
112
  <tbody>
113
113
  <tr>
114
114
  <td><strong>CLAUDE.md hierarchy</strong><br>Keeping the policy that the model reads on every session current and consistent across repos.</td>
115
- <td>Prevention rules auto-distilled from real <code>👎</code> feedback and written into <code>CLAUDE.md</code> by <code>scripts/feedback-to-rules.js</code>. Org-wide rule library on the hosted dashboard.</td>
115
+ <td>Prevention rules distilled from repeated real <code>👎</code> feedback and written into <code>CLAUDE.md</code> by <code>scripts/feedback-to-rules.js</code>. Enterprise adds the hosted org-wide rule library.</td>
116
116
  </tr>
117
117
  <tr>
118
118
  <td><strong>Plugin marketplace</strong><br>Deciding which Claude Code / Cursor / Codex plugins are blessed and which are not.</td>
@@ -128,7 +128,7 @@
128
128
  </tr>
129
129
  <tr>
130
130
  <td><strong>Keep them current</strong><br>When Claude Code ships a breaking change to hooks or to the plugin API, your rollout cannot wait a quarter.</td>
131
- <td>24×7 ops on the adapter matrix. SonarCloud regressions fixed in &lt;24h. The hosted tier is the operator the role does not have to be themselves.</td>
131
+ <td>24×7 ops on the adapter matrix. SonarCloud regressions fixed in &lt;24h. Pro covers personal adapter maintenance; Enterprise is the hosted operator.</td>
132
132
  </tr>
133
133
  </tbody>
134
134
  </table>
@@ -145,7 +145,7 @@
145
145
  </div>
146
146
  <div class="card">
147
147
  <h3>Phase 2 — Rollout lands</h3>
148
- <p>Infrastructure is ready; the first wave finds it productive. This is where the Agent Manager becomes a named role. ThumbGate's hosted dashboard, org-wide rule library, and DPO export are what that role uses to keep CLAUDE.md and the permissions policy consistent across repos.</p>
148
+ <p>Infrastructure is ready; the first wave finds it productive. This is where the Agent Manager becomes a named role. ThumbGate Enterprise's hosted dashboard, org-wide rule library, and DPO export keep CLAUDE.md and permissions consistent across repos.</p>
149
149
  </div>
150
150
  <div class="card">
151
151
  <h3>Phase 3 — Adoption spreads</h3>
@@ -156,7 +156,7 @@
156
156
  <h2>How to start</h2>
157
157
  <ol>
158
158
  <li><strong>Install free.</strong> <code>npx thumbgate init</code> in one repo. Captures thumbs-up/down feedback locally; auto-promotes repeated failures into prevention rules.</li>
159
- <li><strong>Wire one Pre-Action Check.</strong> Pick the most-repeated agent mistake your org has felt this month. Promote that one to a rule. Watch the next attempt get blocked at the tool-call boundary, with the rule that fired in the agent's reasoning trace.</li>
159
+ <li><strong>Wire one Pre-Action Check.</strong> Pick the most-repeated agent mistake your org has felt this month. Promote that one to a rule. Watch the next attempt get flagged and logged at the tool-call boundary (and hard-blocked under strict enforcement), with the rule that fired in the agent's reasoning trace.</li>
160
160
  <li><strong>Run the Workflow Hardening Sprint.</strong> When phase 2 hits — when you need shared rules, org dashboard visibility, and adapter coverage you do not have to maintain yourself — the sprint is the path from local proof to managed rollout.</li>
161
161
  </ol>
162
162
 
@@ -78,7 +78,7 @@
78
78
  <p>"Measurable" is the operative word. A token-spend dashboard tells finance how much got burned; it doesn't tell the CIO board what was averted. <code>thumbgate cost</code> prints a single conservative dollar figure backed by the gate-block count from <em>your</em> machine — not "what enterprises like you saved." That's the artifact that survives a 2026 budget review.</p>
79
79
 
80
80
  <h2>One command, one number</h2>
81
- <p>Once ThumbGate is installed and gates have been firing, this is what an operator sees:</p>
81
+ <p>Once ThumbGate is installed and gates have been firing, this is what an operator sees. The figures below are an <strong>illustrative example</strong> — your numbers are computed from your own machine's <code>gate-stats.json</code>, not from ThumbGate traction data:</p>
82
82
  <pre><code>$ thumbgate cost
83
83
 
84
84
  💰 ThumbGate cost-savings — cumulative
@@ -105,7 +105,7 @@
105
105
  <tr><td>See what agents spent last week</td><td>✅</td><td>Partial (via dashboard)</td></tr>
106
106
  <tr><td>Allocate spend to teams / features</td><td>✅</td><td>Per-gate breakdown via <code>byGate</code></td></tr>
107
107
  <tr><td>Stop a known-bad tool call before it hits the model</td><td>❌</td><td>✅ — PreToolUse gate fires, no API call made</td></tr>
108
- <tr><td>Promote a one-off failure into a permanent gate</td><td>❌</td><td>✅ — feedback loop + lesson DB</td></tr>
108
+ <tr><td>Promote a one-off failure into a persistent gate</td><td>❌</td><td>✅ — feedback loop + lesson DB</td></tr>
109
109
  <tr><td>Surface gate candidates from <em>silent</em> failures (where no human ever gave thumbs-down)</td><td>❌</td><td>✅ — unsupervised silent-failure clustering, on by default</td></tr>
110
110
  <tr><td>Print conservative $ saved per day</td><td>❌</td><td>✅ — <code>thumbgate cost</code></td></tr>
111
111
  <tr><td>K8s pod-level allocation, finance-grade reporting</td><td>✅ (that's their core)</td><td>❌ (not our layer)</td></tr>
@@ -131,7 +131,7 @@ npx thumbgate cost # see what the gates were worth</code></pre>
131
131
  <div class="quote">"The category isn't 'FinOps for AI' — it's 'gates that stop the spend so FinOps has less to report on.' One sits behind the other."</div>
132
132
 
133
133
  <div class="card">
134
- <p><strong>The free CLI is real. The paid tier is the hosted dashboard, org-wide rule library, and the operator the Agent Manager doesn't have to be themselves.</strong></p>
134
+ <p><strong>The free CLI is real. Pro adds the personal dashboard, recall, exports, and managed adapters. Enterprise is the hosted dashboard, org-wide rule library, and the operator the Agent Manager doesn't have to be themselves.</strong></p>
135
135
  <p>
136
136
  <a href="/#workflow-sprint-intake?utm_source=website&amp;utm_medium=agents_cost_savings_page&amp;utm_campaign=finops_sprint&amp;cta_id=agents_cost_savings_sprint_intake&amp;cta_placement=agents_cost_savings_page" class="cta">Start the Workflow Hardening Sprint</a>
137
137
  <a href="/checkout/pro?utm_source=website&amp;utm_medium=agents_cost_savings_page&amp;utm_campaign=pro_upgrade&amp;cta_id=agents_cost_savings_pro_checkout&amp;cta_placement=agents_cost_savings_page&amp;plan_id=pro" class="secondary">Or start Pro at $19/mo →</a>
@@ -428,7 +428,7 @@
428
428
 
429
429
  <section>
430
430
  <h2>Yes, the pilot can start with preloaded ground truth.</h2>
431
- <p class="section-lead">The first pilot should not ask the model to discover the firm's risk posture. ThumbGate should load the approved rule pack before the first intake simulation, then prove that the agent is physically stopped when a proposed action violates that pack.</p>
431
+ <p class="section-lead">The first pilot should not ask the model to discover the firm's risk posture. ThumbGate should load the approved rule pack before the first intake simulation, then prove that the agent is stopped at the tool-call boundary when a proposed action violates that pack (in hard-block mode; gates can also be set to review-queue or warn).</p>
432
432
  <div class="grid">
433
433
  <div class="card">
434
434
  <span class="tag green">Inputs</span>
package/public/blog.html CHANGED
@@ -213,16 +213,18 @@
213
213
  <h3>Real examples</h3>
214
214
  <ul>
215
215
  <li>
216
- <strong>Force-push to main</strong> &mdash; Gate fires, push never
217
- happens. Agent is redirected to create a branch and open a PR.
216
+ <strong>Force-push to main</strong> &mdash; Gate fires and logs;
217
+ the agent is redirected to create a branch and open a PR. Hard-blocked
218
+ under strict enforcement.
218
219
  </li>
219
220
  <li>
220
221
  <strong>Unknown dependency install</strong> &mdash; Flagged for human
221
222
  review. Agent pauses until you approve.
222
223
  </li>
223
224
  <li>
224
- <strong>Destructive shell command</strong> &mdash; Blocked by a
225
- prevention rule learned from a prior incident.
225
+ <strong>Destructive shell command</strong> &mdash; Hard-blocked by a
226
+ prevention rule learned from a prior incident (destructive deletes are
227
+ a hard-block class by default).
226
228
  </li>
227
229
  </ul>
228
230
 
@@ -310,8 +312,9 @@
310
312
  <p>
311
313
  Claude Code has a sophisticated permission model and tool-calling
312
314
  pipeline. What it does <strong>not</strong> have is feedback-driven
313
- enforcement — the ability to learn from past mistakes and physically
314
- block the agent from repeating them.
315
+ enforcement — the ability to learn from past mistakes and flag the
316
+ agent (hard-blocking the catastrophic ones, or any rule under strict
317
+ enforcement) before it repeats them.
315
318
  </p>
316
319
 
317
320
  <p>
@@ -325,8 +328,9 @@
325
328
  prevention rule
326
329
  </li>
327
330
  <li>
328
- <strong>Gates enforce</strong> — PreToolUse hooks block the action
329
- before execution
331
+ <strong>Gates enforce</strong> — PreToolUse hooks flag and log the
332
+ action before execution, and hard-block the catastrophic ones (or any
333
+ rule under strict enforcement)
330
334
  </li>
331
335
  <li>
332
336
  <strong>Reasoning chains explain</strong> — every block tells you
@@ -464,7 +468,6 @@
464
468
  <div class="container">
465
469
  <a href="/">Home</a> ·
466
470
  <a href="https://github.com/IgorGanapolsky/ThumbGate">GitHub</a> ·
467
- <a href="https://x.com/IgorGanapolsky">X</a> ·
468
471
  <a href="https://www.linkedin.com/in/igorganapolsky">LinkedIn</a>
469
472
  <br /><br />© 2026 ThumbGate · MIT License
470
473
  </div>
@@ -230,7 +230,7 @@
230
230
  </div>
231
231
  <div class="screen">
232
232
  <div class="message">Before I run this migration, check whether this repeats a rejected deploy pattern.</div>
233
- <div class="message"><strong>ThumbGate:</strong> Require evidence first: test output, rollback path, and the exact affected tables. Then install the local gate so future agents are blocked before execution.</div>
233
+ <div class="message"><strong>ThumbGate:</strong> Require evidence first: test output, rollback path, and the exact affected tables. Then install the local gate so future risky actions are flagged and logged before execution (and hard-blocked for catastrophic classes or under strict mode).</div>
234
234
  <code class="code">thumbs down: agent claimed the release was published before checking npm and CI</code>
235
235
  <code class="code">npx thumbgate init --agent codex</code>
236
236
  </div>
@@ -239,7 +239,7 @@
239
239
 
240
240
  <section aria-labelledby="what-ships">
241
241
  <h2 class="section-title" id="what-ships">What ships today</h2>
242
- <p class="section-copy">This is the ChatGPT-facing distribution page. It keeps the claim precise: ChatGPT is the discovery, advice, checkpointing, and typed-feedback surface. The hard block still runs in the local agent or CI lane.</p>
242
+ <p class="section-copy">This is the ChatGPT-facing distribution page. It keeps the claim precise: ChatGPT is the discovery, advice, checkpointing, and typed-feedback surface. The enforcement — flag and log by default, hard-block for catastrophic classes or under strict mode — still runs in the local agent or CI lane.</p>
243
243
  <div class="grid">
244
244
  <article class="card">
245
245
  <h3>Live GPT entrypoint</h3>
@@ -251,7 +251,7 @@
251
251
  </article>
252
252
  <article class="card">
253
253
  <h3>Local enforcement path</h3>
254
- <p>ThumbGate still blocks repeated mistakes where work happens: Codex, Claude Code, Cursor, Gemini CLI, Amp, OpenCode, MCP, and CI.</p>
254
+ <p>ThumbGate still flags repeated mistakes where work happens — and hard-blocks the catastrophic ones (or any rule under strict mode): Codex, Claude Code, Cursor, Gemini CLI, Amp, OpenCode, MCP, and CI.</p>
255
255
  </article>
256
256
  </div>
257
257
  </section>
@@ -67,7 +67,7 @@
67
67
  <div class="container">
68
68
  <span class="pill">Codex in the Enterprise</span>
69
69
  <h1>Codex in production needs a governance layer. Dell-distributed or self-hosted, agents repeat the same mistakes.</h1>
70
- <p>OpenAI and Dell <a href="https://openai.com/index/dell-codex-enterprise-partnership/" target="_blank" rel="noopener" style="color:var(--cyan)">just announced</a> a partnership to distribute Codex into the enterprise — Dell PCs, Dell servers, and Dell's enterprise sales motion become a delivery channel for OpenAI's coding agent. Codex's addressable market jumps from individual developer install to org-wide procurement. The governance gap jumps with it: every enterprise that turns Codex on now needs a runtime layer that captures what the agent did, blocks the repeat failures, and produces the audit trail their security review will ask for.</p>
70
+ <p>OpenAI and Dell <a href="https://openai.com/index/dell-codex-enterprise-partnership/" target="_blank" rel="noopener" style="color:var(--cyan)">just announced</a> a partnership to distribute Codex into the enterprise — Dell PCs, Dell servers, and Dell's enterprise sales motion become a delivery channel for OpenAI's coding agent. Codex's addressable market jumps from individual developer install to org-wide procurement. The governance gap jumps with it: every enterprise that turns Codex on now needs a runtime layer that captures what the agent did, flags the repeat failures (and hard-blocks the catastrophic ones, or any rule under strict enforcement), and produces the audit trail their security review will ask for.</p>
71
71
  <p>ThumbGate already ships a <a href="/codex-plugin">Codex plugin</a>. The free CLI is real, MIT-licensed, and the gates work locally without a hosted account. This page is what that plugin maps to once Codex is no longer one developer's experiment but a procurement line item.</p>
72
72
 
73
73
  <h2>What the governance layer ships</h2>
@@ -78,7 +78,7 @@
78
78
  </div>
79
79
  <div class="card">
80
80
  <h3>Promote repeat failures to PreToolUse gates</h3>
81
- <p>When the same agent mistake shows up twice, ThumbGate distills it into a prevention rule and blocks the next attempt at the tool-call boundary — with the rule that fired in the agent's reasoning trace, so Codex chooses a safer plan instead of being told to "be more careful."</p>
81
+ <p>When the same agent mistake shows up twice, ThumbGate distills it into a prevention rule and flags the next attempt at the tool-call boundary — hard-blocking it for catastrophic classes or under strict enforcement — with the rule that fired in the agent's reasoning trace, so Codex chooses a safer plan instead of being told to "be more careful."</p>
82
82
  </div>
83
83
  <div class="card">
84
84
  <h3>Audit trail enterprise procurement requires</h3>
@@ -101,7 +101,7 @@
101
101
  <p>This wires the Codex hook, sets up the local lesson DB, and gives you the capture/promote/block loop without a hosted account. If you want the standalone Codex plugin as a self-contained zip — for offline distribution to Dell-managed machines or for security review — grab it from <a href="https://github.com/IgorGanapolsky/ThumbGate/releases" target="_blank" rel="noopener" style="color:var(--cyan)">GitHub releases</a> (look for <code>codex-plugin-*.zip</code>).</p>
102
102
 
103
103
  <div class="card">
104
- <p><strong>The free CLI is real. The paid tier is the hosted dashboard, the org-wide rule library, and the operator the Agent Manager doesn't have to be themselves.</strong></p>
104
+ <p><strong>The free CLI is real. Pro adds the personal dashboard, recall, exports, and managed adapters. Enterprise is the hosted dashboard, the org-wide rule library, and the operator the Agent Manager doesn't have to be themselves.</strong></p>
105
105
  <p>
106
106
  <a href="/#workflow-sprint-intake?utm_source=website&amp;utm_medium=codex_enterprise_page&amp;utm_campaign=codex_enterprise_sprint&amp;cta_id=codex_enterprise_sprint_intake&amp;cta_placement=codex_enterprise_page" class="cta">Start the Workflow Hardening Sprint</a>
107
107
  <a href="/checkout/pro?utm_source=website&amp;utm_medium=codex_enterprise_page&amp;utm_campaign=pro_upgrade&amp;cta_id=codex_enterprise_pro_checkout&amp;cta_placement=codex_enterprise_page&amp;plan_id=pro" class="secondary">Or start Pro at $19/mo →</a>
@@ -224,7 +224,7 @@
224
224
  <section class="hero">
225
225
  <div class="wrap">
226
226
  <div class="eyebrow">Codex MCP plugin + Pre-Action Checks</div>
227
- <h1>Give Codex a thumbs-down once. Block the repeat before it runs again.</h1>
227
+ <h1>Give Codex a thumbs-down once. Catch the repeat before it runs again.</h1>
228
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>
229
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>
230
230
  <div class="actions">
@@ -235,7 +235,7 @@
235
235
  <nav class="proof-bar" aria-label="Codex proof and conversion links">
236
236
  <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a>
237
237
  <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/COMMERCIAL_TRUTH.md" target="_blank" rel="noopener">Commercial truth</a>
238
- <a href="/checkout/pro?utm_source=codex&utm_medium=plugin_page&utm_campaign=codex_plugin_follow_on&utm_content=pro&campaign_variant=pro_follow_on&offer_code=CODEX-PRO_FOLLOW_ON&cta_id=codex_pro_follow_on&cta_placement=plugin_page&plan_id=pro&surface=codex_plugin">Upgrade after one blocked repeat</a>
238
+ <a href="/checkout/pro?utm_source=codex&utm_medium=plugin_page&utm_campaign=codex_plugin_follow_on&utm_content=pro&campaign_variant=pro_follow_on&offer_code=CODEX-PRO_FOLLOW_ON&cta_id=codex_pro_follow_on&cta_placement=plugin_page&plan_id=pro&surface=codex_plugin">Upgrade after one caught repeat</a>
239
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>
240
240
  </nav>
241
241
  <pre class="terminal">$ npx thumbgate init --agent codex
@@ -255,8 +255,8 @@ $ npx thumbgate feedback-self-test
255
255
  <p>The Codex launcher installs <code>thumbgate@latest</code> into <code>~/.thumbgate/runtime</code> before running MCP or gate checks. A new npm publish reaches Codex after the app restarts.</p>
256
256
  </div>
257
257
  <div class="tile">
258
- <h3>Hard stop before action</h3>
259
- <p>Pre-Action Checks evaluate commands, file edits, publishes, merges, and other high-risk actions before execution. Bad repeats get blocked before they burn time or tokens.</p>
258
+ <h3>Checks before action</h3>
259
+ <p>Pre-Action Checks evaluate commands, file edits, publishes, merges, and other high-risk actions before execution. Bad repeats are flagged and logged before they burn time or tokens — and hard-blocked for catastrophic classes (secret exfiltration, destructive deletes) or when strict enforcement is enabled.</p>
260
260
  </div>
261
261
  </section>
262
262
 
@@ -334,7 +334,7 @@ $ npx thumbgate feedback-self-test
334
334
  <section class="wrap grid" aria-label="Proof-backed next steps">
335
335
  <div class="tile">
336
336
  <h3>Pro only after proof</h3>
337
- <p>Use the free Codex path to prove one real blocked repeat first. Upgrade to Pro only when you want the personal dashboard, proof-ready exports, and a review surface after that proof exists.</p>
337
+ <p>Use the free Codex path to prove one real caught repeat first. Upgrade to Pro only when you want the personal dashboard, proof-ready exports, and a review surface after that proof exists.</p>
338
338
  </div>
339
339
  <div class="tile">
340
340
  <h3>Commercial truth stays inspectable</h3>
@@ -46,7 +46,7 @@
46
46
  "name": "What is a pre-action check for AI coding agents?",
47
47
  "acceptedAnswer": {
48
48
  "@type": "Answer",
49
- "text": "A pre-action check is an enforcement layer that intercepts AI agent tool calls before they execute. Unlike prompt rules that agents can ignore, pre-action checks physically block dangerous actions such as force-pushing to main, deleting production files, or committing code with failing tests. ThumbGate implements pre-action checks via PreToolUse hooks that fire before every tool call."
49
+ "text": "A pre-action check is an enforcement layer that intercepts AI agent tool calls before they execute. Unlike prompt rules that agents can ignore, pre-action checks flag and log risky actions, and hard-block the most dangerous classes by default (secret exfiltration, supply-chain installs, and rm -rf-class deletes). Actions such as force-pushing to main, off-scope edits, or skipping tests warn by default and hard-block under strict enforcement mode (THUMBGATE_STRICT_ENFORCEMENT=1). ThumbGate implements pre-action checks via PreToolUse hooks that fire before every tool call."
50
50
  }
51
51
  },
52
52
  {
@@ -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 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."
65
+ "text": "ThumbGate free includes local enforcement with 2 captures/day, 10 total captures, 3 active auto-promoted prevention rules, and pre-action blocking. Pro ($19/mo or $149/yr) adds personal recall, search, a local dashboard, managed adapters, unlimited captures/rules, and DPO export. Enterprise adds a shared hosted lesson DB and org dashboard."
66
66
  }
67
67
  },
68
68
  {
@@ -70,7 +70,7 @@
70
70
  "name": "How is ThumbGate different from .cursorrules or CLAUDE.md rules?",
71
71
  "acceptedAnswer": {
72
72
  "@type": "Answer",
73
- "text": "Cursor rules and CLAUDE.md are prompt-level instructions that the AI agent can read, forget, or override. ThumbGate enforces rules at the tool-call level via PreToolUse hooks. When a tool call matches a known failure pattern, it is physically blocked before execution. Additionally, ThumbGate auto-generates prevention rules from feedback, so you never have to write rules manually."
73
+ "text": "Cursor rules and CLAUDE.md are prompt-level instructions that the AI agent can read, forget, or override. ThumbGate enforces rules at the tool-call level via PreToolUse hooks. When a tool call matches a known failure pattern, it is flagged and logged, and hard-blocked before execution for the most dangerous classes or under strict enforcement mode. Additionally, ThumbGate auto-generates prevention rules from feedback, so you never have to write rules manually."
74
74
  }
75
75
  },
76
76
  {
@@ -161,8 +161,8 @@
161
161
  <th>ESLint / Linters</th>
162
162
  </tr>
163
163
  <tr>
164
- <td>Blocks bad actions before execution</td>
165
- <td class="yes">Yes -- PreToolUse hooks</td>
164
+ <td>Intercepts bad actions before execution</td>
165
+ <td class="yes">Yes -- PreToolUse hooks warn by default; hard-block high-risk classes and strict mode</td>
166
166
  <td class="partial">Partially -- after PR only</td>
167
167
  <td class="no">No -- damage already done</td>
168
168
  <td class="partial">Partially -- suggestions only</td>
@@ -237,7 +237,7 @@
237
237
 
238
238
  <h2>Why ThumbGate Wins</h2>
239
239
  <ul>
240
- <li><strong>Enforcement, not suggestions.</strong> Prompt rules in CLAUDE.md or .cursorrules are instructions the agent can ignore. ThumbGate intercepts tool calls at the PreToolUse hook level and physically blocks dangerous actions before they execute.</li>
240
+ <li><strong>Enforcement, not suggestions.</strong> Prompt rules in CLAUDE.md or .cursorrules are instructions the agent can ignore. ThumbGate intercepts tool calls at the PreToolUse hook level, flags and logs risky actions, and hard-blocks the most dangerous classes (secret exfiltration, supply-chain installs, rm -rf-class deletes) before they execute — with force-push, off-scope edits, and skip-tests escalated to hard blocks under strict enforcement mode.</li>
241
241
  <li><strong>Learns and adapts automatically.</strong> Every thumbs-down becomes a data point. After repeated failures with the same pattern, ThumbGate auto-generates a prevention rule. Checks adapt their sensitivity over time using Thompson Sampling -- aggressive checks that over-block get tuned down, effective checks get reinforced.</li>
242
242
  <li><strong>Works across all major AI coding agents.</strong> One install command covers Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, and OpenCode. No per-agent configuration needed.</li>
243
243
  <li><strong>Prevention is cheaper than recovery.</strong> Manual code review catches mistakes after the PR. Git revert catches them after the push. ThumbGate catches them before the tool call executes -- saving the time, context switches, and cleanup cost of undoing damage.</li>
@@ -271,7 +271,7 @@
271
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
272
  <ul class="compare-index">
273
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>
274
+ <li><a href="/compare/claude-code-hooks">ThumbGate vs claude-code-hooks</a> — personal recall, exports, and managed adapters on top of local shell-script hooks</li>
275
275
  <li><a href="/compare/arcjet">ThumbGate vs Arcjet</a> — agent-outbound gate pairs with an app-inbound firewall</li>
276
276
  <li><a href="/compare/bumblebee">ThumbGate vs Bumblebee</a> — runtime enforcement pairs with static inventory</li>
277
277
  <li><a href="/compare/anthropic-containment">ThumbGate vs Anthropic's Claude Containment</a> — an IDE-agent extension of Anthropic's published architecture</li>
@@ -324,7 +324,7 @@
324
324
 
325
325
  <div class="card">
326
326
  <h3>What is a pre-action check?</h3>
327
- <p>A pre-action check is an enforcement layer that intercepts AI agent tool calls before they execute. Unlike prompt rules that agents can ignore, pre-action checks physically block dangerous actions such as force-pushing to main, deleting production files, or committing code with failing tests.</p>
327
+ <p>A pre-action check is an enforcement layer that intercepts AI agent tool calls before they execute. Unlike prompt rules that agents can ignore, pre-action checks flag and log risky actions and hard-block the most dangerous classes by default (secret exfiltration, supply-chain installs, rm -rf-class deletes). Actions such as force-pushing to main, off-scope edits, or skipping tests warn by default and hard-block under strict enforcement mode.</p>
328
328
  </div>
329
329
 
330
330
  <div class="card">
@@ -334,12 +334,12 @@
334
334
 
335
335
  <div class="card">
336
336
  <h3>Is ThumbGate free?</h3>
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>
337
+ <p>ThumbGate free includes local enforcement with 2 captures/day, 10 total captures, 3 active auto-promoted prevention rules, and pre-action blocking. Pro ($19/mo or $149/yr) adds personal recall, search, a local dashboard, managed adapters, unlimited captures/rules, and DPO export. Enterprise adds a shared hosted lesson DB and org dashboard.</p>
338
338
  </div>
339
339
 
340
340
  <div class="card">
341
341
  <h3>How is ThumbGate different from .cursorrules or CLAUDE.md rules?</h3>
342
- <p>Cursor rules and CLAUDE.md are prompt-level instructions that the AI agent can read, forget, or override. ThumbGate enforces rules at the tool-call level via PreToolUse hooks. When a tool call matches a known failure pattern, it is physically blocked before execution. Additionally, ThumbGate auto-generates prevention rules from feedback -- no manual rule writing.</p>
342
+ <p>Cursor rules and CLAUDE.md are prompt-level instructions that the AI agent can read, forget, or override. ThumbGate enforces rules at the tool-call level via PreToolUse hooks. When a tool call matches a known failure pattern, it is flagged and logged, and hard-blocked before execution for the most dangerous classes or under strict enforcement mode. Additionally, ThumbGate auto-generates prevention rules from feedback -- no manual rule writing.</p>
343
343
  </div>
344
344
 
345
345
  <div class="card">
@@ -756,7 +756,7 @@
756
756
  <div><span style="color:var(--green);">👍 "chosen"</span> — the response that worked</div>
757
757
  <div><span style="color:var(--red);">👎 "rejected"</span> — the response that failed</div>
758
758
  </div>
759
- <p style="color:var(--text-muted);font-size:14px;line-height:1.65;">Use these pairs to fine-tune any model (OpenAI, Llama, Mistral) so it <strong style="color:var(--text);">actually learns from your corrections</strong> — not just blocks mistakes, but stops making them.</p>
759
+ <p style="color:var(--text-muted);font-size:14px;line-height:1.65;">Use these pairs to fine-tune any model (OpenAI, Llama, Mistral) so it <strong style="color:var(--text);">actually learns from your corrections</strong> — not just flags mistakes at the gate, but stops making them.</p>
760
760
  </div>
761
761
  <button class="export-btn" onclick="exportDpo()">📥 Download DPO Pairs (JSON)</button>
762
762
  <div id="exportStatus" style="margin-top:12px;font-size:13px;color:var(--text-muted);"></div>
@@ -223,7 +223,7 @@ __GA_BOOTSTRAP__
223
223
  </div>
224
224
  <div class="card">
225
225
  <h3>Repeated-failure prevention</h3>
226
- <p>A thumbs-down from an agency engineer becomes a permanent prevention rule. The same risky action never reaches the model on the next attempt — relevant for cost control and for documenting "we did not let the agent do X" in incident review.</p>
226
+ <p>A thumbs-down from an agency engineer becomes a prevention rule. On the next attempt that risky action is flagged and logged and hard-blocked for the highest-risk classes or under strict enforcement mode — relevant for cost control and for documenting "we did not let the agent do X" in incident review.</p>
227
227
  </div>
228
228
  <div class="card">
229
229
  <h3>Vendor-neutral</h3>
@@ -268,7 +268,7 @@ __GA_BOOTSTRAP__
268
268
  <tr><th>Family</th><th>Control</th><th>How ThumbGate supports it</th></tr>
269
269
  </thead>
270
270
  <tbody>
271
- <tr><td>AC</td><td><code>AC-3</code> Access Enforcement</td><td>PreToolUse hook blocks tool calls that violate policy regardless of operator intent.</td></tr>
271
+ <tr><td>AC</td><td><code>AC-3</code> Access Enforcement</td><td>PreToolUse hook flags and logs tool calls that violate policy regardless of operator intent, and hard-blocks them under strict enforcement mode.</td></tr>
272
272
  <tr><td>AC</td><td><code>AC-6</code> Least Privilege</td><td>Per-gate scopes bind agent actions to declared task scope.</td></tr>
273
273
  <tr><td>AU</td><td><code>AU-2 / AU-3 / AU-12</code> Audit Logging</td><td>Every gate decision logged with full payload, PII-redacted, exportable to agency SIEM.</td></tr>
274
274
  <tr><td>CM</td><td><code>CM-3</code> Configuration Change Control</td><td>Branch governance gate requires <code>releaseVersion</code> declaration before release/publish actions.</td></tr>
package/public/guide.html CHANGED
@@ -9,7 +9,7 @@
9
9
  <meta name="description" content="The complete guide to preventing AI coding agent mistakes with pre-action checks, history-aware lesson distillation, and automatic prevention rules.">
10
10
  <meta name="keywords" content="AI agent mistakes, Claude Code force push, AI coding agent memory, MCP server guardrails, pre-action checks, vibe coding safety, PreToolUse hooks, ThumbGate, SpecLock alternative, Mem0 alternative">
11
11
  <meta property="og:title" content="How to Stop AI Coding Agents From Repeating Mistakes">
12
- <meta property="og:description" content="Pre-action checks that physically block AI agents from repeating known mistakes. The complete guide.">
12
+ <meta property="og:description" content="Pre-action checks that flag and log known agent mistakes and hard-block the catastrophic ones. The complete guide.">
13
13
  <meta property="og:type" content="article">
14
14
  <meta property="og:url" content="https://thumbgate.ai/guide">
15
15
  <link rel="canonical" href="https://thumbgate.ai/guide">
@@ -69,8 +69,8 @@
69
69
  {
70
70
  "@type": "HowToStep",
71
71
  "position": 4,
72
- "name": "Checks block mistakes before they happen",
73
- "text": "PreToolUse hooks intercept tool calls and check them against known failure patterns. Bad actions are blocked before execution."
72
+ "name": "Checks flag mistakes before they happen",
73
+ "text": "PreToolUse hooks intercept tool calls and check them against known failure patterns. Risky actions are flagged and logged before execution; catastrophic ones (secret exfiltration, destructive deletes) are hard-blocked, and any rule can hard-block under strict mode."
74
74
  }
75
75
  ]
76
76
  }
@@ -94,7 +94,7 @@
94
94
  "name": "Why does my Claude Code agent keep force-pushing to main?",
95
95
  "acceptedAnswer": {
96
96
  "@type": "Answer",
97
- "text": "Because prompt rules are suggestions the agent can ignore. ThumbGate solves this with enforcement: a PreToolUse hook fires before every tool call and checks it against known failure patterns. If the action matches a check (like git push --force to main), it is physically blocked before execution."
97
+ "text": "Because prompt rules are suggestions the agent can ignore. ThumbGate adds enforcement: a PreToolUse hook fires before every tool call and checks it against known failure patterns. When the action matches a check (like git push --force to main), it is flagged and logged before execution — and hard-blocked when strict enforcement (THUMBGATE_STRICT_ENFORCEMENT=1) is on. Catastrophic actions such as secret exfiltration and destructive deletes are hard-blocked by default."
98
98
  }
99
99
  },
100
100
  {
@@ -102,7 +102,7 @@
102
102
  "name": "What is the difference between pre-action checks and prompt rules?",
103
103
  "acceptedAnswer": {
104
104
  "@type": "Answer",
105
- "text": "Prompt rules (like CLAUDE.md or .cursorrules) are instructions the agent may ignore. Pre-action checks are enforcement: they intercept the tool call at the PreToolUse hook level and block it before execution. Checks are auto-generated from feedback and use Thompson Sampling to adapt their sensitivity."
105
+ "text": "Prompt rules (like CLAUDE.md or .cursorrules) are instructions the agent may ignore. Pre-action checks are enforcement: they intercept the tool call at the PreToolUse hook level and act on it before execution — flagging and logging by default, hard-blocking catastrophic actions and anything under strict mode. Checks are auto-generated from feedback and use Thompson Sampling to adapt their sensitivity."
106
106
  }
107
107
  },
108
108
  {
@@ -110,7 +110,7 @@
110
110
  "name": "How does ThumbGate compare to SpecLock?",
111
111
  "acceptedAnswer": {
112
112
  "@type": "Answer",
113
- "text": "SpecLock requires manually writing constraints or compiling them from a PRD. ThumbGate learns automatically from thumbs-up/down feedback and auto-generates prevention rules from repeated failures. SpecLock locks files from modification; ThumbGate blocks specific actions before they execute."
113
+ "text": "SpecLock requires manually writing constraints or compiling them from a PRD. ThumbGate learns automatically from thumbs-up/down feedback and auto-generates prevention rules from repeated failures. SpecLock locks files from modification; ThumbGate flags specific actions before they execute and hard-blocks the catastrophic ones (or any rule under strict mode)."
114
114
  }
115
115
  },
116
116
  {
@@ -118,7 +118,7 @@
118
118
  "name": "How does ThumbGate compare to Mem0?",
119
119
  "acceptedAnswer": {
120
120
  "@type": "Answer",
121
- "text": "Mem0 is cloud-hosted memory for AI apps. ThumbGate is local-first enforcement. Mem0 remembers context but cannot block actions. ThumbGate captures feedback, promotes it to prevention rules, and physically blocks tool calls that match known failure patterns."
121
+ "text": "Mem0 is cloud-hosted memory for AI apps. ThumbGate is local-first enforcement. Mem0 remembers context but does not gate actions. ThumbGate captures feedback, promotes it to prevention rules, and flags tool calls that match known failure patterns — hard-blocking the catastrophic ones (or any rule under strict mode)."
122
122
  }
123
123
  },
124
124
  {
@@ -223,7 +223,7 @@
223
223
  <p>This happens because <strong>prompt rules are suggestions</strong>. The agent can read them, forget them, or override them. There is no enforcement at the tool-call level.</p>
224
224
 
225
225
  <h2>The Fix: Pre-Action Checks</h2>
226
- <p>ThumbGate adds an enforcement layer between your agent and its tools. When the agent tries to execute a tool call, a <code>PreToolUse</code> hook fires <em>before</em> the action runs. The hook checks the call against known failure patterns. If it matches a check, the action is blocked.</p>
226
+ <p>ThumbGate adds an enforcement layer between your agent and its tools. When the agent tries to execute a tool call, a <code>PreToolUse</code> hook fires <em>before</em> the action runs. The hook checks the call against known failure patterns. If it matches a check, the action is flagged and logged — and hard-blocked for catastrophic classes (secret exfiltration, security/supply-chain, destructive deletes) or when strict enforcement (<code>THUMBGATE_STRICT_ENFORCEMENT=1</code>) is on.</p>
227
227
 
228
228
  <div class="card">
229
229
  <h3>Before ThumbGate</h3>
@@ -231,7 +231,7 @@
231
231
  Result: Force-pushed. You lose 3 commits. Again.</code></pre>
232
232
  <h3>After ThumbGate</h3>
233
233
  <pre><code>Agent: git push --force origin main
234
- [check] Blocked: no-force-push (confidence: 0.94)
234
+ [check] Warn: no-force-push (confidence: 0.94) — hard-blocked under strict mode
235
235
  Agent: git push origin feature-branch
236
236
  [check] Passed</code></pre>
237
237
  </div>
@@ -257,7 +257,7 @@ npx thumbgate init --agent gemini</code></pre>
257
257
  <td><strong>Machine-wide</strong> (default)</td>
258
258
  <td><code>npx thumbgate init</code></td>
259
259
  <td><code>~/.claude/memory/feedback/</code> — <strong>one shared dashboard across every repo on the machine</strong></td>
260
- <td>Solo developer. A lesson learned in <code>repo-A</code> automatically blocks the same mistake in <code>repo-B</code>.</td>
260
+ <td>Solo developer. A lesson learned in <code>repo-A</code> automatically flags the same mistake in <code>repo-B</code>.</td>
261
261
  </tr>
262
262
  <tr>
263
263
  <td><strong>Per-project</strong></td>
@@ -315,7 +315,7 @@ npx thumbgate init --agent gemini</code></pre>
315
315
  <table class="comparison-table">
316
316
  <tr><th>Feature</th><th>Prompt Rules</th><th>Pre-Action Checks</th></tr>
317
317
  <tr><td>Where they live</td><td>CLAUDE.md, .cursorrules</td><td>PreToolUse hooks</td></tr>
318
- <tr><td>Enforcement</td><td>Suggestion (can be ignored)</td><td>Blocks execution</td></tr>
318
+ <tr><td>Enforcement</td><td>Suggestion (can be ignored)</td><td>Flags + logs; hard-blocks critical / strict mode</td></tr>
319
319
  <tr><td>When they fire</td><td>At prompt load</td><td>Before every tool call</td></tr>
320
320
  <tr><td>Auto-generated</td><td>No — hand-written</td><td>Yes — from feedback</td></tr>
321
321
  <tr><td>Adaptive</td><td>No</td><td>Yes — Thompson Sampling</td></tr>
@@ -325,7 +325,7 @@ npx thumbgate init --agent gemini</code></pre>
325
325
  <h2>ThumbGate vs Alternatives</h2>
326
326
  <table class="comparison-table">
327
327
  <tr><th>Feature</th><th>ThumbGate</th><th>SpecLock</th><th>Mem0</th></tr>
328
- <tr><td>Blocks mistakes before execution</td><td>Yes — PreToolUse checks</td><td>Yes — Patch Firewall</td><td>No</td></tr>
328
+ <tr><td>Flags mistakes before execution</td><td>Yes — PreToolUse checks (hard-blocks critical / strict mode)</td><td>Yes — Patch Firewall</td><td>No</td></tr>
329
329
  <tr><td>Learns from feedback</td><td>Yes — thumbs up/down</td><td>No — manual specs</td><td>Yes — auto-capture</td></tr>
330
330
  <tr><td>Auto-generates rules</td><td>Yes — from repeated failures</td><td>No</td><td>No</td></tr>
331
331
  <tr><td>Agent support</td><td>Claude Code, Codex, Gemini, Amp, Cursor, OpenCode</td><td>Claude Code, Cursor, Windsurf, Cline</td><td>Claude, Cursor</td></tr>
@@ -342,7 +342,7 @@ npx thumbgate init --agent gemini</code></pre>
342
342
  <p>Give a thumbs-down: "committed code with failing tests." ThumbGate learns the pattern and checks future commits when test results show failures.</p>
343
343
 
344
344
  <h3>Agent uses wrong API endpoint</h3>
345
- <p>Give a thumbs-down: "called staging API in production code." The check blocks tool calls that reference staging URLs in production contexts.</p>
345
+ <p>Give a thumbs-down: "called staging API in production code." The check flags and logs tool calls that reference staging URLs in production contexts (and hard-blocks them under strict mode).</p>
346
346
 
347
347
  <h2>When ThumbGate becomes a paid decision</h2>
348
348
  <p>Stay on the free install path while one operator is proving the workflow locally. The paid motion starts when a workflow owner asks for proof, shared enforcement, or a safer rollout path.</p>
@@ -375,7 +375,7 @@ npx thumbgate init --agent gemini</code></pre>
375
375
  <a href="__SPRINT_DIAGNOSTIC_CHECKOUT_URL__" class="cta cta-secondary">Pay $499 diagnostic</a>
376
376
  <a href="__WORKFLOW_SPRINT_CHECKOUT_URL__" class="cta cta-secondary">Pay $1500 sprint</a>
377
377
  <a href="https://thumbgate.ai/#workflow-sprint-intake" class="cta cta-secondary">Send workflow first</a>
378
- <p style="color:var(--muted); font-size:0.85rem;">Free: 2 captures/day, 10 total captures, 3 active prevention rules, hook blocking. Pro: hosted sync, dashboard, recall, lesson search, unlimited captures/rules, DPO export. Enterprise: intake first, then custom pricing scoped to your rollout.</p>
378
+ <p style="color:var(--muted); font-size:0.85rem;">Free: 2 captures/day, 10 total captures, 3 active prevention rules, hook blocking. Pro: personal dashboard, recall, search, unlimited captures/rules, managed adapters, DPO export. Enterprise: shared hosted lessons, org visibility, custom rollout support.</p>
379
379
 
380
380
  </div>
381
381
  <script src="/js/buyer-intent.js"></script>