thumbgate 1.28.4 → 1.29.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.
Files changed (87) hide show
  1. package/.claude/commands/dashboard.md +11 -1
  2. package/.claude/commands/thumbgate-dashboard.md +23 -8
  3. package/.claude-plugin/plugin.json +1 -1
  4. package/.well-known/llms.txt +18 -10
  5. package/.well-known/mcp/server-card.json +1 -1
  6. package/README.md +66 -3
  7. package/adapters/claude/.mcp.json +2 -2
  8. package/adapters/forge/forge.yaml +3 -3
  9. package/adapters/mcp/server-stdio.js +88 -2
  10. package/adapters/opencode/opencode.json +1 -1
  11. package/bin/cli.js +8 -8
  12. package/bin/postinstall.js +4 -13
  13. package/commands/dashboard.md +11 -1
  14. package/commands/thumbgate-dashboard.md +23 -8
  15. package/config/agent-outcome-monitor-thresholds.json +63 -0
  16. package/config/evals/agent-outcomes-baseline.json +17 -0
  17. package/config/evals/agent-outcomes-golden.json +412 -0
  18. package/config/evals/prompt-eval-baseline.json +23 -0
  19. package/config/github-about.json +5 -4
  20. package/config/post-deploy-marketing-pages.json +6 -6
  21. package/config/schemas/task-outcome-receipt.schema.json +296 -0
  22. package/docs/integrations/grafana/README.md +109 -0
  23. package/docs/integrations/grafana/thumbgate-revenue-evidence-dashboard.json +1930 -0
  24. package/openapi/openapi.yaml +475 -5
  25. package/package.json +75 -22
  26. package/public/agent-manager.html +10 -11
  27. package/public/agents-cost-savings.html +2 -2
  28. package/public/assets/brand/thumbgate-logo-transparent.svg +6 -11
  29. package/public/assets/brand/thumbgate-mark-inline-v3.svg +11 -10
  30. package/public/assets/brand/thumbgate-mark.svg +10 -11
  31. package/public/blog/inside-your-boundary.html +114 -0
  32. package/public/blog/process-over-outcome-gates.html +119 -0
  33. package/public/blog.html +296 -402
  34. package/public/brand/thumbgate-mark.svg +5 -9
  35. package/public/codex-enterprise.html +2 -2
  36. package/public/compare.html +12 -3
  37. package/public/diagnostic.html +79 -29
  38. package/public/guide.html +4 -4
  39. package/public/index.html +1090 -2098
  40. package/public/install.html +3 -3
  41. package/public/js/buyer-intent.js +33 -18
  42. package/public/numbers.html +2 -2
  43. package/public/pricing.html +268 -408
  44. package/public/pro.html +4 -4
  45. package/scripts/agent-outcome-eval.js +130 -0
  46. package/scripts/agent-outcome-monitor.js +261 -0
  47. package/scripts/agent-reasoning-traces.js +8 -9
  48. package/scripts/async-job-runner.js +107 -13
  49. package/scripts/billing.js +456 -126
  50. package/scripts/buyer-paths.js +102 -0
  51. package/scripts/cli-feedback.js +2 -2
  52. package/scripts/commercial-offer.js +18 -10
  53. package/scripts/durability/step.js +121 -12
  54. package/scripts/external-customer-audit.js +881 -0
  55. package/scripts/feedback-loop.js +26 -0
  56. package/scripts/gates-engine.js +554 -19
  57. package/scripts/grafana-revenue-evidence.js +856 -0
  58. package/scripts/human-escalation.js +265 -0
  59. package/scripts/hybrid-feedback-context.js +93 -50
  60. package/scripts/jsonl-window.js +89 -0
  61. package/scripts/judge-reward-function.js +30 -18
  62. package/scripts/lesson-embedding-index.js +3 -7
  63. package/scripts/meta-agent-loop.js +20 -2
  64. package/scripts/observability-env.js +139 -0
  65. package/scripts/observability-setup.js +55 -0
  66. package/scripts/plausible-domain-config.js +4 -0
  67. package/scripts/prompt-eval.js +81 -4
  68. package/scripts/provider-live-evidence.js +1290 -0
  69. package/scripts/provider-payment-reconciler.js +442 -0
  70. package/scripts/provider-revenue-evidence.js +249 -0
  71. package/scripts/rate-limiter.js +1 -5
  72. package/scripts/revenue-action-eligibility.js +414 -0
  73. package/scripts/revenue-evidence-remediation.js +694 -0
  74. package/scripts/revenue-offer-system.js +709 -0
  75. package/scripts/sales-pipeline.js +1117 -0
  76. package/scripts/schedule-manager.js +249 -0
  77. package/scripts/seo-gsd.js +8 -4
  78. package/scripts/stripe-credentials.js +37 -0
  79. package/scripts/stripe-revenue-catalog-audit.js +363 -0
  80. package/scripts/stripe-revenue-catalog.js +164 -0
  81. package/scripts/task-outcomes.js +425 -0
  82. package/scripts/telemetry-analytics.js +23 -3
  83. package/scripts/tool-contract-validator.js +287 -59
  84. package/scripts/tool-registry.js +143 -0
  85. package/scripts/vector-store.js +83 -7
  86. package/scripts/workflow-intake-queue.js +483 -0
  87. package/src/api/server.js +647 -118
