thumbgate 1.37.1 → 1.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thumbgate",
3
- "version": "1.37.1",
3
+ "version": "1.37.2",
4
4
  "description": "ThumbGate Pre-Action Checks self-improve from ranked lessons and repeated failures, hard-block detected secret leaks, and block matches in strict mode.",
5
5
  "homepage": "https://thumbgate.ai",
6
6
  "repository": {
@@ -445,7 +445,15 @@
445
445
  ".agents/skills/jit-harness-compare-not-clone/",
446
446
  "scripts/jit-harness-compose.js",
447
447
  ".agents/skills/gitlab-sandbox-allowlist-not-trust/",
448
- ".agents/skills/openui-catalog-compose-honesty/"
448
+ ".agents/skills/openui-catalog-compose-honesty/",
449
+ "scripts/cobble-hot-store-split.js",
450
+ ".agents/skills/cobble-hot-store-compare-not-clone/",
451
+ "scripts/token-shunt-honesty.js",
452
+ ".agents/skills/token-shunt-honesty-not-clone/",
453
+ "scripts/typesafe-typed-questions.js",
454
+ ".agents/skills/typesafe-typed-questions-not-clone/",
455
+ "scripts/colab-compute-honesty.js",
456
+ ".agents/skills/colab-compute-honesty-not-clone/"
449
457
  ],
