thumbgate 1.16.4 โ†’ 1.16.6

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thumbgate-marketplace",
3
- "version": "1.16.4",
3
+ "version": "1.16.6",
4
4
  "owner": {
5
5
  "name": "Igor Ganapolsky",
6
6
  "email": "ig5973700@gmail.com"
@@ -13,7 +13,7 @@
13
13
  "source": "npm",
14
14
  "package": "thumbgate"
15
15
  },
16
- "version": "1.16.4",
16
+ "version": "1.16.6",
17
17
  "author": {
18
18
  "name": "Igor Ganapolsky"
19
19
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "thumbgate",
3
3
  "description": "Type ๐Ÿ‘ or ๐Ÿ‘Ž on any agent action. ThumbGate captures it, distills a lesson, and blocks the pattern from repeating. One thumbs-down = the agent physically cannot make that mistake again. 33 pre-action checks, budget enforcement, self-protection, and NIST/SOC2 compliance tags.",
4
- "version": "1.16.4",
4
+ "version": "1.16.6",
5
5
  "author": {
6
6
  "name": "Igor Ganapolsky"
7
7
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thumbgate",
3
- "version": "1.16.4",
3
+ "version": "1.16.6",
4
4
  "description": "ThumbGate โ€” ๐Ÿ‘๐Ÿ‘Ž feedback that teaches your AI agent. Thumbs down a mistake, it never happens again.",
5
5
  "homepage": "https://thumbgate-production.up.railway.app",
6
6
  "transport": "stdio",
@@ -2,13 +2,13 @@
2
2
  "mcpServers": {
3
3
  "thumbgate": {
4
4
  "command": "npx",
5
- "args": ["--yes", "--package", "thumbgate@1.16.4", "thumbgate", "serve"]
5
+ "args": ["--yes", "--package", "thumbgate@1.16.6", "thumbgate", "serve"]
6
6
  }
7
7
  },
8
8
  "hooks": {
9
9
  "preToolUse": {
10
10
  "command": "npx",
11
- "args": ["--yes", "--package", "thumbgate@1.16.4", "thumbgate", "gate-check"]
11
+ "args": ["--yes", "--package", "thumbgate@1.16.6", "thumbgate", "gate-check"]
12
12
  }
13
13
  }
14
14
  }
@@ -201,7 +201,7 @@ const {
201
201
  finalizeSession: finalizeFeedbackSession,
202
202
  } = require('../../scripts/feedback-session');
203
203
 
204
- const SERVER_INFO = { name: 'thumbgate-mcp', version: '1.16.4' };
204
+ const SERVER_INFO = { name: 'thumbgate-mcp', version: '1.16.6' };
205
205
  const COMMERCE_CATEGORIES = [
206
206
  'product_recommendation',
207
207
  'brand_compliance',
@@ -7,7 +7,7 @@
7
7
  "npx",
8
8
  "--yes",
9
9
  "--package",
10
- "thumbgate@1.16.4",
10
+ "thumbgate@1.16.6",
11
11
  "thumbgate",
12
12
  "serve"
13
13
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thumbgate",
3
- "version": "1.16.4",
3
+ "version": "1.16.6",
4
4
  "description": "Self-improving agent governance: type thumbs-up or thumbs-down on any AI agent action. ThumbGate turns every mistake into a prevention rule and blocks the pattern from repeating. One thumbs-down, never again. 33 pre-action checks, budget enforcement, and self-protection for Claude Code, Cursor, Codex, Gemini CLI, and Amp.",
5
5
  "homepage": "https://thumbgate-production.up.railway.app",
6
6
  "repository": {
@@ -235,6 +235,8 @@
235
235
  "stripe:live": "node scripts/stripe-live-status.js",
236
236
  "gtm:revenue-loop": "node scripts/autonomous-sales-agent.js",
237
237
  "gtm:aiventyx": "node scripts/aiventyx-marketplace-plan.js",
238
+ "gtm:chatgpt": "node scripts/chatgpt-gpt-revenue-pack.js",
239
+ "gtm:codex": "node scripts/codex-marketplace-revenue-pack.js",
238
240
  "sales:pipeline": "node scripts/sales-pipeline.js",
239
241
  "social:prepare": "node scripts/social-pipeline.js prepare",
240
242
  "social:post": "node scripts/social-pipeline.js post",
@@ -303,7 +305,7 @@
303
305
  "test:hosted-config": "node --test tests/hosted-config.test.js",
304
306
  "test:operational-summary": "node --test tests/operational-summary.test.js",
305
307
  "test:operational-dashboard": "node --test tests/operational-dashboard.test.js",
306
- "test:operator-artifacts": "node --test tests/operator-artifacts.test.js",
308
+ "test:operator-artifacts": "node --test tests/operator-artifacts.test.js tests/claude-workflow-hardening-pack.test.js tests/gemini-cli-demand-pack.test.js tests/chatgpt-gpt-revenue-pack.test.js",
307
309
  "test:operator-key-auth": "node --test tests/api-operator-key-auth.test.js",
308
310
  "test:cloudflare-sandbox": "node --test tests/cloudflare-dynamic-sandbox.test.js tests/cloudflare-sandbox-api.test.js",
309
311
  "test:mcp-config": "node --test tests/mcp-config.test.js",
@@ -345,7 +347,7 @@
345
347
  "test:training-export": "node --test tests/training-export.test.js tests/databricks-export.test.js",
346
348
  "test:deployment": "node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js tests/changeset-check.test.js tests/release-notes.test.js tests/sonarcloud-workflow.test.js tests/package-boundary.test.js tests/public-package-boundary.test.js tests/revenue-observability-workflow.test.js",
347
349
  "test:operational-integrity": "node --test tests/operational-integrity.test.js tests/sync-branch-protection.test.js",
348
- "test:workflow": "node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/docs-claim-hygiene.test.js tests/thumbgate-scope.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js tests/aiventyx-marketplace-plan.test.js tests/sales-pipeline.test.js tests/reddit-dm-outreach.test.js tests/enterprise-story.test.js tests/ralph-loop.test.js tests/ralph-mode-ci.test.js",
350
+ "test:workflow": "node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/docs-claim-hygiene.test.js tests/thumbgate-scope.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js tests/aiventyx-marketplace-plan.test.js tests/cursor-marketplace-revenue-pack.test.js tests/codex-marketplace-revenue-pack.test.js tests/codex-plugin-revenue-pack.test.js tests/gemini-cli-demand-pack.test.js tests/chatgpt-gpt-revenue-pack.test.js tests/autonomous-sales-agent.test.js tests/sales-pipeline.test.js tests/reddit-dm-outreach.test.js tests/enterprise-story.test.js tests/ralph-loop.test.js tests/ralph-mode-ci.test.js tests/guide-conversion-path.test.js",
349
351
  "test:sales-pipeline": "node --test tests/sales-pipeline.test.js",
350
352
  "test:billing": "node --test tests/billing.test.js tests/stripe-sync-product-images.test.js",
351
353
  "test:cli": "node --test tests/analytics-report.test.js tests/codex-self-heal.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dependabot-changeset.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/published-cli.test.js tests/revenue-status.test.js tests/stripe-live-status.test.js",
@@ -159,6 +159,29 @@
159
159
  .caption { color: var(--muted); font-size: 14px; margin-top: 10px; }
160
160
  h2 { font-size: 32px; line-height: 1.15; margin: 0 0 16px; letter-spacing: 0; }
161
161
  .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 24px 0 44px; }
162
+ .proof-bar {
163
+ display: flex;
164
+ gap: 12px;
165
+ flex-wrap: wrap;
166
+ margin: 28px 0 10px;
167
+ }
168
+ .proof-bar a {
169
+ display: inline-flex;
170
+ align-items: center;
171
+ justify-content: center;
172
+ min-height: 40px;
173
+ padding: 10px 14px;
174
+ border-radius: 999px;
175
+ border: 1px solid var(--line);
176
+ background: var(--panel);
177
+ color: var(--text);
178
+ text-decoration: none;
179
+ font-weight: 700;
180
+ }
181
+ .proof-bar a:hover, .proof-bar a:focus-visible {
182
+ border-color: var(--cyan);
183
+ color: var(--cyan);
184
+ }
162
185
  code {
163
186
  background: rgba(34, 211, 238, 0.1);
164
187
  border: 1px solid rgba(34, 211, 238, 0.2);
@@ -201,6 +224,12 @@
201
224
  <a class="button secondary" href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/plugins/codex-profile/INSTALL.md" target="_blank" rel="noopener">Read install docs</a>
202
225
  <a class="button secondary" href="/guide">Use CLI setup</a>
203
226
  </div>
227
+ <nav class="proof-bar" aria-label="Codex proof and conversion links">
228
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a>
229
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/COMMERCIAL_TRUTH.md" target="_blank" rel="noopener">Commercial truth</a>
230
+ <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>
231
+ <a href="/?utm_source=codex&utm_medium=plugin_page&utm_campaign=codex_team_follow_on&utm_content=workflow_sprint&campaign_variant=teams_follow_on&offer_code=CODEX-TEAMS_FOLLOW_ON&cta_id=codex_team_follow_on&cta_placement=plugin_page&surface=codex_plugin#workflow-sprint-intake">Team workflow sprint</a>
232
+ </nav>
204
233
  <pre class="terminal">$ npx thumbgate init --agent codex
205
234
  # Writes ~/.codex/config.toml and ~/.codex/config.json
206
235
  # MCP + hooks install thumbgate@latest before serving or checking gates</pre>
@@ -254,6 +283,21 @@
254
283
  </div>
255
284
  </section>
256
285
 
286
+ <section class="wrap grid" aria-label="Proof-backed next steps">
287
+ <div class="tile">
288
+ <h3>Pro only after proof</h3>
289
+ <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>
290
+ </div>
291
+ <div class="tile">
292
+ <h3>Commercial truth stays inspectable</h3>
293
+ <p>Pricing, traction guardrails, and what must not be claimed live in the Commercial Truth document, not in launch copy or vibes.</p>
294
+ </div>
295
+ <div class="tile">
296
+ <h3>Team motion starts with one workflow</h3>
297
+ <p>If your buyer already named one repeated workflow failure, one owner, and one approval boundary, route them to the Workflow Hardening Sprint instead of a generic plugin pitch.</p>
298
+ </div>
299
+ </section>
300
+
257
301
  <section class="wrap">
258
302
  <div class="eyebrow">Operator questions</div>
259
303
  <h2>What happens when I click thumbs up or thumbs down?</h2>
package/public/guide.html CHANGED
@@ -31,7 +31,7 @@
31
31
  "url": "https://thumbgate-production.up.railway.app"
32
32
  },
33
33
  "datePublished": "2026-03-27",
34
- "dateModified": "2026-03-27",
34
+ "dateModified": "2026-04-25",
35
35
  "mainEntityOfPage": "https://thumbgate-production.up.railway.app/guide",
36
36
  "about": [
37
37
  {"@type": "Thing", "name": "AI coding agents"},
@@ -184,8 +184,23 @@
184
184
  .comparison-table td:first-child { font-weight: 600; }
185
185
  .cta { display: inline-block; background: var(--cyan); color: #000; padding: 0.75rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; margin: 1rem 0; }
186
186
  .cta:hover { opacity: 0.9; }
187
+ .cta-secondary { background: transparent; color: var(--text); border: 1px solid var(--border); margin-left: 0.75rem; }
188
+ .cta-secondary:hover { border-color: var(--cyan); color: var(--cyan); }
187
189
  .breadcrumb { color: var(--muted); font-size: 0.85rem; margin-bottom: 0.5rem; }
188
190
  .breadcrumb a { color: var(--muted); }
191
+ .proof-links { display: grid; gap: 0.85rem; margin: 1.25rem 0 0; }
192
+ .proof-links a {
193
+ display: block;
194
+ padding: 0.9rem 1rem;
195
+ border: 1px solid var(--border);
196
+ border-radius: 10px;
197
+ text-decoration: none;
198
+ color: var(--text);
199
+ background: #111113;
200
+ }
201
+ .proof-links a strong { color: var(--cyan); display: block; margin-bottom: 0.2rem; }
202
+ .proof-links a span { color: var(--muted); font-size: 0.95rem; }
203
+ .buyer-paths { margin-top: 1rem; }
189
204
  @media (max-width: 600px) { h1 { font-size: 1.6rem; } .container { padding: 1rem; } }
190
205
  </style>
191
206
  </head>
@@ -306,10 +321,39 @@ npx thumbgate init --agent gemini</code></pre>
306
321
  <h3>Agent uses wrong API endpoint</h3>
307
322
  <p>Give a thumbs-down: "called staging API in production code." The check blocks tool calls that reference staging URLs in production contexts.</p>
308
323
 
324
+ <h2>When ThumbGate becomes a paid decision</h2>
325
+ <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>
326
+ <div class="card buyer-paths">
327
+ <h3>Three honest next steps</h3>
328
+ <ul>
329
+ <li><strong>Free:</strong> use <code>npx thumbgate init</code> to prove one workflow on one machine.</li>
330
+ <li><strong>Pro:</strong> buy the self-serve lane only when you want a personal local dashboard, DPO export, and proof-ready workflow review for the next risky flow.</li>
331
+ <li><strong>Workflow Hardening Sprint:</strong> use the team intake path once one workflow, one owner, and one repeated failure are already clear.</li>
332
+ </ul>
333
+ </div>
334
+
335
+ <h2>Proof before a buyer says yes</h2>
336
+ <p>The repo sales plan is proof-led, not hype-led. Commercial claims stay anchored to the current truth file, and engineering claims stay anchored to verification evidence and machine-readable proof reports.</p>
337
+ <div class="proof-links">
338
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/COMMERCIAL_TRUTH.md" target="_blank" rel="noopener">
339
+ <strong>Commercial Truth</strong>
340
+ <span>Current pricing, traction guardrails, and what the product can honestly claim today.</span>
341
+ </a>
342
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">
343
+ <strong>Verification Evidence</strong>
344
+ <span>Human-readable proof log for the engineering and workflow claims used across the site.</span>
345
+ </a>
346
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/proof/automation/report.json" target="_blank" rel="noopener">
347
+ <strong>Automation Proof</strong>
348
+ <span>Machine-readable report for the feedback, enforcement, and automation surfaces behind ThumbGate.</span>
349
+ </a>
350
+ </div>
351
+
309
352
  <h2>Get Started</h2>
310
353
  <pre><code>npx thumbgate init</code></pre>
311
354
  <p>One command. Works with Claude Code, Cursor, Codex, Gemini, Amp, and OpenCode. Claude Code can also call Codex for review, adversarial review, and second-pass handoffs through the repo-local bridge plugin.</p>
312
355
  <a href="https://thumbgate-production.up.railway.app/checkout/pro?utm_source=guide&utm_medium=cta_button&utm_campaign=pro_pack" class="cta">Get Pro โ€” $19/mo or $149/yr</a>
356
+ <a href="https://thumbgate-production.up.railway.app/#workflow-sprint-intake" class="cta cta-secondary">Start a Workflow Hardening Sprint</a>
313
357
  <p style="color:var(--muted); font-size:0.85rem;">Free keeps local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro is $19/mo or $149/yr for a personal local dashboard and DPO export. Team rollout starts intake-first at $49/seat/mo with a 3-seat minimum for the hosted shared lesson DB, org dashboard, and generated review views.</p>
314
358
 
315
359
  </div>
package/public/index.html CHANGED
@@ -1082,7 +1082,7 @@ __GA_BOOTSTRAP__
1082
1082
  <!-- HOW IT WORKS -->
1083
1083
  <section class="how-it-works" id="how-it-works">
1084
1084
  <div class="container">
1085
- <div class="section-label">New in v1.16.4</div>
1085
+ <div class="section-label">New in v1.16.6</div>
1086
1086
  <h2 class="section-title">Three steps to stop repeated AI failures</h2>
1087
1087
  <div class="steps">
1088
1088
  <div class="step">
@@ -1442,7 +1442,7 @@ __GA_BOOTSTRAP__
1442
1442
  <a href="https://www.linkedin.com/in/igorganapolsky" target="_blank" rel="noopener">LinkedIn</a>
1443
1443
  <a href="/blog">Blog</a>
1444
1444
  </div>
1445
- <span class="footer-copy">ยฉ 2026 Max Smith KDP LLC ยท MIT License ยท v1.16.4</span>
1445
+ <span class="footer-copy">ยฉ 2026 Max Smith KDP LLC ยท MIT License ยท v1.16.6</span>
1446
1446
  </div>
1447
1447
  </footer>
1448
1448