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.
Files changed (54) hide show
  1. package/.claude-plugin/README.md +4 -4
  2. package/.claude-plugin/marketplace.json +1 -1
  3. package/.claude-plugin/plugin.json +1 -1
  4. package/.well-known/mcp/server-card.json +1 -1
  5. package/README.md +35 -14
  6. package/adapters/README.md +1 -1
  7. package/adapters/claude/.mcp.json +2 -2
  8. package/adapters/codex/config.toml +2 -2
  9. package/adapters/mcp/server-stdio.js +2 -2
  10. package/adapters/opencode/opencode.json +1 -1
  11. package/bin/cli.js +20 -11
  12. package/config/github-about.json +1 -1
  13. package/config/model-tiers.json +11 -0
  14. package/package.json +8 -6
  15. package/plugins/claude-codex-bridge/.claude-plugin/plugin.json +1 -1
  16. package/plugins/claude-codex-bridge/.mcp.json +1 -1
  17. package/plugins/codex-profile/.codex-plugin/plugin.json +1 -1
  18. package/plugins/codex-profile/.mcp.json +1 -1
  19. package/plugins/codex-profile/INSTALL.md +1 -1
  20. package/plugins/codex-profile/README.md +1 -1
  21. package/plugins/cursor-marketplace/.cursor-plugin/plugin.json +1 -1
  22. package/plugins/cursor-marketplace/README.md +2 -2
  23. package/plugins/cursor-marketplace/commands/capture-feedback.md +2 -2
  24. package/plugins/cursor-marketplace/rules/feedback-capture.mdc +3 -3
  25. package/plugins/cursor-marketplace/skills/capture-feedback/SKILL.md +3 -2
  26. package/plugins/opencode-profile/INSTALL.md +1 -1
  27. package/public/compare.html +4 -4
  28. package/public/guide.html +4 -4
  29. package/public/index.html +51 -38
  30. package/public/learn/ai-agent-persistent-memory.html +1 -0
  31. package/public/lessons.html +325 -17
  32. package/scripts/__pycache__/train_from_feedback.cpython-312.pyc +0 -0
  33. package/scripts/audit-trail.js +6 -0
  34. package/scripts/capture-railway-diagnostics.sh +97 -0
  35. package/scripts/check-congruence.js +1 -1
  36. package/scripts/claude-feedback-sync.js +320 -0
  37. package/scripts/cli-telemetry.js +4 -1
  38. package/scripts/contextfs.js +32 -23
  39. package/scripts/dashboard.js +84 -0
  40. package/scripts/feedback-loop.js +16 -0
  41. package/scripts/intervention-policy.js +696 -0
  42. package/scripts/local-model-profile.js +18 -2
  43. package/scripts/model-tier-router.js +10 -1
  44. package/scripts/operational-integrity.js +354 -31
  45. package/scripts/prove-adapters.js +1 -0
  46. package/scripts/prove-automation.js +2 -2
  47. package/scripts/prove-packaged-runtime.js +260 -0
  48. package/scripts/prove-runtime.js +13 -0
  49. package/scripts/rate-limiter.js +3 -3
  50. package/scripts/statusline-local-stats.js +2 -0
  51. package/scripts/statusline.sh +166 -11
  52. package/scripts/tool-registry.js +2 -2
  53. package/scripts/workflow-sentinel.js +114 -4
  54. package/skills/thumbgate/SKILL.md +1 -1