450
458
  "scripts": {
451
459
  "canary:snapshot": "node scripts/gate-decision-canary.js --snapshot",
@@ -733,7 +741,7 @@
733
741
  "test:quality": "node --test tests/validate-feedback.test.js tests/feedback-quality-eval-python.test.js tests/eval-gate-classifier.test.js",
734
742
  "test:intelligence": "node --test tests/intelligence.test.js",
735
743
  "test:training-export": "node --test tests/training-export.test.js tests/databricks-export.test.js",
736
- "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/codeql-workflow-lockstep.test.js tests/package-boundary.test.js tests/public-package-boundary.test.js tests/packed-feedback-retrieval-e2e.test.js tests/packed-provider-payment-reconciler-e2e.test.js tests/packed-revenue-remediation-e2e.test.js tests/ensure-production-search-corpus.test.js tests/prove-production-authenticated.test.js tests/verify-npm-githead.test.js",
744
+ "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/codeql-workflow-lockstep.test.js tests/package-boundary.test.js tests/public-package-boundary.test.js tests/packed-feedback-retrieval-e2e.test.js tests/packed-provider-payment-reconciler-e2e.test.js tests/packed-revenue-remediation-e2e.test.js tests/ensure-production-search-corpus.test.js tests/prove-production-authenticated.test.js tests/verify-npm-githead.test.js tests/npm-oidc-sept2026-publish.test.js",
737
745
  "test:operational-integrity": "node --test tests/operational-integrity.test.js tests/sync-branch-protection.test.js tests/sync-repository-rulesets.test.js",
738
746
  "test:workflow": "node --test tests/parallel-workflow.test.js tests/parallel-workflow-public.test.js tests/workflow-contract.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/workflow-intake-queue.test.js tests/workflow-notebook.test.js tests/revenue-pack-utils.test.js tests/apollo-acquisition.test.js tests/sales-pipeline.test.js tests/provider-payment-reconciler.test.js tests/reddit-dm-outreach-evidence.test.js tests/gtm-sales-evidence-commands.test.js tests/revenue-action-eligibility.test.js tests/revenue-evidence-remediation.test.js tests/gtm-revenue-action-eligibility.test.js tests/revenue-offer-ladder.test.js tests/revenue-offer-system.test.js tests/buyer-paths.test.js tests/github-outreach.test.js tests/enterprise-story.test.js tests/guide-conversion-path.test.js tests/buyer-intent-revenue-assist.test.js && node --test tests/eval-proof-pack-pages.test.js && npm run test:proof-pack-cadence",
739
747
  "test:revenue-evidence-remediation": "node --test tests/revenue-evidence-remediation.test.js",
@@ -969,7 +977,7 @@
969
977
  "openui-catalog-compose-honesty": "node scripts/openui-catalog-compose-honesty.js",
970
978
  "test:budget-aware-gates-proof": "node --test tests/budget-aware-gates-proof.test.js",
971
979
  "test:business-function-agents": "node --test tests/business-function-agent-team.test.js",
972
- "test:high-roi": "node --test tests/high-roi.test.js tests/gurobi-optimizer.test.js tests/model-candidates.test.js tests/autonomous-workflow.test.js tests/high-roi-agent-workflows.test.js tests/business-function-agent-team.test.js tests/radware-threat-defense.test.js tests/interaction-model.test.js tests/interaction-model-e2e.test.js tests/code-graph-guardrails.test.js tests/proxy-pointer-rag-guardrails.test.js tests/rag-precision-guardrails.test.js tests/ai-engineering-stack-guardrails.test.js tests/long-running-agent-context-guardrails.test.js tests/reasoning-efficiency-guardrails.test.js tests/deepseek-v4-runtime-guardrails.test.js tests/nvidia-specdecode-al-doctor.test.js tests/package-manager-honesty-doctor.test.js tests/openui-catalog-compose-honesty.test.js tests/gist-prompt-budget.test.js tests/workload-identity-honesty.test.js tests/config-strict-parse.test.js tests/upstream-contribution-engine.test.js tests/proactive-agent-eval-guardrails.test.js tests/reward-hacking-guardrails.test.js tests/chatgpt-ads-readiness-pack.test.js tests/oss-pr-opportunity-scout.test.js tests/agent-design-governance.test.js tests/gemini-embedding-policy.test.js tests/rag-embedding-identity.test.js tests/openclaw-agent-governance-kit.test.js tests/agent-operations-planner.test.js tests/aws-blocks-guardrails.test.js tests/vlt-proof.test.js tests/hf-context-course.test.js tests/proof-common.test.js tests/mcp-session-handles.test.js tests/agent-egress-policy.test.js tests/allowlist-bridge-honesty.test.js tests/budget-aware-gates-proof.test.js tests/edotenv-rl-gateway.test.js tests/rsi-safety-hillclimb.test.js tests/research-agent-harness.test.js tests/rule-sprawl.test.js tests/solver-parity.test.js tests/six-function-agent-team.test.js && npm run test:jit-harness-compose && npm run test:workspace-search-route && npm run test:intent-governed-execution",
980
+ "test:high-roi": "node --test tests/high-roi.test.js tests/gurobi-optimizer.test.js tests/model-candidates.test.js tests/autonomous-workflow.test.js tests/high-roi-agent-workflows.test.js tests/business-function-agent-team.test.js tests/radware-threat-defense.test.js tests/interaction-model.test.js tests/interaction-model-e2e.test.js tests/code-graph-guardrails.test.js tests/proxy-pointer-rag-guardrails.test.js tests/rag-precision-guardrails.test.js tests/ai-engineering-stack-guardrails.test.js tests/long-running-agent-context-guardrails.test.js tests/reasoning-efficiency-guardrails.test.js tests/deepseek-v4-runtime-guardrails.test.js tests/nvidia-specdecode-al-doctor.test.js tests/package-manager-honesty-doctor.test.js tests/openui-catalog-compose-honesty.test.js tests/gist-prompt-budget.test.js tests/workload-identity-honesty.test.js tests/config-strict-parse.test.js tests/upstream-contribution-engine.test.js tests/proactive-agent-eval-guardrails.test.js tests/reward-hacking-guardrails.test.js tests/chatgpt-ads-readiness-pack.test.js tests/oss-pr-opportunity-scout.test.js tests/agent-design-governance.test.js tests/gemini-embedding-policy.test.js tests/rag-embedding-identity.test.js tests/openclaw-agent-governance-kit.test.js tests/agent-operations-planner.test.js tests/aws-blocks-guardrails.test.js tests/vlt-proof.test.js tests/hf-context-course.test.js tests/proof-common.test.js tests/mcp-session-handles.test.js tests/agent-egress-policy.test.js tests/allowlist-bridge-honesty.test.js tests/budget-aware-gates-proof.test.js tests/edotenv-rl-gateway.test.js tests/rsi-safety-hillclimb.test.js tests/research-agent-harness.test.js tests/rule-sprawl.test.js tests/solver-parity.test.js tests/six-function-agent-team.test.js && npm run test:jit-harness-compose && npm run test:workspace-search-route && npm run test:intent-governed-execution && npm run test:cobble-hot-store-split && npm run test:token-shunt-honesty && npm run test:typesafe-typed-questions && npm run test:colab-compute-honesty",
973
981
  "test:public-static-assets": "node --test tests/public-static-assets.test.js tests/public-checkout-intent-gate.test.js tests/public-enterprise-capability-boundary.test.js tests/founders-conversion-page.test.js",
974
982
  "test:token-savings": "node --test tests/token-savings.test.js",
975
983
  "test:cost-cli": "node --test tests/cost-cli.test.js tests/conversion-receipt.test.js",
@@ -1173,6 +1181,14 @@
1173
1181
  "graphify:stale": "node scripts/graphify-staleness-check.js",
1174
1182
  "test:graphify": "node --test tests/graphify-readiness.test.js",
1175
1183
  "test:jit-harness-compose": "node --test tests/jit-harness-compose.test.js",
1184
+ "test:cobble-hot-store-split": "node --test tests/cobble-hot-store-split.test.js",
1185
+ "cobble-hot-store-split": "node scripts/cobble-hot-store-split.js",
1186
+ "test:token-shunt-honesty": "node --test tests/token-shunt-honesty.test.js",
1187
+ "token-shunt-honesty": "node scripts/token-shunt-honesty.js",
1188
+ "test:typesafe-typed-questions": "node --test tests/typesafe-typed-questions.test.js",
1189
+ "typesafe-typed-questions": "node scripts/typesafe-typed-questions.js",
1190
+ "test:colab-compute-honesty": "node --test tests/colab-compute-honesty.test.js",
1191
+ "colab-compute-honesty": "node scripts/colab-compute-honesty.js",
1176
1192
  "test:workspace-search-route": "node --test tests/workspace-search-route.test.js",
1177
1193
  "test:intent-governed-execution": "node --test tests/intent-governed-execution.test.js",
1178
1194
  "memory:vs-rag": "node scripts/memory-vs-rag-route.js",
@@ -1237,7 +1253,7 @@
1237
1253
  },
