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.
- package/.claude-plugin/plugin.json +1 -1
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +63 -42
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/mcp/server-stdio.js +1 -1
- package/adapters/opencode/opencode.json +1 -1
- package/bin/cli.js +25 -8
- package/bin/postinstall.js +1 -1
- package/config/entitlement-public-keys.json +6 -0
- package/config/gates/default.json +1 -1
- package/config/github-about.json +2 -2
- package/config/merge-quality-checks.json +3 -0
- package/package.json +12 -4
- package/public/about.html +1 -4
- package/public/agent-manager.html +6 -6
- package/public/agents-cost-savings.html +3 -3
- package/public/ai-malpractice-prevention.html +1 -1
- package/public/blog.html +12 -9
- package/public/chatgpt-app.html +3 -3
- package/public/codex-enterprise.html +3 -3
- package/public/codex-plugin.html +5 -5
- package/public/compare.html +10 -10
- package/public/dashboard.html +1 -1
- package/public/federal.html +2 -2
- package/public/guide.html +14 -14
- package/public/index.html +81 -70
- package/public/install.html +14 -14
- package/public/learn.html +4 -17
- package/public/numbers.html +2 -2
- package/public/pricing.html +12 -19
- package/public/pro.html +2 -2
- package/scripts/agent-reward-model.js +13 -0
- package/scripts/bayes-optimal-gate.js +6 -1
- package/scripts/cli-feedback.js +17 -1
- package/scripts/commercial-offer.js +3 -3
- package/scripts/entitlement.js +250 -0
- package/scripts/export-databricks-bundle.js +5 -0
- package/scripts/export-dpo-pairs.js +6 -0
- package/scripts/export-hf-dataset.js +5 -0
- package/scripts/gates-engine.js +15 -3
- package/scripts/imperative-detector.js +85 -0
- package/scripts/intervention-policy.js +13 -0
- package/scripts/pr-manager.js +9 -22
- package/scripts/pro-local-dashboard.js +198 -0
- package/scripts/risk-scorer.js +6 -0
- package/scripts/seo-gsd.js +2 -2
- package/scripts/thompson-sampling.js +11 -2
- 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
|
|
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
|
|
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
|
|
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 <24h.
|
|
131
|
+
<td>24×7 ops on the adapter matrix. SonarCloud regressions fixed in <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
|
|
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
|
|
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
|
|
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.
|
|
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&utm_medium=agents_cost_savings_page&utm_campaign=finops_sprint&cta_id=agents_cost_savings_sprint_intake&cta_placement=agents_cost_savings_page" class="cta">Start the Workflow Hardening Sprint</a>
|
|
137
137
|
<a href="/checkout/pro?utm_source=website&utm_medium=agents_cost_savings_page&utm_campaign=pro_upgrade&cta_id=agents_cost_savings_pro_checkout&cta_placement=agents_cost_savings_page&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
|
|
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> — Gate fires
|
|
217
|
-
|
|
216
|
+
<strong>Force-push to main</strong> — 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> — Flagged for human
|
|
221
222
|
review. Agent pauses until you approve.
|
|
222
223
|
</li>
|
|
223
224
|
<li>
|
|
224
|
-
<strong>Destructive shell command</strong> —
|
|
225
|
-
prevention rule learned from a prior incident
|
|
225
|
+
<strong>Destructive shell command</strong> — 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
|
|
314
|
-
|
|
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
|
|
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>
|
package/public/chatgpt-app.html
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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.
|
|
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&utm_medium=codex_enterprise_page&utm_campaign=codex_enterprise_sprint&cta_id=codex_enterprise_sprint_intake&cta_placement=codex_enterprise_page" class="cta">Start the Workflow Hardening Sprint</a>
|
|
107
107
|
<a href="/checkout/pro?utm_source=website&utm_medium=codex_enterprise_page&utm_campaign=pro_upgrade&cta_id=codex_enterprise_pro_checkout&cta_placement=codex_enterprise_page&plan_id=pro" class="secondary">Or start Pro at $19/mo →</a>
|
package/public/codex-plugin.html
CHANGED
|
@@ -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.
|
|
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
|
|
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>
|
|
259
|
-
<p>Pre-Action Checks evaluate commands, file edits, publishes, merges, and other high-risk actions before execution. Bad repeats
|
|
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
|
|
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>
|
package/public/compare.html
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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>
|
|
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
|
|
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> —
|
|
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
|
|
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
|
|
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
|
|
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">
|
package/public/dashboard.html
CHANGED
|
@@ -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
|
|
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>
|
package/public/federal.html
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
73
|
-
"text": "PreToolUse hooks intercept tool calls and check them against known failure patterns.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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]
|
|
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
|
|
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>
|
|
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>
|
|
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
|
|
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:
|
|
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>
|