@@ -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 5 daily feedback captures, 10 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."
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. ThumbGate captures the feedback and auto-generates prevention rules from repeated failures.</p>
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 5 daily feedback captures, 10 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>
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. ThumbGate captures it as structured feedback."
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. If the signal is vague, it can reuse the recent conversation window and failed tool call to propose a better lesson instead of discarding the feedback.</p>
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. You can start one correction thread, append more context, and finalize it once the lesson is clear.</p>
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 5 daily feedback captures, 10 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>
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 prevention rule mistake permanently blocked. 👍 Thumbs up pattern reinforced. History-aware lessons from your corrections. Risky local runs can route into Docker Sandboxes. Team adds shared lessons and org visibility, plus isolated execution guidance.">
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 prevention rule mistake permanently blocked. 👍 Thumbs up pattern reinforced. History-aware lessons from your corrections. Risky local runs can route into Docker Sandboxes. Team adds shared lessons and org visibility, plus isolated execution guidance.">
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 makes it permanently smarter. ThumbGate adds workflow governance and isolated execution guidance so high-risk runs do not have to happen directly on the host.",
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
- "description": "Shared enforcement memory, review visibility, org dashboard, Docker Sandboxes guidance for risky local autonomy, and pilot rollout support for teams shipping AI-generated changes",
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: what went wrong and how to avoid it. ThumbGate validates the feedback and promotes it to a reusable memory."
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="/pro?utm_source=website&utm_medium=homepage_nav&utm_campaign=pro_page" class="nav-cta">See Pro</a>
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">● Self-improving AI agents with workflow governance and isolated execution</div>
445
- <h1>Your AI agent learns<br>from every mistake.</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">👎 Mistake becomes a prevention rule permanently blocked</div>
448
- <div class="signal-pill signal-up">👍 Good pattern reinforced reused across sessions</div>
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 developers using Claude Code, Cursor, Codex, Gemini, Amp, and OpenCode who want their AI agent to actually get better over time — and for teams that need the riskiest runs governed before they touch shared repos or the host machine.</p>
451
- <p><strong>The self-improvement loop:</strong> Your agent makes a mistake you give a thumbs-down ThumbGate auto-generates a prevention rule a gate physically blocks that mistake from ever happening again. Your agent gets permanently smarter with every correction. No model retraining. No prompt hacking. Just enforcement that compounds, plus isolated execution guidance when autonomy gets risky.</p>
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="/pro?utm_source=website&utm_medium=homepage_hero&utm_campaign=pro_page" class="btn-pro-page">See Pro for individual operators</a>
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>Paid path:</strong> Free stays the local install lane. Pro is the buyer-ready page for your personal local dashboard, DPO export, and review-ready evidence. Team adds shared workflow governance, org proof, and isolated execution guidance for high-risk runs.</p>
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 a thumbs signal is vague, ThumbGate can reuse the last ~10 messages plus the failed tool call, propose what went wrong, and turn that into one linked lesson instead of a dead-end note.</p>
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.2.0</div>
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. If the signal is vague, ThumbGate can distill it from the recent conversation window and failed tool call before promotion. Example: you 👎 a risky migration → it auto-promotes to a "never run DROP on prod" gate.</p>
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. Prove value on a real workflow. Upgrade when review churn costs more than $19/mo.</h2>
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>Unlimited feedback captures · 5 lesson searches/day · unlimited recall</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">Starts at $36/mo for 3 seats · or $297/yr · Shared enforcement + org visibility</div>
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;">Start Team when:</strong> you need shared enforcement, org-wide proof, or one workflow pilot that proves ROI internally.
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>Workflow proof sprintpilot one painful workflow first, then expand once the before/after evidence is real</li>
754
- <li>Rollout attribution stays tied to the team funnel instead of disappearing into generic referral traffic</li>
761
+ <li>Release confidence storyChangesets, 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 Team Pilot</a>
757
- <p style="font-size:11px;color:#666;margin-top:8px;">Hosted rollout starts with one workflow pilot so the first expansion has measurable before/after proof.</p>
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;">The recurring value is shared enforcement. 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>
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 5 daily feedback captures, 10 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>
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 the last ~10 messages, the failed tool call, and later follow-up notes to propose <code>whatWentWrong</code>, <code>whatToChange</code>, and a reusable lesson. The feedback session stays linked instead of creating duplicate records.</div>
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 starts at $36/mo for 3 seats, then $12/seat/mo, or $297/yr at the 3-seat floor. Cancel anytime. No contracts.</div>
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 link one click away.</h2>
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>Put ThumbGate on your next AI-generated change.</h2>
850
- <p>Try the dashboard demo first or install in 30 seconds. Prove the value on a real PR, deploy, or migration.</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="/dashboard" class="btn-demo-link" style="background:transparent;border:1px solid var(--cyan);color:var(--cyan);">Try Dashboard Demo</a>
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.2.0</span>
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', 'pro_page_click', { tier: 'pro', source: 'nav' });
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 \