1238
1254
  "dependencies": {
1239
1255
  "@anthropic-ai/sdk": "^0.122.0",
1240
- "@google/genai": "2.19.0",
1256
+ "@google/genai": "2.21.0",
1241
1257
  "@lancedb/lancedb": "^0.38.0",
1242
1258
  "apache-arrow": "^18.1.0",
1243
1259
  "better-sqlite3": "^12.9.0",
@@ -1261,7 +1277,7 @@
1261
1277
  },
1262
1278
  "js-yaml": "5.4.1",
1263
1279
  "sharp": "0.35.4",
1264
- "undici": "8.10.0"
1280
+ "undici": "8.10.2"
1265
1281
  },
1266
1282
  "mcpName": "io.github.IgorGanapolsky/thumbgate",
1267
1283
  "devDependencies": {
@@ -1269,7 +1285,7 @@
1269
1285
  "@changesets/cli": "^3.0.0",
1270
1286
  "@playwright/test": "^1.62.1",
1271
1287
  "c8": "^12.0.0",
1272
- "undici": "8.10.0"
1288
+ "undici": "8.10.2"
1273
1289
  },
1274
1290
  "hotfix": "gate-check-bypass-2026-06-03"
1275
1291
  }
package/public/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <meta name="generator" content="ThumbGate">
7
7
  <meta name="author" content="Igor Ganapolsky">
8
- <meta name="thumbgate-version" content="1.37.1">
8
+ <meta name="thumbgate-version" content="1.37.2">
9
9
  __GOOGLE_SITE_VERIFICATION_META__
10
10
  <link rel="icon" type="image/png" href="/thumbgate-icon.png">
11
11
  <link rel="canonical" href="__APP_ORIGIN__/">
@@ -948,7 +948,7 @@ next decision recorded before execution</pre>
948
948
 
949
949
  <footer>
950
950
  <div class="shell footer-inner">
951
- <span>ThumbGate · MIT License · npm v1.37.1</span>
951
+ <span>ThumbGate · MIT License · npm v1.37.2</span>
952
952
  <div class="footer-links">
953
953
  <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub</a>
954
954
  <a href="/guide">Technical setup</a>
@@ -139,7 +139,7 @@ __GA_BOOTSTRAP__
139
139
  <a class="btn-secondary" href="/diagnostic?utm_source=install_page&utm_medium=owned_page&utm_campaign=marketplace_distribution">Harden one workflow</a>
140
140
  </div>
141
141
  <div class="proof-strip" aria-label="Verified live distribution surfaces">
142
- <div class="proof"><strong>npm</strong><span>thumbgate@1.37.1</span></div>
142
+ <div class="proof"><strong>npm</strong><span>thumbgate@1.37.2</span></div>
143
143
  <div class="proof"><strong>VS Code</strong><span>Marketplace version live</span></div>
144
144
  <div class="proof"><strong>Open VSX</strong><span>Antigravity-compatible path</span></div>
145
145
  <div class="proof"><strong>MCP Registry</strong><span>1.27.20 is latest</span></div>
@@ -152,11 +152,11 @@ __GA_BOOTSTRAP__
152
152
  <h2>Choose the install path that matches your agent.</h2>
