thumbgate 1.2.0 → 1.3.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/README.md +4 -4
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +35 -14
- package/adapters/README.md +1 -1
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/codex/config.toml +2 -2
- package/adapters/mcp/server-stdio.js +2 -2
- package/adapters/opencode/opencode.json +1 -1
- package/bin/cli.js +20 -11
- package/config/github-about.json +1 -1
- package/config/model-tiers.json +11 -0
- package/package.json +8 -6
- package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-codex-bridge/.mcp.json +1 -1
- package/plugins/codex-profile/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-profile/.mcp.json +1 -1
- package/plugins/codex-profile/INSTALL.md +1 -1
- package/plugins/codex-profile/README.md +1 -1
- package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-marketplace/README.md +2 -2
- package/plugins/cursor-marketplace/commands/capture-feedback.md +2 -2
- package/plugins/cursor-marketplace/rules/feedback-capture.mdc +3 -3
- package/plugins/cursor-marketplace/skills/capture-feedback/SKILL.md +3 -2
- package/plugins/opencode-profile/INSTALL.md +1 -1
- package/public/compare.html +4 -4
- package/public/guide.html +4 -4
- package/public/index.html +51 -38
- package/public/learn/ai-agent-persistent-memory.html +1 -0
- package/public/lessons.html +325 -17
- package/scripts/__pycache__/train_from_feedback.cpython-312.pyc +0 -0
- package/scripts/audit-trail.js +6 -0
- package/scripts/capture-railway-diagnostics.sh +97 -0
- package/scripts/check-congruence.js +1 -1
- package/scripts/claude-feedback-sync.js +320 -0
- package/scripts/cli-telemetry.js +4 -1
- package/scripts/contextfs.js +32 -23
- package/scripts/dashboard.js +84 -0
- package/scripts/feedback-loop.js +16 -0
- package/scripts/intervention-policy.js +696 -0
- package/scripts/local-model-profile.js +18 -2
- package/scripts/model-tier-router.js +10 -1
- package/scripts/operational-integrity.js +354 -31
- package/scripts/prove-adapters.js +1 -0
- package/scripts/prove-automation.js +2 -2
- package/scripts/prove-packaged-runtime.js +260 -0
- package/scripts/prove-runtime.js +13 -0
- package/scripts/rate-limiter.js +3 -3
- package/scripts/statusline-local-stats.js +2 -0
- package/scripts/statusline.sh +166 -11
- package/scripts/tool-registry.js +2 -2
- package/scripts/workflow-sentinel.js +114 -4
- package/skills/thumbgate/SKILL.md +1 -1
package/public/compare.html
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"name": "Is ThumbGate free?",
|
|
63
63
|
"acceptedAnswer": {
|
|
64
64
|
"@type": "Answer",
|
|
65
|
-
"text": "ThumbGate has a free tier that includes local enforcement with
|
|
65
|
+
"text": "ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, blocking, and history-aware lesson distillation. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($12/seat/mo) adds a shared lesson database and org dashboard."
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
{
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
<div class="step-card">
|
|
251
251
|
<div class="step-number">3</div>
|
|
252
252
|
<h3>Learn</h3>
|
|
253
|
-
<p>When your agent makes a mistake, give it a thumbs-down.
|
|
253
|
+
<p>When your agent makes a mistake, give it a thumbs-down. In the current Claude auto-capture path, vague negative signals can reuse up to 8 prior recorded entries plus the failed tool call, then stay linked to a 60-second follow-up session before repeated failures harden into prevention rules.</p>
|
|
254
254
|
</div>
|
|
255
255
|
</div>
|
|
256
256
|
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
|
|
280
280
|
<div class="card">
|
|
281
281
|
<h3>Is ThumbGate free?</h3>
|
|
282
|
-
<p>ThumbGate has a free tier that includes local enforcement with
|
|
282
|
+
<p>ThumbGate has a free tier that includes local enforcement with 3 daily feedback captures, 5 lesson searches, unlimited recall, and pre-action gate blocking. Pro ($19/mo or $149/yr) adds a personal local dashboard and DPO export. Team rollout ($12/seat/mo) adds a shared lesson database and org dashboard.</p>
|
|
283
283
|
</div>
|
|
284
284
|
|
|
285
285
|
<div class="card">
|
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
|
|
290
290
|
<div class="card">
|
|
291
291
|
<h3>Can ThumbGate learn from mistakes automatically?</h3>
|
|
292
|
-
<p>Yes. When your AI agent makes a mistake, give a thumbs-down with context. After repeated failures with the same pattern, ThumbGate auto-generates a prevention rule and wires it as a pre-action gate. Gates adapt over time using Thompson Sampling, a Bayesian multi-armed bandit algorithm.</p>
|
|
292
|
+
<p>Yes. When your AI agent makes a mistake, give a thumbs-down with context. In the current Claude auto-capture path, vague negative signals can reuse up to 8 prior recorded entries plus the failed tool call, then stay linked to a 60-second follow-up session. After repeated failures with the same pattern, ThumbGate auto-generates a prevention rule and wires it as a pre-action gate. Gates adapt over time using Thompson Sampling, a Bayesian multi-armed bandit algorithm.</p>
|
|
293
293
|
</div>
|
|
294
294
|
|
|
295
295
|
</div>
|
package/public/guide.html
CHANGED
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@type": "HowToStep",
|
|
59
59
|
"position": 2,
|
|
60
60
|
"name": "Give feedback when your agent makes a mistake",
|
|
61
|
-
"text": "Say thumbs down with context about what went wrong.
|
|
61
|
+
"text": "Say thumbs down with context about what went wrong. In the current Claude auto-capture path, vague negative signals can reuse up to 8 prior recorded entries and stay linked to a 60-second feedback session."
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"@type": "HowToStep",
|
|
@@ -234,7 +234,7 @@ npx thumbgate init --agent gemini</code></pre>
|
|
|
234
234
|
<h2>How It Works</h2>
|
|
235
235
|
|
|
236
236
|
<h3>1. You give feedback</h3>
|
|
237
|
-
<p>When your agent makes a mistake, tell it. ThumbGate captures the feedback as structured data with context, tags, and domain.
|
|
237
|
+
<p>When your agent makes a mistake, tell it. ThumbGate captures the feedback as structured data with context, tags, and domain. In the current Claude auto-capture path, if the thumbs-down is vague, it can reuse up to 8 prior recorded entries and the failed tool call to propose a better lesson instead of discarding the feedback.</p>
|
|
238
238
|
<pre><code># Your agent force-pushed. You say:
|
|
239
239
|
"thumbs down — force-pushed to main, lost commits"
|
|
240
240
|
|
|
@@ -265,7 +265,7 @@ npx thumbgate init --agent gemini</code></pre>
|
|
|
265
265
|
</ul>
|
|
266
266
|
|
|
267
267
|
<h2>History-Aware Feedback Sessions</h2>
|
|
268
|
-
<p>ThumbGate supports linked feedback sessions for the messy reality of AI debugging.
|
|
268
|
+
<p>ThumbGate supports linked feedback sessions for the messy reality of AI debugging. In the current Claude flow, accepted feedback opens a 60-second follow-up session. You can append more context, reset the timer, and finalize once the lesson is clear.</p>
|
|
269
269
|
<ul>
|
|
270
270
|
<li><code>open_feedback_session</code> starts a linked correction thread.</li>
|
|
271
271
|
<li><code>append_feedback_context</code> adds later notes, failed tool output, or user corrections to the same thread.</li>
|
|
@@ -310,7 +310,7 @@ npx thumbgate init --agent gemini</code></pre>
|
|
|
310
310
|
<pre><code>npx thumbgate init</code></pre>
|
|
311
311
|
<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
312
|
<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>
|
|
313
|
-
<p style="color:var(--muted); font-size:0.85rem;">Free keeps local enforcement with
|
|
313
|
+
<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 adds a personal local dashboard and DPO export. Team rollout adds the hosted shared lesson DB, org dashboard, and generated review views. <a href="https://buy.stripe.com/aFa4gz1M84r419v7mb3sI05" style="color:inherit;text-decoration:underline;">Founder $49 one-time link</a> stays preserved.</p>
|
|
314
314
|
|
|
315
315
|
</div>
|
|
316
316
|
</body>
|
package/public/index.html
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
21
21
|
__GOOGLE_SITE_VERIFICATION_META__
|
|
22
22
|
<title>ThumbGate — Self-improving AI coding agents that learn from every mistake</title>
|
|
23
|
-
<meta name="description" content="Pre-action gates and workflow governance for AI coding agents. 👎 Thumbs down
|
|
23
|
+
<meta name="description" content="Pre-action gates, a learned intervention policy, and workflow governance for self-improving AI coding agents. 👎 Thumbs down distills history-aware lessons from up to 8 prior entries and stays linked to a 60-second feedback session. 👍 Thumbs up reinforces safe patterns. Team adds shared lessons and org visibility.">
|
|
24
24
|
<meta property="og:title" content="ThumbGate — Self-improving AI coding agents that learn from every mistake">
|
|
25
|
-
<meta property="og:description" content="Pre-action gates and workflow governance for AI coding agents. 👎 Thumbs down
|
|
25
|
+
<meta property="og:description" content="Pre-action gates, a learned intervention policy, and workflow governance for self-improving AI coding agents. 👎 Thumbs down distills history-aware lessons from up to 8 prior entries and stays linked to a 60-second feedback session. 👍 Thumbs up reinforces safe patterns. Team adds shared lessons and org visibility.">
|
|
26
26
|
<meta property="og:type" content="website">
|
|
27
27
|
<meta name="keywords" content="ThumbGate, thumbgate, self-improving AI agents, AI agent self-improvement, AI agent learning, AI agent memory, pre-action gates, human-in-the-loop, MCP server, Claude Code, Cursor, Codex, Gemini, Amp, OpenCode, vibe coding safety, SpecLock alternative, Mem0 alternative, AI coding agent feedback loop, PreToolUse hooks, prevention rules, feedback enforcement, context engineering">
|
|
28
28
|
|
|
@@ -44,7 +44,7 @@ __GA_BOOTSTRAP__
|
|
|
44
44
|
"@type": "SoftwareApplication",
|
|
45
45
|
"name": "ThumbGate",
|
|
46
46
|
"alternateName": "thumbgate",
|
|
47
|
-
"description": "Make your AI coding agent self-improving. Every mistake becomes a prevention rule. Every correction
|
|
47
|
+
"description": "Make your AI coding agent self-improving. Every mistake becomes a prevention rule and trains a local intervention policy. Every correction strengthens future recall, verification, and enforcement. ThumbGate adds workflow governance and isolated execution guidance so high-risk runs do not have to happen directly on the host.",
|
|
48
48
|
"applicationCategory": "DeveloperApplication",
|
|
49
49
|
"operatingSystem": "Cross-platform, Node.js >=18.18.0",
|
|
50
50
|
"license": "https://opensource.org/licenses/MIT",
|
|
@@ -100,7 +100,9 @@ __GA_BOOTSTRAP__
|
|
|
100
100
|
{
|
|
101
101
|
"@type": "Offer",
|
|
102
102
|
"name": "Team",
|
|
103
|
-
"
|
|
103
|
+
"price": "12",
|
|
104
|
+
"priceCurrency": "USD",
|
|
105
|
+
"description": "Intake-led team rollout with a workflow hardening sprint, shared enforcement memory, org dashboard visibility, Docker Sandboxes guidance for risky local autonomy, and pilot support for teams shipping AI-generated changes",
|
|
104
106
|
"url": "https://thumbgate-production.up.railway.app/#workflow-sprint-intake"
|
|
105
107
|
}
|
|
106
108
|
]
|
|
@@ -112,7 +114,7 @@ __GA_BOOTSTRAP__
|
|
|
112
114
|
"@context": "https://schema.org",
|
|
113
115
|
"@type": "HowTo",
|
|
114
116
|
"name": "How to make your AI coding agent self-improving",
|
|
115
|
-
"description": "Set up ThumbGate so your AI agent learns from every mistake and never repeats it — a self-improvement loop powered by feedback enforcement.",
|
|
117
|
+
"description": "Set up ThumbGate so your AI agent learns from every mistake and never repeats it — a self-improvement loop powered by feedback enforcement and a trained local intervention policy.",
|
|
116
118
|
"step": [
|
|
117
119
|
{
|
|
118
120
|
"@type": "HowToStep",
|
|
@@ -124,7 +126,7 @@ __GA_BOOTSTRAP__
|
|
|
124
126
|
"@type": "HowToStep",
|
|
125
127
|
"position": 2,
|
|
126
128
|
"name": "Give feedback when something goes wrong",
|
|
127
|
-
"text": "When your agent makes a mistake, give it a thumbs down with context
|
|
129
|
+
"text": "When your agent makes a mistake, give it a thumbs down with context. In the current Claude auto-capture hook, vague negative signals can reuse up to 8 prior recorded entries before promotion and stay linked to a 60-second feedback session for later clarification."
|
|
128
130
|
},
|
|
129
131
|
{
|
|
130
132
|
"@type": "HowToStep",
|
|
@@ -432,7 +434,7 @@ __GA_BOOTSTRAP__
|
|
|
432
434
|
<a href="/learn">Learn</a>
|
|
433
435
|
<a href="/compare">Compare</a>
|
|
434
436
|
<a href="/dashboard">Dashboard Demo</a>
|
|
435
|
-
<a href="
|
|
437
|
+
<a href="#workflow-sprint-intake" class="nav-cta">Start Sprint</a>
|
|
436
438
|
</div>
|
|
437
439
|
</div>
|
|
438
440
|
</nav>
|
|
@@ -441,19 +443,20 @@ __GA_BOOTSTRAP__
|
|
|
441
443
|
<section class="hero">
|
|
442
444
|
<div class="container">
|
|
443
445
|
<div class="hero-thumbs">👍👎</div>
|
|
444
|
-
<div class="hero-badge">●
|
|
445
|
-
<h1>
|
|
446
|
+
<div class="hero-badge">● Workflow Hardening Sprint for teams shipping AI-generated changes</div>
|
|
447
|
+
<h1>Make one AI workflow<br>safe enough to ship team-wide.</h1>
|
|
446
448
|
<div class="hero-signals">
|
|
447
|
-
<div class="signal-pill signal-down">👎
|
|
448
|
-
<div class="signal-pill signal-up">👍
|
|
449
|
+
<div class="signal-pill signal-down">👎 Repeated failure becomes enforcement before the next run</div>
|
|
450
|
+
<div class="signal-pill signal-up">👍 Safe pattern reinforced across the shared workflow</div>
|
|
449
451
|
</div>
|
|
450
|
-
<p class="hero-persona">For
|
|
451
|
-
<p><strong>
|
|
452
|
+
<p class="hero-persona">For consultancies, platform teams, and AI product teams with one workflow owner, one repeated failure, and one buyer who needs proof before a wider rollout.</p>
|
|
453
|
+
<p><strong>Best first paid motion:</strong> start with one repo, one workflow, and one repeat failure. ThumbGate turns the blocker into enforcement, routes risky runs toward isolated execution, and gives the buyer a proof-ready story around shared memory, approval boundaries, release confidence, and auditability.</p>
|
|
452
454
|
<div class="hero-actions">
|
|
453
|
-
<a href="
|
|
455
|
+
<a href="#workflow-sprint-intake" class="btn-team">Start Workflow Hardening Sprint</a>
|
|
456
|
+
<a href="/pro?utm_source=website&utm_medium=homepage_hero&utm_campaign=pro_page" class="btn-pro-page">See Pro for solo operators</a>
|
|
454
457
|
<a href="/dashboard?utm_source=website&utm_medium=homepage_hero&utm_campaign=demo" class="btn-demo-link">Open dashboard demo</a>
|
|
455
458
|
</div>
|
|
456
|
-
<p class="hero-paid-note"><strong>
|
|
459
|
+
<p class="hero-paid-note"><strong>Start free as an individual.</strong> Pro stays the self-serve lane for personal dashboard and DPO export. Team pricing anchors at <strong>$12/seat/mo with a 3-seat minimum</strong>, but the team path starts intake-first with the Workflow Hardening Sprint so buyers see proof before a wider rollout.</p>
|
|
457
460
|
<div class="hero-install" onclick="copyInstall(this)" title="Click to copy">
|
|
458
461
|
<span class="prompt">$</span>
|
|
459
462
|
<span class="cmd">npx thumbgate init</span>
|
|
@@ -530,7 +533,7 @@ __GA_BOOTSTRAP__
|
|
|
530
533
|
</div>
|
|
531
534
|
<div class="agent-card">
|
|
532
535
|
<h3>🪞 History-Aware Lessons</h3>
|
|
533
|
-
<p>When
|
|
536
|
+
<p>When the current Claude auto-capture hook only gets a vague thumbs-down, ThumbGate can reuse up to 8 prior recorded entries plus the failed tool call, then keep a linked 60-second feedback session open for later corrections instead of creating a dead-end note.</p>
|
|
534
537
|
</div>
|
|
535
538
|
</div>
|
|
536
539
|
</div>
|
|
@@ -596,13 +599,13 @@ __GA_BOOTSTRAP__
|
|
|
596
599
|
<!-- HOW IT WORKS -->
|
|
597
600
|
<section class="how-it-works" id="how-it-works">
|
|
598
601
|
<div class="container">
|
|
599
|
-
<div class="section-label">New in v1.
|
|
602
|
+
<div class="section-label">New in v1.3.0</div>
|
|
600
603
|
<h2 class="section-title">Three steps to stop repeated AI failures</h2>
|
|
601
604
|
<div class="steps">
|
|
602
605
|
<div class="step">
|
|
603
606
|
<div class="step-num">1</div>
|
|
604
607
|
<h3>Feedback</h3>
|
|
605
|
-
<p>Give <code>👍</code> or <code>👎</code> on your AI agent's actions. Feedback is stored in a SQLite+FTS5 lesson DB.
|
|
608
|
+
<p>Give <code>👍</code> or <code>👎</code> on your AI agent's actions. Feedback is stored in a SQLite+FTS5 lesson DB. In the current Claude auto-capture hook, a vague thumbs-down can distill from up to 8 prior recorded entries and the failed tool call before promotion, then stay linked to a 60-second feedback session. Example: you 👎 a risky migration → it auto-promotes to a "never run DROP on prod" gate.</p>
|
|
606
609
|
</div>
|
|
607
610
|
<div class="step">
|
|
608
611
|
<div class="step-num">2</div>
|
|
@@ -645,6 +648,10 @@ __GA_BOOTSTRAP__
|
|
|
645
648
|
<h3>Keep risky runs off the host</h3>
|
|
646
649
|
<p>When Workflow Sentinel predicts a risky local action, ThumbGate can recommend Docker Sandboxes before the agent touches the host filesystem or broader credentials.</p>
|
|
647
650
|
</div>
|
|
651
|
+
<div class="agent-card">
|
|
652
|
+
<h3>Ship with versioned proof</h3>
|
|
653
|
+
<p>Changesets, SemVer, sync checks, and verification evidence make new package releases inspectable before a buyer trusts the next rollout.</p>
|
|
654
|
+
</div>
|
|
648
655
|
</div>
|
|
649
656
|
</div>
|
|
650
657
|
</section>
|
|
@@ -679,7 +686,7 @@ __GA_BOOTSTRAP__
|
|
|
679
686
|
<section class="pricing" id="pricing">
|
|
680
687
|
<div class="container">
|
|
681
688
|
<div class="section-label">Pricing</div>
|
|
682
|
-
<h2 class="section-title">Start free.
|
|
689
|
+
<h2 class="section-title">Start free. Use the workflow hardening sprint to prove team value. Keep Pro as the self-serve lane for individual operators.</h2>
|
|
683
690
|
<div class="pricing-grid">
|
|
684
691
|
<div class="price-card">
|
|
685
692
|
<div class="tier">Free</div>
|
|
@@ -687,7 +694,7 @@ __GA_BOOTSTRAP__
|
|
|
687
694
|
<div class="price-sub">Forever free · Local enforcement for one developer</div>
|
|
688
695
|
<p style="font-size:13px;color:#aaa;margin-bottom:16px;">For solo developers who want to stop the same agent mistake from showing up twice.</p>
|
|
689
696
|
<ul>
|
|
690
|
-
<li>
|
|
697
|
+
<li>3 feedback captures/day · 5 lesson searches/day · unlimited recall</li>
|
|
691
698
|
<li>5 auto-promoted gates plus the core safety policy</li>
|
|
692
699
|
<li>All MCP integrations (Claude Code, Cursor, Codex, etc.)</li>
|
|
693
700
|
<li>PreToolUse hook blocking</li>
|
|
@@ -738,23 +745,24 @@ __GA_BOOTSTRAP__
|
|
|
738
745
|
<div class="price-card team">
|
|
739
746
|
<div class="tier">Team</div>
|
|
740
747
|
<div class="price">$12<span style="font-size:16px;color:var(--text-dim)">/seat/mo</span></div>
|
|
741
|
-
<div class="price-sub">
|
|
742
|
-
<p style="font-size:13px;color:var(--green);margin-bottom:16px;font-weight:500;">For teams shipping AI-generated changes across shared repos who need one correction to protect every reviewer and runtime.</p>
|
|
748
|
+
<div class="price-sub">3-seat minimum · intake-led rollout for the first workflow</div>
|
|
749
|
+
<p style="font-size:13px;color:var(--green);margin-bottom:16px;font-weight:500;">For teams shipping AI-generated changes across shared repos who need one correction to protect every reviewer and runtime. The first team step is a workflow hardening sprint, not a blind org-wide rollout.</p>
|
|
743
750
|
<div class="pro-upgrade-triggers" style="font-size:12px;color:#aaa;margin-bottom:12px;">
|
|
744
|
-
<strong style="color:#fff;">
|
|
751
|
+
<strong style="color:#fff;">Best first paid motion:</strong> one workflow, one owner, one proof review. Qualify the blocker first, then expand into seats.
|
|
745
752
|
</div>
|
|
746
753
|
<ul>
|
|
754
|
+
<li>Workflow hardening sprint — map one painful workflow, one repeated failure, and one buyer proof review before wider rollout</li>
|
|
747
755
|
<li>Shared enforcement memory — a shared lesson database where one developer's 👎 on a bad migration protects every agent on the team</li>
|
|
748
756
|
<li>Org dashboard — active agents, gate hit rates, risk agents, and proof-backed team metrics in one place</li>
|
|
749
757
|
<li>Hosted review views — constrained cards, lists, and callouts for rollout, incident, and audit visibility</li>
|
|
750
758
|
<li>Gate template library — pre-built guardrails for force-pushes, skipped tests, destructive SQL, and evidence-before-done</li>
|
|
751
759
|
<li>Docker Sandboxes guidance — route risky local autonomy into an isolated microVM-backed lane instead of running it directly on a shared host</li>
|
|
752
760
|
<li>Signed hosted sandbox dispatch — isolated execution path for team automations that do not need repo-bound local access</li>
|
|
753
|
-
<li>
|
|
754
|
-
<li>
|
|
761
|
+
<li>Release confidence story — Changesets, SemVer, version sync, and verification evidence keep publishes and rollout claims inspectable</li>
|
|
762
|
+
<li>Proof pack — attach verification evidence and rollout diagnostics so the buyer does not have to trust a demo</li>
|
|
755
763
|
</ul>
|
|
756
|
-
<a href="#workflow-sprint-intake" class="btn-team">Start
|
|
757
|
-
<p style="font-size:11px;color:#666;margin-top:8px;">
|
|
764
|
+
<a href="#workflow-sprint-intake" class="btn-team">Start Workflow Hardening Sprint</a>
|
|
765
|
+
<p style="font-size:11px;color:#666;margin-top:8px;">Team pricing anchors at $12/seat/mo with a 3-seat minimum after qualification. The first step is a 30-minute intake around one real blocker.</p>
|
|
758
766
|
</div>
|
|
759
767
|
</div>
|
|
760
768
|
</div>
|
|
@@ -764,7 +772,7 @@ __GA_BOOTSTRAP__
|
|
|
764
772
|
<div class="container">
|
|
765
773
|
<div class="section-label">Team Pilot</div>
|
|
766
774
|
<h2 class="section-title">Start with one repo, one workflow, one repeat failure</h2>
|
|
767
|
-
<p style="color:var(--text-dim);max-width:720px;margin:0 auto 16px;">
|
|
775
|
+
<p style="color:var(--text-dim);max-width:720px;margin:0 auto 16px;">This is the fastest path to first paid value for teams. Start with one workflow, one owner, and one blocker. The intake is designed to prove that ThumbGate reduces review churn, rollout risk, or repeated agent mistakes before a wider rollout.</p>
|
|
768
776
|
<form class="team-form" action="/v1/intake/workflow-sprint" method="POST">
|
|
769
777
|
<input type="hidden" name="ctaId" value="workflow_sprint_intake">
|
|
770
778
|
<input type="hidden" name="ctaPlacement" value="team_pricing">
|
|
@@ -809,13 +817,17 @@ __GA_BOOTSTRAP__
|
|
|
809
817
|
<button class="faq-q" type="button" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How do we keep high-risk autonomous runs off the host?</button>
|
|
810
818
|
<div class="faq-a">ThumbGate is the control plane, not just a prompt layer. Workflow Sentinel predicts blast radius before execution, and risky local autonomy can be routed into Docker Sandboxes instead of running directly on the host. Team workflows also have a signed hosted sandbox lane for isolated dispatch when local repo access is not required.</div>
|
|
811
819
|
</div>
|
|
820
|
+
<div class="faq-item">
|
|
821
|
+
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How do we trust a new package release?</div>
|
|
822
|
+
<div class="faq-a">ThumbGate does not rely on vibes. Release-relevant PRs need a Changeset, SemVer rules keep version bumps honest, sync checks keep manifests aligned, proof lanes run before merge, and the exact main-branch merge commit is verified before the work is called done.</div>
|
|
823
|
+
</div>
|
|
812
824
|
<div class="faq-item">
|
|
813
825
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">Do I need a cloud account?</div>
|
|
814
|
-
<div class="faq-a">No. Free keeps local enforcement on your machine with
|
|
826
|
+
<div class="faq-a">No. Free keeps local enforcement on your machine with 3 daily feedback captures, 5 lesson searches, unlimited recall, gates, and hook blocking. No cloud account is required. Pro adds a personal local dashboard plus DPO export. Team is the hosted rollout lane when your group wants a shared lesson database, hosted review views, org dashboard visibility, and team-wide proof.</div>
|
|
815
827
|
</div>
|
|
816
828
|
<div class="faq-item">
|
|
817
829
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What if my thumbs-down is vague?</div>
|
|
818
|
-
<div class="faq-a">ThumbGate can reuse
|
|
830
|
+
<div class="faq-a">For the current Claude auto-capture hook, ThumbGate can reuse up to 8 prior recorded entries and the failed tool call for a vague thumbs-down, then keep a linked 60-second feedback session open for later clarification. The timer resets when more context arrives, so the lesson stays attached to one feedback record instead of fragmenting into duplicates.</div>
|
|
819
831
|
</div>
|
|
820
832
|
<div class="faq-item">
|
|
821
833
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How are pre-action gates different from prompt rules?</div>
|
|
@@ -823,7 +835,7 @@ __GA_BOOTSTRAP__
|
|
|
823
835
|
</div>
|
|
824
836
|
<div class="faq-item">
|
|
825
837
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What does Pro cost?</div>
|
|
826
|
-
<div class="faq-a">Pro is $19/mo or $149/yr (save 35%). Team
|
|
838
|
+
<div class="faq-a">Pro is $19/mo or $149/yr (save 35%) for individual operators. Team pricing anchors at $12/seat/mo with a 3-seat minimum, and team buyers start with the workflow sprint intake instead of a blind org-wide rollout.</div>
|
|
827
839
|
</div>
|
|
828
840
|
</div>
|
|
829
841
|
</div>
|
|
@@ -833,8 +845,8 @@ __GA_BOOTSTRAP__
|
|
|
833
845
|
<section class="compatibility" id="newsletter" style="padding: 48px 0;">
|
|
834
846
|
<div class="container" style="text-align: center;">
|
|
835
847
|
<div class="section-label">Buyer Follow-Up</div>
|
|
836
|
-
<h2 class="section-title" style="margin-bottom: 16px;">Not ready to buy today? Keep the demo and checkout
|
|
837
|
-
<p style="color: var(--text-dim); margin-bottom: 24px; max-width: 560px; margin-left: auto; margin-right: auto;">Save your work email for launch updates, new gate patterns, and the paid demo path. We also keep it on this device so the Pro checkout can open prefilled instead of making you type it again.</p>
|
|
848
|
+
<h2 class="section-title" style="margin-bottom: 16px;">Not ready to buy today? Keep the sprint brief, demo, and checkout path one click away.</h2>
|
|
849
|
+
<p style="color: var(--text-dim); margin-bottom: 24px; max-width: 560px; margin-left: auto; margin-right: auto;">Save your work email for launch updates, new gate patterns, the workflow sprint brief, and the paid demo path. We also keep it on this device so the Pro checkout can open prefilled instead of making you type it again.</p>
|
|
838
850
|
<form action="/api/newsletter" method="POST" data-newsletter-form data-page="homepage" data-intent="buyer_follow_up" style="display: flex; gap: 8px; max-width: 480px; margin: 0 auto; flex-wrap: wrap; justify-content: center;">
|
|
839
851
|
<input type="email" name="email" data-buyer-email placeholder="you@company.com" required style="flex: 1; min-width: 220px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-raised); color: var(--text); font-size: 15px;">
|
|
840
852
|
<button type="submit" style="padding: 12px 24px; background: var(--cyan); color: #000; border: none; border-radius: 8px; font-weight: 600; font-size: 15px; cursor: pointer;">Get updates + keep checkout ready</button>
|
|
@@ -846,10 +858,10 @@ __GA_BOOTSTRAP__
|
|
|
846
858
|
<!-- FINAL CTA -->
|
|
847
859
|
<section class="final-cta">
|
|
848
860
|
<div class="container">
|
|
849
|
-
<h2>
|
|
850
|
-
<p>
|
|
861
|
+
<h2>Start with one workflow you actually need to defend.</h2>
|
|
862
|
+
<p>Use the workflow hardening sprint for team rollout, or choose Pro if you are the solo operator who needs a personal dashboard and review-ready exports.</p>
|
|
851
863
|
<div style="display:flex;gap:12px;justify-content:center;flex-wrap:wrap;">
|
|
852
|
-
<a href="
|
|
864
|
+
<a href="#workflow-sprint-intake" class="btn-team" style="background:var(--green);">Start Workflow Hardening Sprint</a>
|
|
853
865
|
<a href="/checkout/pro?utm_source=website&utm_medium=homepage_final&utm_campaign=pro_pack&cta_id=homepage_final_trial&cta_placement=final&plan_id=pro&landing_path=%2F" class="btn-pro">Try Pro free for 7 days → $19/mo</a>
|
|
854
866
|
</div>
|
|
855
867
|
</div>
|
|
@@ -865,7 +877,7 @@ __GA_BOOTSTRAP__
|
|
|
865
877
|
<a href="https://www.linkedin.com/in/igorganapolsky" target="_blank" rel="noopener">LinkedIn</a>
|
|
866
878
|
<a href="/blog">Blog</a>
|
|
867
879
|
</div>
|
|
868
|
-
<span class="footer-copy">© 2026 Max Smith KDP LLC · MIT License · v1.
|
|
880
|
+
<span class="footer-copy">© 2026 Max Smith KDP LLC · MIT License · v1.3.0</span>
|
|
869
881
|
</div>
|
|
870
882
|
</footer>
|
|
871
883
|
|
|
@@ -885,6 +897,7 @@ function resolvePricingClickTier(el) {
|
|
|
885
897
|
if (el.classList.contains('btn-team')) return 'team';
|
|
886
898
|
if (el.classList.contains('btn-free')) return 'free';
|
|
887
899
|
if (el.classList.contains('btn-demo-link')) return 'demo';
|
|
900
|
+
if (el.classList.contains('nav-cta')) return 'team';
|
|
888
901
|
return 'nav';
|
|
889
902
|
}
|
|
890
903
|
|
|
@@ -926,7 +939,7 @@ function copyInstall(el) {
|
|
|
926
939
|
trackClick('.btn-team', 'workflow_sprint_intake_click', { tier: 'team', offer: 'workflow_hardening_sprint' });
|
|
927
940
|
trackClick('.btn-free', 'install_click', { tier: 'free' });
|
|
928
941
|
trackClick('.btn-demo-link', 'demo_click', { source: 'homepage' });
|
|
929
|
-
trackClick('.nav-cta', '
|
|
942
|
+
trackClick('.nav-cta', 'workflow_sprint_intake_click', { tier: 'team', source: 'nav', offer: 'workflow_hardening_sprint' });
|
|
930
943
|
|
|
931
944
|
/* Pricing CTA conversion tracking — fires on every Get Started / Pro / Team button click
|
|
932
945
|
with section context so we can distinguish pricing section vs final CTA section clicks */
|
|
@@ -128,6 +128,7 @@
|
|
|
128
128
|
|
|
129
129
|
<h3>Episodic layer: the feedback log</h3>
|
|
130
130
|
<p>Every thumbs-up or thumbs-down you give an agent action is written to a structured feedback log. Each entry captures the tool call that was made, the context at the time, what worked or went wrong, and any tags you add. The log is append-only and survives across sessions.</p>
|
|
131
|
+
<p>In the current Claude auto-capture hook, a vague thumbs-down can borrow up to 8 prior recorded entries plus the failed tool call before promotion. Accepted feedback also opens a linked 60-second follow-up session so later corrections stay attached to the same memory trace instead of fragmenting into duplicates.</p>
|
|
131
132
|
|
|
132
133
|
<pre><code># Thumbs-down: record a specific failure
|
|
133
134
|
node .claude/scripts/feedback/capture-feedback.js \
|