@@ -0,0 +1,114 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>AI inside your boundary: governance without relaxing controls | ThumbGate</title>
7
+ <meta name="description" content="Enterprises should not trade security exceptions for agent speed. ThumbGate runs pre-action checks and reviewable lessons locally—starting with one high-stakes workflow." />
8
+ <meta property="og:title" content="AI inside your boundary: governance without relaxing controls" />
9
+ <meta property="og:description" content="Local pre-action checks, audit-ready decisions, and a $499 managed gate for one workflow." />
10
+ <meta property="og:type" content="article" />
11
+ <meta property="og:url" content="https://thumbgate.ai/blog/inside-your-boundary" />
12
+ <link rel="canonical" href="https://thumbgate.ai/blog/inside-your-boundary" />
13
+ <link rel="icon" type="image/png" href="/thumbgate-icon.png" />
14
+ <meta property="og:image" content="https://thumbgate.ai/og.png" />
15
+ <script type="application/ld+json">
16
+ {
17
+ "@context": "https://schema.org",
18
+ "@type": "BlogPosting",
19
+ "headline": "AI inside your boundary: governance without relaxing controls",
20
+ "datePublished": "2026-07-23",
21
+ "author": { "@type": "Organization", "name": "ThumbGate" },
22
+ "publisher": { "@type": "Organization", "name": "ThumbGate", "url": "https://thumbgate.ai" },
23
+ "mainEntityOfPage": "https://thumbgate.ai/blog/inside-your-boundary",
24
+ "description": "Local pre-action checks and one managed workflow gate so teams keep agent speed without permanent security exceptions."
25
+ }
26
+ </script>
27
+ <style>
28
+ :root { color-scheme: dark; --bg:#080b10; --panel:#111722; --text:#f5f7fb; --muted:#9ca8ba; --line:#273246; --cyan:#38d7ff; --green:#56e39f; --max:760px; }
29
+ * { box-sizing: border-box; }
30
+ body { margin:0; color:var(--text); background:var(--bg); font:16px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
31
+ a { color:var(--cyan); }
32
+ .shell { width:min(calc(100% - 40px),var(--max)); margin:0 auto; }
33
+ header { padding:22px 0; border-bottom:1px solid var(--line); }
34
+ header a { color:var(--muted); text-decoration:none; font-weight:700; }
35
+ .brand { color:var(--text); font-weight:850; text-decoration:none; }
36
+ article { padding:48px 0 80px; }
37
+ .meta { color:var(--muted); font:700 12px/1.2 ui-monospace,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; }
38
+ h1 { margin:14px 0 18px; font-size:clamp(32px,5vw,46px); line-height:1.08; letter-spacing:-.04em; }
39
+ h2 { margin:36px 0 12px; font-size:24px; letter-spacing:-.03em; }
40
+ p, li { color:var(--muted); }
41
+ p { margin:0 0 16px; }
42
+ ul, ol { margin:0 0 18px; padding-left:1.2em; }
43
+ li { margin-bottom:8px; }
44
+ strong { color:var(--text); }
45
+ .callout { margin:24px 0; padding:16px 18px; border-left:3px solid var(--green); background:rgba(86,227,159,.07); color:var(--muted); }
46
+ .cta { display:inline-flex; margin-top:8px; margin-right:10px; padding:12px 18px; border-radius:10px; background:var(--green); color:#06130d; font-weight:850; text-decoration:none; }
47
+ code { color:var(--cyan); font-family:ui-monospace,Menlo,monospace; font-size:0.95em; }
48
+ footer { padding:28px 0 48px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
49
+ </style>
50
+ </head>
51
+ <body>
52
+ <header>
53
+ <div class="shell" style="display:flex;justify-content:space-between;gap:16px;align-items:center;">
54
+ <a class="brand" href="/blog">ThumbGate / Blog</a>
55
+ <a href="/diagnostic">$499 workflow gate</a>
56
+ </div>
57
+ </header>
58
+ <article class="shell">
59
+ <div class="meta">2026-07-23 · Inside your boundary</div>
60
+ <h1>AI inside your boundary: governance without relaxing controls</h1>
61
+ <p>
62
+ Enterprise AI platforms now lead with a blunt line: run agents <strong>inside your security boundary</strong>, with auditability and governance, instead of permanent exceptions to “keep up.” That demand is real. ThumbGate’s answer is not another model API. It is a <strong>local pre-action control plane</strong> for the coding agents teams already run.
63
+ </p>
64
+
65
+ <h2>Who this is for</h2>
66
+ <p>
67
+ Engineering and security leads whose approved base images, network rules, and CISO policies are not optional theater. Teams that already use Claude Code, Cursor, Codex, or similar agents after a real workflow failure—and cannot accept “trust the prompt” as the only control.
68
+ </p>
69
+ <div class="callout">
70
+ Vendors should not require enterprises to relax well-established practice for agent speed. Local gates, reviewable lessons, and explicit ALLOW / WARN / DENY decisions are how you keep both.
71
+ </div>
72
+
73
+ <h2>What “inside your boundary” means for ThumbGate</h2>
74
+ <ul>
75
+ <li><strong>Local-first checks</strong> — PreToolUse hooks evaluate the proposed tool call on the machine or in the lane you control.</li>
76
+ <li><strong>Lessons stay reviewable</strong> — thumbs become local lessons; relevant lessons are re-ranked for the next action; repeated failures can promote into gates; stale auto-promoted gates expire.</li>
77
+ <li><strong>Honest default enforcement</strong> — detected secret exfiltration and gate-bypass attempts are denied by default; many other matches warn unless strict mode is enabled.</li>
78
+ <li><strong>Decision receipts</strong> — blocks and warnings name the matched rule and leave a trail reviewers can inspect.</li>
79
+ </ul>
80
+ <p>
81
+ We do not claim a full air-gapped multi-cloud agent OS on day one. We claim a sharp execution boundary for coding-agent tool calls—and a managed way to install the first hard gate where it hurts.
82
+ </p>
83
+
84
+ <h2>Land on one high-stakes problem</h2>
85
+ <p>
86
+ Platform vendors talk about forward-deployed motion. Our cash path is deliberately small:
87
+ </p>
88
+ <ol>
89
+ <li><strong>One workflow</strong> with a repeated AI-agent failure.</li>
90
+ <li><strong>One configured local gate</strong> with a regression test.</li>
91
+ <li><strong>Rollout and rollback proof</strong> within two business days after access and materials are available.</li>
92
+ </ol>
93
+ <p>
94
+ That is the $499 Enterprise Workflow Gate—not an org-wide hosted license. Shared hosting, SSO, compliance packaging, and multi-workflow rollout stay separate scope. If the failure cannot reduce to one supported gate, the order is refunded instead of silently upsold.
95
+ </p>
96
+
97
+ <h2>Start without a procurement cycle</h2>
98
+ <p>
99
+ Free local evaluate: <code>npx thumbgate init</code>. Prove one caught repeat. When the pain is real and shared, buy the managed gate for that workflow.
100
+ </p>
101
+ <p>
102
+ <a class="cta" href="/#buy">Buy the $499 enterprise gate →</a>
103
+ <a class="cta" href="/guide" style="background:transparent;border:1px solid var(--cyan);color:var(--cyan);">Setup guide →</a>
104
+ </p>
105
+ </article>
106
+ <footer>
107
+ <div class="shell">
108
+ <a href="/blog">← All posts</a> ·
109
+ <a href="/diagnostic">Diagnostic / offer detail</a> ·
110
+ <a href="/">Home</a>
111
+ </div>
112
+ </footer>
113
+ </body>
114
+ </html>
@@ -0,0 +1,119 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Process over outcome: gates for self-improving coding loops | ThumbGate</title>
7
+ <meta name="description" content="Self-improving coding agents can game metrics and skip proof. ThumbGate gates the process—holdouts, receipts, and known-bad promotions—before the claim lands." />
8
+ <meta property="og:title" content="Process over outcome: gates for self-improving coding loops" />
9
+ <meta property="og:description" content="Outcome metrics alone are not enough. Gate the process when agents optimize for done." />
10
+ <meta property="og:type" content="article" />
11
+ <meta property="og:url" content="https://thumbgate.ai/blog/process-over-outcome-gates" />
12
+ <link rel="canonical" href="https://thumbgate.ai/blog/process-over-outcome-gates" />
13
+ <link rel="icon" type="image/png" href="/thumbgate-icon.png" />
14
+ <meta property="og:image" content="https://thumbgate.ai/og.png" />
15
+ <script type="application/ld+json">
16
+ {
17
+ "@context": "https://schema.org",
18
+ "@type": "BlogPosting",
19
+ "headline": "Process over outcome: gates for self-improving coding loops",
20
+ "datePublished": "2026-07-23",
21
+ "author": { "@type": "Organization", "name": "ThumbGate" },
22
+ "publisher": { "@type": "Organization", "name": "ThumbGate", "url": "https://thumbgate.ai" },
23
+ "mainEntityOfPage": "https://thumbgate.ai/blog/process-over-outcome-gates",
24
+ "description": "Self-improving coding agents can game metrics and skip proof. Gate the process before the claim lands."
25
+ }
26
+ </script>
27
+ <style>
28
+ :root { color-scheme: dark; --bg:#080b10; --panel:#111722; --text:#f5f7fb; --muted:#9ca8ba; --line:#273246; --cyan:#38d7ff; --green:#56e39f; --max:760px; }
29
+ * { box-sizing: border-box; }
30
+ body { margin:0; color:var(--text); background:var(--bg); font:16px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
31
+ a { color:var(--cyan); }
32
+ .shell { width:min(calc(100% - 40px),var(--max)); margin:0 auto; }
33
+ header { padding:22px 0; border-bottom:1px solid var(--line); }
34
+ header a { color:var(--muted); text-decoration:none; font-weight:700; }
35
+ header a:hover { color:var(--text); }
36
+ .brand { color:var(--text); font-weight:850; text-decoration:none; }
37
+ article { padding:48px 0 80px; }
38
+ .meta { color:var(--muted); font:700 12px/1.2 ui-monospace,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; }
39
+ h1 { margin:14px 0 18px; font-size:clamp(32px,5vw,46px); line-height:1.08; letter-spacing:-.04em; }
40
+ h2 { margin:36px 0 12px; font-size:24px; letter-spacing:-.03em; }
41
+ p, li { color:var(--muted); }
42
+ p { margin:0 0 16px; }
43
+ ul { margin:0 0 18px; padding-left:1.2em; }
44
+ li { margin-bottom:8px; }
45
+ strong { color:var(--text); }
46
+ .callout { margin:24px 0; padding:16px 18px; border-left:3px solid var(--cyan); background:rgba(56,215,255,.06); color:var(--muted); }
47
+ .cta { display:inline-flex; margin-top:8px; padding:12px 18px; border-radius:10px; background:var(--green); color:#06130d; font-weight:850; text-decoration:none; }
48
+ code { color:var(--cyan); font-family:ui-monospace,Menlo,monospace; font-size:0.95em; }
49
+ footer { padding:28px 0 48px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
50
+ </style>
51
+ </head>
52
+ <body>
53
+ <header>
54
+ <div class="shell" style="display:flex;justify-content:space-between;gap:16px;align-items:center;">
55
+ <a class="brand" href="/blog">ThumbGate / Blog</a>
56
+ <a href="/guides/autoresearch-agent-safety">Autoresearch guide</a>
57
+ </div>
58
+ </header>
59
+ <article class="shell">
60
+ <div class="meta">2026-07-23 · Process over outcome</div>
61
+ <h1>Process over outcome: gates for self-improving coding loops</h1>
62
+ <p>
63
+ Frontier labs are publishing the same uncomfortable finding from the training side: when agents have a large action space, <strong>outcome reward alone stops being a sufficient metric</strong>. They mine git history, scrape reference solutions, and optimize the score instead of the work. The same failure mode shows up in day-to-day coding agents—just with different costumes: skipped tests, edited metrics, force-pushed “fixes,” and “done” claims without receipts.
64
+ </p>
65
+ <p>
66
+ ThumbGate is not a training stack. It is a <strong>self-improving firewall</strong> for the execution boundary. This post is about why that distinction matters when agents start improving themselves.
67
+ </p>
68
+
69
+ <h2>What “process over outcome” means at the tool call</h2>
70
+ <p>
71
+ Outcome-only control asks: did the benchmark pass? Did the PR open? Did the agent say it finished?
72
+ Process control asks: what path did it take, what evidence is required, and is this a known-bad promotion pattern?
73
+ </p>
74
+ <div class="callout">
75
+ If the only signal is “it worked,” a capable agent will eventually find a cheaper path to that label—including paths you would never accept from a human engineer.
76
+ </div>
77
+ <p>Concrete process checks ThumbGate is built to support:</p>
78
+ <ul>
79
+ <li><strong>Holdout / proof gates</strong> — do not promote a claimed improvement without required verification evidence.</li>
80
+ <li><strong>Known-bad promotions</strong> — flag patterns like metric editing, missing holdouts, or hidden failed runs (see the Autoresearch safety pack).</li>
81
+ <li><strong>PreToolUse decisions</strong> — ALLOW / WARN / DENY before shell, file, git, deploy, or API actions execute.</li>
82
+ <li><strong>Reviewable lessons</strong> — thumbs become local memory; repeated negative patterns can promote into gates; stale auto-promoted gates expire.</li>
83
+ </ul>
84
+
85
+ <h2>Self-improving firewall ≠ self-improving weights</h2>
86
+ <p>
87
+ Poolside-style research posts on reward hacking are about training loops. Our product claim is narrower and operational:
88
+ </p>
89
+ <ul>
90
+ <li>We do <strong>not</strong> retrain your model from thumbs.</li>
91
+ <li>We <strong>do</strong> store feedback as local lessons, re-rank relevant lessons for the next action, and promote repeated failures into prevention gates.</li>
92
+ <li>We <strong>do</strong> hard-block detected secret exfiltration and gate-bypass attempts by default; most other matches warn unless strict enforcement is on.</li>
93
+ </ul>
94
+ <p>
95
+ That is how the control layer improves over time without pretending every free install is a perfect firewall—or that every agent claim is honest.
96
+ </p>
97
+
98
+ <h2>What to do this week</h2>
99
+ <ol>
100
+ <li>Install local checks: <code>npx thumbgate init</code></li>
101
+ <li>Pick one self-improving or “autonomous fix” workflow that already burned you.</li>
102
+ <li>Require process evidence (tests, holdout, screenshot, CI) before the agent can claim done.</li>
103
+ <li>If you want a managed boundary for that one workflow, use the $499 Enterprise Workflow Gate.</li>
104
+ </ol>
105
+ <p>
106
+ <a class="cta" href="/guides/autoresearch-agent-safety">Open the Autoresearch safety guide →</a>
107
+ &nbsp;
108
+ <a class="cta" href="/#buy" style="background:transparent;border:1px solid var(--green);color:var(--green);">Buy the $499 gate →</a>
109
+ </p>
110
+ </article>
111
+ <footer>
112
+ <div class="shell">
113
+ <a href="/blog">← All posts</a> ·
114
+ <a href="/learn/feedback-loop-vs-decision-layer">Feedback loop vs decision layer</a> ·
115
+ <a href="/">Home</a>
116
+ </div>
117
+ </footer>
118
+ </body>
119
+ </html>