153
153
  <p class="section-lede">Use the local CLI path for immediate enforcement. Use marketplace installs where your editor supports them. Use the diagnostic path when you need a human-reviewed gate map for one risky workflow. New install: <a href="/guides/progressive-wiring">prove the pipe first</a> (doctor green, empty dashboard OK) before expecting a gate to fire.</p>
154
154
  <div class="grid">
155
- <article class="card"><h3>CLI and MCP-compatible agents</h3><p>Fastest path for Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode, and local MCP-compatible agents.</p><pre><code>npx -y thumbgate@1.37.1 doctor
156
- npx -y thumbgate@1.37.1 doctor --fix</code></pre></article>
157
- <article class="card"><h3>Claude Desktop</h3><p>Use the npm-backed MCP server today. The Claude Desktop `.mcpb` directory submission packet is prepared separately.</p><pre><code>claude mcp add thumbgate -- npx --yes --package thumbgate@1.37.1 thumbgate serve</code></pre></article>
158
- <article class="card"><h3>Cursor</h3><p>The public Cursor Marketplace listing is not live yet. Use the CLI wiring while the dashboard submission is resolved.</p><pre><code>npx -y thumbgate@1.37.1 init --agent cursor</code></pre></article>
159
- <article class="card"><h3>Codex</h3><p>Use the local adapter now. Public Codex self-serve plugin publishing is not open yet, so the GitHub Release asset is the distribution proof.</p><pre><code>npx -y thumbgate@1.37.1 init --agent codex</code></pre></article>
155
+ <article class="card"><h3>CLI and MCP-compatible agents</h3><p>Fastest path for Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode, and local MCP-compatible agents.</p><pre><code>npx -y thumbgate@1.37.2 doctor
156
+ npx -y thumbgate@1.37.2 doctor --fix</code></pre></article>
157
+ <article class="card"><h3>Claude Desktop</h3><p>Use the npm-backed MCP server today. The Claude Desktop `.mcpb` directory submission packet is prepared separately.</p><pre><code>claude mcp add thumbgate -- npx --yes --package thumbgate@1.37.2 thumbgate serve</code></pre></article>
158
+ <article class="card"><h3>Cursor</h3><p>The public Cursor Marketplace listing is not live yet. Use the CLI wiring while the dashboard submission is resolved.</p><pre><code>npx -y thumbgate@1.37.2 init --agent cursor</code></pre></article>
159
+ <article class="card"><h3>Codex</h3><p>Use the local adapter now. Public Codex self-serve plugin publishing is not open yet, so the GitHub Release asset is the distribution proof.</p><pre><code>npx -y thumbgate@1.37.2 init --agent codex</code></pre></article>
160
160
  </div>
161
161
  </div>
162
162
  </section>
@@ -165,7 +165,7 @@ npx -y thumbgate@1.37.1 doctor --fix</code></pre></article>
165
165
  <h2>Verified public surfaces.</h2>
166
166
  <p class="section-lede">These are the surfaces safe to claim in public copy right now. Pending surfaces are listed so buyers do not get sent to dead marketplace pages.</p>
167
167
  <div class="status-list">
168
- <div class="status"><span class="badge live">LIVE</span><div><strong><a href="https://www.npmjs.com/package/thumbgate">npm package</a></strong><span>`thumbgate@1.37.1` is the canonical runtime install.</span></div></div>
168
+ <div class="status"><span class="badge live">LIVE</span><div><strong><a href="https://www.npmjs.com/package/thumbgate">npm package</a></strong><span>`thumbgate@1.37.2` is the canonical runtime install.</span></div></div>
169
169
  <div class="status"><span class="badge live">LIVE</span><div><strong><a href="https://marketplace.visualstudio.com/items?itemName=igorganapolsky.thumbgate">VS Code Marketplace</a></strong><span>Marketplace version-list API includes `1.27.20`.</span></div></div>
170
170
  <div class="status"><span class="badge live">LIVE</span><div><strong><a href="https://open-vsx.org/extension/igorganapolsky/thumbgate">Open VSX</a></strong><span>Public registry latest version is `1.27.20`; use this path for VS Code-compatible IDEs that consume Open VSX.</span></div></div>
171
171
  <div class="status"><span class="badge live">LIVE</span><div><strong><a href="https://registry.modelcontextprotocol.io/v0/servers?search=thumbgate">MCP Registry</a></strong><span>Public search returns `io.github.IgorGanapolsky/thumbgate` version `1.27.20` as latest.</span></div></div>
@@ -25,7 +25,7 @@
25
25
  "alternateName": "thumbgate",
26
26
  "applicationCategory": "DeveloperApplication",
27
27
  "operatingSystem": "Cross-platform, Node.js >=18.18.0",
28
- "softwareVersion": "1.37.1",
28
+ "softwareVersion": "1.37.2",
29
29
  "url": "https://thumbgate-production.up.railway.app/numbers",
30
30
  "dateModified": "2026-08-03",
31
31
  "creator": {
@@ -202,7 +202,7 @@
202
202
  <main class="container">
203
203
  <h1>The Numbers</h1>
204
204
  <p class="subtitle">Generated first-party operational snapshot from the ThumbGate runtime. This is not customer traction, install volume, revenue, or proof that a configured gate has fired.</p>
205
- <div class="freshness">Updated: 2026-08-03 · Version 1.37.1</div>
205
+ <div class="freshness">Updated: 2026-08-03 · Version 1.37.2</div>
206
206
  <div class="truth-note"><strong>Read this first:</strong> configured checks are inventory. Recorded blocks and warnings are usage evidence. This snapshot currently reports 0 recorded hard-block event(s) and 0 recorded warning event(s).</div>
207
207
 
208
208
  <h2>Gate enforcement</h2>
@@ -475,6 +475,46 @@ const CLI_COMMANDS = [
475
475
  ],
476
476
  }),
477
477
 
478
+ discoveryCommand({
479
+ name: 'colab-compute-honesty',
480
+ aliases: ['colab-honesty', 'compute-unit-honesty'],
481
+ description: 'Colab /signup FORMAT steal: Compute Units ≠ dedicated GPU; Subscribe ≠ receipt (does not buy Pro/Pro+ or clone colab-cli)',
482
+ flags: [
483
+ jsonFlag(),
484
+ { name: 'strict', type: 'boolean', description: 'Exit non-zero on fail' },
485
+ { name: 'claim', type: 'string', description: 'Claim to audit' },
486
+ { name: 'plan', type: 'string', description: 'free|payg|pro|proplus|unknown' },
487
+ { name: 'plan-proof', type: 'string', description: 'Live Current-plan receipt, not a Subscribe button' },
488
+ { name: 'snapshot', type: 'string', description: 'Live /signup snapshot JSON' },
489
+ { name: 'map-only', type: 'boolean', description: 'Print Colab → ThumbGate rail map' },
490
+ { name: 'claim-ready', type: 'boolean', description: 'Fail unless compute proof is clean' },
491
+ { name: 'clone-colab', type: 'boolean', description: 'Refuse Colab-runner SKU clone' },
492
+ { name: 'buy-pro', type: 'boolean', description: 'Refuse buying Colab Pro/Pro+/CU' },
493
+ ],
494
+ }),
495
+
496
+ discoveryCommand({
497
+ name: 'typesafe-typed-questions',
498
+ aliases: ['typesafe-hook', 'typed-questions', 'jev-typed-questions'],
499
+ description: 'TypeSafe FORMAT steal: typed noul/choice/score over PreToolUse state, code-owned pass/review/block (does not install typesafe-sdk or clone Jev)',
500
+ flags: [
501
+ jsonFlag(),
502
+ { name: 'strict', type: 'boolean', description: 'Exit non-zero on fail or actionable findings' },
503
+ { name: 'root', type: 'string', description: 'Repo root for relative paths (default cwd)' },
504
+ { name: 'payload', type: 'string', description: 'Path to PreToolUse JSON payload' },
505
+ { name: 'battery', type: 'string', description: 'Path to typed questions JSON' },
506
+ { name: 'tool-name', type: 'string', description: 'Shortcut tool_name' },
507
+ { name: 'command', type: 'string', description: 'Shortcut tool_input.command' },
508
+ { name: 'policy', type: 'string', description: 'strict|permissive route policy' },
509
+ { name: 'map-only', type: 'boolean', description: 'Print TypeSafe → ThumbGate rail map' },
510
+ { name: 'claim-ready', type: 'boolean', description: 'Fail unless code owns the route' },
511
+ { name: 'clone-jev', type: 'boolean', description: 'Refuse TypeSafe/Jev SKU clone' },
512
+ { name: 'use-typesafe-api', type: 'boolean', description: 'Refuse live api.typesafe.ai as the gate' },
513
+ { name: 'llm-adjudicate', type: 'boolean', description: 'Refuse LLM adjudicator (#3690/#3687 parked)' },
514
+ { name: 'model-emitted-verdict', type: 'string', description: 'Refuse a model-emitted pass/review/block' },
515
+ ],
516
+ }),
517
+
478
518
  discoveryCommand({
479
519
  name: 'openui-catalog-compose-honesty',
480
520
  aliases: ['openui-honesty-doctor', 'catalog-compose-honesty', 'repair-before-compose-claim'],