thumbgate 1.16.12 → 1.16.19

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 (62) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.well-known/mcp/server-card.json +1 -1
  4. package/README.md +3 -1
  5. package/adapters/claude/.mcp.json +2 -2
  6. package/adapters/mcp/server-stdio.js +26 -1
  7. package/adapters/opencode/opencode.json +1 -1
  8. package/bin/cli.js +420 -1
  9. package/config/gate-templates.json +372 -0
  10. package/config/mcp-allowlists.json +25 -0
  11. package/config/model-candidates.json +59 -2
  12. package/config/model-tiers.json +4 -1
  13. package/package.json +79 -22
  14. package/public/compare.html +6 -0
  15. package/public/index.html +144 -11
  16. package/public/numbers.html +11 -11
  17. package/public/pro.html +22 -24
  18. package/scripts/agent-design-governance.js +211 -0
  19. package/scripts/agent-reasoning-traces.js +683 -0
  20. package/scripts/agent-reward-model.js +438 -0
  21. package/scripts/agent-stack-survival-audit.js +231 -0
  22. package/scripts/ai-engineering-stack-guardrails.js +256 -0
  23. package/scripts/billing.js +16 -4
  24. package/scripts/chatgpt-ads-readiness-pack.js +195 -0
  25. package/scripts/cli-schema.js +277 -0
  26. package/scripts/code-graph-guardrails.js +176 -0
  27. package/scripts/deepseek-v4-runtime-guardrails.js +253 -0
  28. package/scripts/gemini-embedding-policy.js +198 -0
  29. package/scripts/inference-cache-policy.js +39 -0
  30. package/scripts/judge-reward-function.js +396 -0
  31. package/scripts/llm-behavior-monitor.js +251 -0
  32. package/scripts/long-running-agent-context-guardrails.js +176 -0
  33. package/scripts/multimodal-retrieval-plan.js +31 -11
  34. package/scripts/oss-pr-opportunity-scout.js +240 -0
  35. package/scripts/proactive-agent-eval-guardrails.js +230 -0
  36. package/scripts/profile-router.js +5 -4
  37. package/scripts/prompting-operating-system.js +273 -0
  38. package/scripts/proxy-pointer-rag-guardrails.js +189 -0
  39. package/scripts/rag-precision-guardrails.js +202 -0
  40. package/scripts/rate-limiter.js +1 -1
  41. package/scripts/reasoning-efficiency-guardrails.js +176 -0
  42. package/scripts/reward-hacking-guardrails.js +251 -0
  43. package/scripts/seo-gsd.js +1201 -11
  44. package/scripts/single-use-credential-gate.js +182 -0
  45. package/scripts/structured-prompt-driven.js +226 -0
  46. package/scripts/telemetry-analytics.js +31 -6
  47. package/scripts/tool-registry.js +92 -0
  48. package/scripts/upstream-contribution-engine.js +379 -0
  49. package/scripts/vector-store.js +119 -4
  50. package/src/api/server.js +333 -100
  51. package/scripts/agents-sdk-sandbox-plan.js +0 -57
  52. package/scripts/ai-org-governance.js +0 -98
  53. package/scripts/artifact-agent-plan.js +0 -81
  54. package/scripts/enterprise-agent-rollout.js +0 -34
  55. package/scripts/experience-replay-governance.js +0 -69
  56. package/scripts/inference-economics.js +0 -53
  57. package/scripts/knowledge-layer-plan.js +0 -108
  58. package/scripts/memory-store-governance.js +0 -60
  59. package/scripts/post-training-governance.js +0 -34
  60. package/scripts/production-agent-readiness.js +0 -40
  61. package/scripts/scaling-law-claims.js +0 -60
  62. package/scripts/student-consistent-training.js +0 -73
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thumbgate",
3
- "version": "1.16.12",
3
+ "version": "1.16.19",
4
4
  "description": "Self-improving agent governance: type thumbs-up or thumbs-down on any AI agent action. ThumbGate turns every mistake into a prevention rule and blocks the pattern from repeating. One thumbs-down, never again. 33 pre-action checks, budget enforcement, and self-protection for Claude Code, Cursor, Codex, Gemini CLI, and Amp.",
5
5
  "homepage": "https://thumbgate-production.up.railway.app",
6
6
  "repository": {
@@ -45,15 +45,18 @@
45
45
  "public/pro.html",
46
46
  "scripts/access-anomaly-detector.js",
47
47
  "scripts/agent-audit-trace.js",
48
+ "scripts/agent-design-governance.js",
48
49
  "scripts/agent-memory-lifecycle.js",
49
50
  "scripts/agent-readiness.js",
50
51
  "scripts/agent-readiness-plan.js",
52
+ "scripts/agent-reasoning-traces.js",
53
+ "scripts/agent-reward-model.js",
54
+ "scripts/agent-stack-survival-audit.js",
51
55
  "scripts/agentic-data-pipeline.js",
52
- "scripts/agents-sdk-sandbox-plan.js",
53
- "scripts/ai-org-governance.js",
56
+ "scripts/ai-engineering-stack-guardrails.js",
54
57
  "scripts/ai-search-distribution.js",
55
58
  "scripts/analytics-window.js",
56
- "scripts/artifact-agent-plan.js",
59
+ "scripts/chatgpt-ads-readiness-pack.js",
57
60
  "scripts/autoresearch-runner.js",
58
61
  "scripts/async-job-runner.js",
59
62
  "scripts/audit-trail.js",
@@ -66,6 +69,7 @@
66
69
  "scripts/bot-detection.js",
67
70
  "scripts/bot-detector.js",
68
71
  "scripts/build-metadata.js",
72
+ "scripts/chatgpt-ads-readiness-pack.js",
69
73
  "scripts/claude-feedback-sync.js",
70
74
  "scripts/cli-demo.js",
71
75
  "scripts/cli-feedback.js",
@@ -75,6 +79,7 @@
75
79
  "scripts/cloudflare-dynamic-sandbox.js",
76
80
  "scripts/code-mode-mcp-plan.js",
77
81
  "scripts/code-reasoning.js",
82
+ "scripts/code-graph-guardrails.js",
78
83
  "scripts/codegraph-context.js",
79
84
  "scripts/commercial-offer.js",
80
85
  "scripts/context-manager.js",
@@ -87,13 +92,12 @@
87
92
  "scripts/dashboard.js",
88
93
  "scripts/decision-journal.js",
89
94
  "scripts/durability/step.js",
95
+ "scripts/deepseek-v4-runtime-guardrails.js",
90
96
  "scripts/docker-sandbox-planner.js",
91
97
  "scripts/document-intake.js",
92
98
  "scripts/document-workflow-governance.js",
93
- "scripts/enterprise-agent-rollout.js",
94
99
  "scripts/evolution-state.js",
95
100
  "scripts/experiment-tracker.js",
96
- "scripts/experience-replay-governance.js",
97
101
  "scripts/explore-subcommands.js",
98
102
  "scripts/explore.js",
99
103
  "scripts/export-databricks-bundle.js",
@@ -112,6 +116,7 @@
112
116
  "scripts/gate-stats.js",
113
117
  "scripts/gate-templates.js",
114
118
  "scripts/gates-engine.js",
119
+ "scripts/gemini-embedding-policy.js",
115
120
  "scripts/growth-campaigns.js",
116
121
  "scripts/harness-selector.js",
117
122
  "scripts/hf-papers.js",
@@ -122,27 +127,27 @@
122
127
  "scripts/hybrid-supervisor-agent.js",
123
128
  "scripts/install-mcp.js",
124
129
  "scripts/inference-cache-policy.js",
125
- "scripts/inference-economics.js",
126
130
  "scripts/internal-agent-bootstrap.js",
127
131
  "scripts/intervention-policy.js",
128
132
  "scripts/jsonl-watcher.js",
133
+ "scripts/judge-reward-function.js",
129
134
  "scripts/lesson-canonical.js",
130
135
  "scripts/lesson-db.js",
131
136
  "scripts/lesson-inference.js",
132
137
  "scripts/lesson-rotation.js",
133
138
  "scripts/lesson-search.js",
134
139
  "scripts/lesson-synthesis.js",
135
- "scripts/knowledge-layer-plan.js",
136
140
  "scripts/rule-validator.js",
137
141
  "scripts/license.js",
138
142
  "scripts/llm-client.js",
143
+ "scripts/llm-behavior-monitor.js",
139
144
  "scripts/mailer/index.js",
140
145
  "scripts/mailer/resend-mailer.js",
141
146
  "scripts/local-model-profile.js",
147
+ "scripts/long-running-agent-context-guardrails.js",
142
148
  "scripts/mcp-config.js",
143
149
  "scripts/mcp-policy.js",
144
150
  "scripts/mcp-transport-strategy.js",
145
- "scripts/memory-store-governance.js",
146
151
  "scripts/memory-firewall.js",
147
152
  "scripts/meta-agent-loop.js",
148
153
  "scripts/model-access-eligibility.js",
@@ -151,6 +156,7 @@
151
156
  "scripts/native-messaging-audit.js",
152
157
  "scripts/natural-language-harness.js",
153
158
  "scripts/obsidian-export.js",
159
+ "scripts/oss-pr-opportunity-scout.js",
154
160
  "scripts/otel-declarative-config.js",
155
161
  "scripts/operational-integrity.js",
156
162
  "scripts/perplexity-client.js",
@@ -158,16 +164,20 @@
158
164
  "scripts/private-core-boundary.js",
159
165
  "scripts/pro-local-dashboard.js",
160
166
  "scripts/problem-detail.js",
167
+ "scripts/proactive-agent-eval-guardrails.js",
161
168
  "scripts/product-feedback.js",
169
+ "scripts/prompting-operating-system.js",
162
170
  "scripts/provider-action-normalizer.js",
163
171
  "scripts/profile-router.js",
164
172
  "scripts/prompt-programs.js",
165
173
  "scripts/prompt-eval.js",
166
174
  "scripts/prompt-guard.js",
167
- "scripts/post-training-governance.js",
168
- "scripts/production-agent-readiness.js",
175
+ "scripts/proxy-pointer-rag-guardrails.js",
176
+ "scripts/rag-precision-guardrails.js",
169
177
  "scripts/published-cli.js",
170
178
  "scripts/rate-limiter.js",
179
+ "scripts/reasoning-efficiency-guardrails.js",
180
+ "scripts/reward-hacking-guardrails.js",
171
181
  "scripts/risk-scorer.js",
172
182
  "scripts/rlaif-self-audit.js",
173
183
  "scripts/rubric-engine.js",
@@ -175,13 +185,13 @@
175
185
  "scripts/security-scanner.js",
176
186
  "scripts/self-distill-agent.js",
177
187
  "scripts/self-heal.js",
178
- "scripts/scaling-law-claims.js",
179
188
  "scripts/semantic-dedup.js",
180
189
  "scripts/semantic-layer.js",
181
190
  "scripts/seo-gsd.js",
182
191
  "scripts/settings-hierarchy.js",
183
192
  "scripts/skill-generator.js",
184
193
  "scripts/skill-rag-router.js",
194
+ "scripts/single-use-credential-gate.js",
185
195
  "scripts/slo-alert-engine.js",
186
196
  "scripts/spec-gate.js",
187
197
  "scripts/statusline-cache-path.js",
@@ -192,7 +202,7 @@
192
202
  "scripts/statusline-meta.js",
193
203
  "scripts/statusline-tower.js",
194
204
  "scripts/statusline.sh",
195
- "scripts/student-consistent-training.js",
205
+ "scripts/structured-prompt-driven.js",
196
206
  "scripts/synthetic-data-provenance.js",
197
207
  "scripts/task-context-result.js",
198
208
  "scripts/telemetry-analytics.js",
@@ -201,6 +211,7 @@
201
211
  "scripts/token-tco.js",
202
212
  "scripts/token-savings.js",
203
213
  "scripts/tool-registry.js",
214
+ "scripts/upstream-contribution-engine.js",
204
215
  "scripts/user-profile.js",
205
216
  "scripts/validate-workflow-contract.js",
206
217
  "scripts/vector-store.js",
@@ -235,6 +246,8 @@
235
246
  "cfo:report": "node bin/cli.js cfo",
236
247
  "creator:links": "node scripts/creator-campaigns.js",
237
248
  "stripe:live": "node scripts/stripe-live-status.js",
249
+ "stripe:webhook:audit": "node scripts/rotate-stripe-webhook-secret.js --audit",
250
+ "stripe:webhook:disable-legacy": "node scripts/rotate-stripe-webhook-secret.js --disable-legacy",
238
251
  "gtm:revenue-loop": "node scripts/autonomous-sales-agent.js",
239
252
  "gtm:aiventyx": "node scripts/aiventyx-marketplace-plan.js",
240
253
  "gtm:chatgpt": "node scripts/chatgpt-gpt-revenue-pack.js",
@@ -242,6 +255,8 @@
242
255
  "gtm:linkedin": "node scripts/linkedin-workflow-hardening-pack.js",
243
256
  "gtm:roo-sunset": "node scripts/roo-sunset-demand-pack.js",
244
257
  "gtm:reddit": "node scripts/reddit-dm-workflow-hardening-pack.js",
258
+ "medium:weekly:draft": "node scripts/medium-weekly.js --write",
259
+ "medium:weekly:schedule": "node scripts/medium-weekly.js --schedule",
245
260
  "sales:pipeline": "node scripts/sales-pipeline.js",
246
261
  "social:prepare": "node scripts/social-pipeline.js prepare",
247
262
  "social:post": "node scripts/social-pipeline.js post",
@@ -267,6 +282,26 @@
267
282
  "session:capture": "node scripts/session-episode-store.js capture",
268
283
  "session:patterns": "node scripts/session-episode-store.js patterns",
269
284
  "session:history": "node scripts/session-episode-store.js history",
285
+ "session:reward": "node scripts/agent-reward-model.js report",
286
+ "session:reward:pairs": "node scripts/agent-reward-model.js pairs",
287
+ "session:reward:gates": "node scripts/agent-reward-model.js gates",
288
+ "session:traces": "node scripts/agent-reasoning-traces.js report",
289
+ "session:traces:json": "node scripts/agent-reasoning-traces.js json",
290
+ "session:traces:eval": "node scripts/agent-reasoning-traces.js eval",
291
+ "session:traces:rlsd": "node scripts/agent-reasoning-traces.js rlsd",
292
+ "judge:reward": "node scripts/judge-reward-function.js report",
293
+ "judge:reward:json": "node scripts/judge-reward-function.js json",
294
+ "judge:reward:prompt": "node scripts/judge-reward-function.js prompt",
295
+ "llm:behavior": "node scripts/llm-behavior-monitor.js report",
296
+ "llm:behavior:json": "node scripts/llm-behavior-monitor.js json",
297
+ "prompt:plan": "node scripts/prompting-operating-system.js plan",
298
+ "prompt:plan:json": "node scripts/prompting-operating-system.js json",
299
+ "credentials:plan": "node scripts/single-use-credential-gate.js plan",
300
+ "credentials:plan:json": "node scripts/single-use-credential-gate.js json",
301
+ "spdd:canvas": "node scripts/structured-prompt-driven.js canvas",
302
+ "spdd:canvas:json": "node scripts/structured-prompt-driven.js json",
303
+ "stack:survival": "node scripts/agent-stack-survival-audit.js report",
304
+ "stack:survival:json": "node scripts/agent-stack-survival-audit.js json",
270
305
  "spec:check": "node scripts/spec-gate.js check",
271
306
  "spec:gates": "node scripts/spec-gate.js gates",
272
307
  "spec:audit": "node scripts/spec-gate.js audit",
@@ -275,9 +310,29 @@
275
310
  "trace:eval": "node scripts/decision-trace.js eval",
276
311
  "social:reply-monitor": "node scripts/social-reply-monitor.js",
277
312
  "social:reply-monitor:dry": "node scripts/social-reply-monitor.js --dry-run",
278
- "test": "npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:operational-integrity && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:session-analyzer && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:platform-limits && npm run test:post-video && npm run test:post-everywhere-instagram && npm run test:post-everywhere-channels && npm run test:post-everywhere-zernio-default && npm run test:zernio-canonical-pollers && npm run test:zernio-status && npm run test:obsidian-export && npm run test:lesson-db && npm run test:lesson-rotation && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:operational-summary && npm run test:operational-dashboard && npm run test:operator-artifacts && npm run test:operator-key-auth && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:export-hf-dataset && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:semantic-dedup && npm run test:fs-utils && npm run test:cli-schema && npm run test:explore && npm run test:lesson-reranker && npm run test:lesson-retrieval && npm run test:cross-encoder && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:lesson-canonical && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security && npm run test:skill-progressive && npm run test:per-step-scoring && npm run test:weekly-auto-post && npm run test:social-post-hourly && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:budget && npm run test:quick-start && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator && npm run test:engagement-audit && npm run test:install-growth-automation && npm run test:publish-thumbgate-launch && npm run test:reconcile-thumbgate-campaign && npm run test:reddit-publisher && npm run test:schedule-thumbgate-campaign && npm run test:social-reply-monitor && npm run test:sync-launch-assets && npm run test:ai-search-visibility && npm run test:perplexity && npm run test:security-scanner && npm run test:llm-client && npm run test:managed-lesson-agent && npm run test:self-distill && npm run test:meta-agent && npm run test:harness-selector && npm run test:thumbgate-bench && npm run test:seo-guides && npm run test:enforcement-loop && npm run test:cli-agent-experience && npm run test:bot-detection && npm run test:checkout-bot-guard && npm run test:session-health && npm run test:session-episodes && npm run test:spec-gate && npm run test:decision-trace && npm run test:dashboard-insights && npm run test:telemetry-tracked-link-slug && npm run test:prompt-eval && npm run test:demo-voiceover && npm run test:gate-coherence && npm run test:gate-eval && npm run test:high-roi && npm run test:public-static-assets && npm run test:token-savings && npm run test:numbers-page && npm run test:workflow-gate-checkpoint && npm run test:lesson-export-import && npm run test:landing-page-claims && npm run test:competitive-positioning-marketing && npm run test:dashboard-deeplink-e2e && npm run test:public-package-parity && npm run test:token-savings-dashboard && npm run test:cursor-wiring && npm run test:pretooluse-injection && npm run test:recent-corrective-context && npm run test:durability-step && npm run test:mailer && npm run test:brand-assets && npm run test:enforcement-teeth && npm run test:bayes-optimal-gate && npm run test:swarm-coordinator && npm run test:session-report && npm run test:require-evidence-gate && npm run test:rule-validator && npm run test:bluesky-atproto && npm run test:social-reply-monitor-bluesky && npm run test:bluesky-delete-replies && npm run test:architect-kit-memory-bridge && npm run test:sonar-review-hotspots && npm run test:actionable-remediations && npm run test:public-core-boundary",
313
+ "social:reply-monitor:install-reddit": "node scripts/reddit-monitor-launchd.js install",
314
+ "social:reply-monitor:bluesky": "node scripts/social-reply-monitor-bluesky.js",
315
+ "social:reply-monitor:bluesky:dry": "node scripts/social-reply-monitor-bluesky.js --dry-run",
316
+ "social:reply-monitor:install-bluesky": "node scripts/bluesky-monitor-launchd.js install",
317
+ "social:reply-monitor:bluesky:status": "node scripts/bluesky-monitor-launchd.js status",
318
+ "social:prospect:bluesky": "node scripts/social-bluesky-prospecting.js",
319
+ "social:prospect:bluesky:dry": "node scripts/social-bluesky-prospecting.js --dry-run",
320
+ "social:reply-publish:bluesky:dry": "node scripts/social-reply-monitor-bluesky.js --publish-approved --dry-run",
321
+ "test": "npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:operational-integrity && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:session-analyzer && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:platform-limits && npm run test:post-video && npm run test:post-everywhere-instagram && npm run test:post-everywhere-channels && npm run test:post-everywhere-zernio-default && npm run test:zernio-canonical-pollers && npm run test:zernio-status && npm run test:obsidian-export && npm run test:lesson-db && npm run test:lesson-rotation && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:operational-summary && npm run test:operational-dashboard && npm run test:operator-artifacts && npm run test:operator-key-auth && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:export-hf-dataset && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:semantic-dedup && npm run test:fs-utils && npm run test:cli-schema && npm run test:explore && npm run test:lesson-reranker && npm run test:lesson-retrieval && npm run test:cross-encoder && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:lesson-canonical && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security && npm run test:skill-progressive && npm run test:per-step-scoring && npm run test:weekly-auto-post && npm run test:social-post-hourly && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:budget && npm run test:quick-start && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator && npm run test:engagement-audit && npm run test:install-growth-automation && npm run test:publish-thumbgate-launch && npm run test:reconcile-thumbgate-campaign && npm run test:reddit-publisher && npm run test:schedule-thumbgate-campaign && npm run test:social-reply-monitor && npm run test:sync-launch-assets && npm run test:ai-search-visibility && npm run test:perplexity && npm run test:security-scanner && npm run test:llm-client && npm run test:managed-lesson-agent && npm run test:self-distill && npm run test:meta-agent && npm run test:harness-selector && npm run test:thumbgate-bench && npm run test:seo-guides && npm run test:enforcement-loop && npm run test:cli-agent-experience && npm run test:bot-detection && npm run test:checkout-bot-guard && npm run test:session-health && npm run test:session-episodes && npm run test:spec-gate && npm run test:decision-trace && npm run test:dashboard-insights && npm run test:telemetry-tracked-link-slug && npm run test:prompt-eval && npm run test:demo-voiceover && npm run test:gate-coherence && npm run test:gate-eval && npm run test:high-roi && npm run test:public-static-assets && npm run test:token-savings && npm run test:numbers-page && npm run test:workflow-gate-checkpoint && npm run test:lesson-export-import && npm run test:landing-page-claims && npm run test:competitive-positioning-marketing && npm run test:medium-weekly && npm run test:dashboard-deeplink-e2e && npm run test:public-package-parity && npm run test:token-savings-dashboard && npm run test:cursor-wiring && npm run test:pretooluse-injection && npm run test:recent-corrective-context && npm run test:durability-step && npm run test:mailer && npm run test:brand-assets && npm run test:enforcement-teeth && npm run test:bayes-optimal-gate && npm run test:swarm-coordinator && npm run test:session-report && npm run test:agent-reasoning-traces && npm run test:judge-reward && npm run test:llm-behavior-monitor && npm run test:prompting-os && npm run test:single-use-credential-gate && npm run test:structured-prompt-driven && npm run test:require-evidence-gate && npm run test:rule-validator && npm run test:bluesky-atproto && npm run test:social-reply-monitor-bluesky && npm run test:bluesky-delete-replies && npm run test:architect-kit-memory-bridge && npm run test:sonar-review-hotspots && npm run test:actionable-remediations && npm run test:gemini-embedding-policy && npm run test:agent-design-governance && npm run test:public-core-boundary",
279
322
  "test:swarm-coordinator": "node --test tests/swarm-coordinator.test.js",
280
323
  "test:session-report": "node --test tests/session-report.test.js",
324
+ "test:agent-reasoning-traces": "node --test tests/agent-reasoning-traces.test.js tests/agent-stack-survival-audit.test.js",
325
+ "test:gemini-embedding-policy": "node --test tests/gemini-embedding-policy.test.js",
326
+ "test:agent-design-governance": "node --test tests/agent-design-governance.test.js",
327
+ "test:proactive-agent-eval-guardrails": "node --test tests/proactive-agent-eval-guardrails.test.js",
328
+ "test:reward-hacking-guardrails": "node --test tests/reward-hacking-guardrails.test.js",
329
+ "test:oss-pr-opportunity-scout": "node --test tests/oss-pr-opportunity-scout.test.js",
330
+ "test:chatgpt-ads-readiness-pack": "node --test tests/chatgpt-ads-readiness-pack.test.js",
331
+ "test:judge-reward": "node --test tests/judge-reward-function.test.js",
332
+ "test:llm-behavior-monitor": "node --test tests/llm-behavior-monitor.test.js",
333
+ "test:prompting-os": "node --test tests/prompting-operating-system.test.js",
334
+ "test:single-use-credential-gate": "node --test tests/single-use-credential-gate.test.js",
335
+ "test:structured-prompt-driven": "node --test tests/structured-prompt-driven.test.js",
281
336
  "test:require-evidence-gate": "node --test tests/require-evidence-gate.test.js",
282
337
  "test:rule-validator": "node --test tests/rule-validator.test.js",
283
338
  "test:session-health": "node --test tests/session-health-sensor.test.js",
@@ -342,10 +397,10 @@
342
397
  "test:loop": "node scripts/feedback-loop.js --test",
343
398
  "test:dpo": "node scripts/export-dpo-pairs.js --test",
344
399
  "test:kto": "node --test tests/export-kto.test.js",
345
- "test:api": "node --test --test-concurrency=1 tests/api-server.test.js tests/api-events-sse.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/context-manager.test.js tests/contextfs.test.js tests/job-api.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-render-spec.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/thumbgate-search.test.js tests/document-intake.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/lessons-page.test.js tests/pro-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js",
400
+ "test:api": "node --test --test-concurrency=1 tests/api-server.test.js tests/api-events-sse.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/context-manager.test.js tests/contextfs.test.js tests/job-api.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-render-spec.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/thumbgate-search.test.js tests/document-intake.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/gemini-embedding-policy.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/lessons-page.test.js tests/pro-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js",
346
401
  "test:proof": "node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-packaged-runtime.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js",
347
402
  "test:e2e": "node --test tests/e2e-pipeline.test.js tests/e2e-product-flows.test.js tests/e2e-coverage-contract.test.js",
348
- "test:rlaif": "node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js",
403
+ "test:rlaif": "node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js tests/agent-reward-model.test.js",
349
404
  "test:attribution": "node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js",
350
405
  "test:quality": "node --test tests/validate-feedback.test.js",
351
406
  "test:intelligence": "node --test tests/intelligence.test.js",
@@ -355,7 +410,7 @@
355
410
  "test:workflow": "node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/docs-claim-hygiene.test.js tests/thumbgate-scope.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js tests/may-2026-revenue-machine.test.js tests/customer-discovery-sprint.test.js tests/revenue-pack-utils.test.js tests/aiventyx-marketplace-plan.test.js tests/cursor-marketplace-revenue-pack.test.js tests/codex-marketplace-revenue-pack.test.js tests/codex-plugin-revenue-pack.test.js tests/gemini-cli-demand-pack.test.js tests/roo-sunset-demand-pack.test.js tests/linkedin-workflow-hardening-pack.test.js tests/chatgpt-gpt-revenue-pack.test.js tests/mcp-directory-revenue-pack.test.js tests/autonomous-sales-agent.test.js tests/reddit-dm-workflow-hardening-pack.test.js tests/sales-pipeline.test.js tests/reddit-dm-outreach.test.js tests/github-outreach.test.js tests/enterprise-story.test.js tests/ralph-loop.test.js tests/ralph-mode-ci.test.js tests/guide-conversion-path.test.js tests/roo-sunset-marketing.test.js",
356
411
  "test:sales-pipeline": "node --test tests/sales-pipeline.test.js",
357
412
  "test:billing": "node --test tests/billing.test.js tests/stripe-sync-product-images.test.js",
358
- "test:cli": "node --test tests/analytics-report.test.js tests/codex-self-heal.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dependabot-changeset.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/published-cli.test.js tests/revenue-status.test.js tests/stripe-live-status.test.js",
413
+ "test:cli": "node --test tests/analytics-report.test.js tests/agent-design-governance.test.js tests/codex-self-heal.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dependabot-changeset.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/published-cli.test.js tests/revenue-status.test.js tests/stripe-live-status.test.js",
359
414
  "test:evolution": "node --test tests/workspace-evolver.test.js",
360
415
  "test:watcher": "node --test tests/jsonl-watcher.test.js",
361
416
  "test:autoresearch": "node --test tests/autoresearch.test.js",
@@ -483,9 +538,9 @@
483
538
  "test:publish-thumbgate-launch": "node --test tests/publish-thumbgate-launch.test.js",
484
539
  "test:reconcile-thumbgate-campaign": "node --test tests/reconcile-thumbgate-campaign.test.js",
485
540
  "test:schedule-thumbgate-campaign": "node --test tests/schedule-thumbgate-campaign.test.js",
486
- "test:social-reply-monitor": "node --test tests/social-reply-monitor.test.js",
541
+ "test:social-reply-monitor": "node --test tests/social-reply-monitor.test.js tests/reddit-monitor-launchd.test.js",
487
542
  "test:bluesky-atproto": "node --test tests/bluesky-atproto.test.js",
488
- "test:social-reply-monitor-bluesky": "node --test tests/social-reply-monitor-bluesky.test.js",
543
+ "test:social-reply-monitor-bluesky": "node --test tests/social-reply-monitor-bluesky.test.js tests/bluesky-monitor-launchd.test.js tests/social-bluesky-prospecting.test.js",
489
544
  "test:bluesky-delete-replies": "node --test tests/bluesky-delete-replies.test.js",
490
545
  "test:architect-kit-memory-bridge": "node --test tests/architect-kit-memory-bridge.test.js",
491
546
  "test:sonar-review-hotspots": "node --test tests/sonar-review-hotspots.test.js",
@@ -530,7 +585,8 @@
530
585
  "test:gate-coherence": "node --test tests/gate-coherence.test.js",
531
586
  "test:gate-eval": "node --test tests/gate-eval.test.js",
532
587
  "gate-eval:ci": "node scripts/gate-eval.js run",
533
- "test:high-roi": "node --test tests/high-roi.test.js tests/model-candidates.test.js tests/autonomous-workflow.test.js tests/high-roi-agent-workflows.test.js",
588
+ "test:ai-engineering-stack-guardrails": "node --test tests/ai-engineering-stack-guardrails.test.js",
589
+ "test:high-roi": "node --test tests/high-roi.test.js tests/model-candidates.test.js tests/autonomous-workflow.test.js tests/high-roi-agent-workflows.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/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",
534
590
  "test:public-static-assets": "node --test tests/public-static-assets.test.js",
535
591
  "test:token-savings": "node --test tests/token-savings.test.js",
536
592
  "test:numbers-page": "node --test tests/numbers-page.test.js",
@@ -538,7 +594,8 @@
538
594
  "workflow:autonomous": "node scripts/autonomous-workflow.js",
539
595
  "test:lesson-export-import": "node --test tests/lesson-export-import.test.js",
540
596
  "test:landing-page-claims": "node --test tests/landing-page-claims.test.js",
541
- "test:competitive-positioning-marketing": "node --test tests/competitive-positioning-marketing.test.js",
597
+ "test:competitive-positioning-marketing": "node --test tests/competitive-positioning-marketing.test.js tests/knowledge-graph-guardrails.test.js tests/supply-chain-guardrails.test.js",
598
+ "test:medium-weekly": "node --test tests/medium-weekly.test.js",
542
599
  "test:dashboard-deeplink-e2e": "node --test tests/dashboard-deeplink-e2e.test.js",
543
600
  "test:public-package-parity": "node --test tests/public-package-parity.test.js",
544
601
  "prepare": "bash bin/install-hooks.sh >/dev/null 2>&1 || true",
@@ -627,6 +684,6 @@
627
684
  "@changesets/changelog-github": "^0.6.0",
628
685
  "@changesets/cli": "^2.31.0",
629
686
  "c8": "^11.0.0",
630
- "undici": "^8.1.0"
687
+ "undici": "^8.2.0"
631
688
  }
632
689
  }
@@ -249,6 +249,12 @@
249
249
  <p><a href="/compare/ai-experience-orchestration" class="cta">Read orchestration vs enforcement</a></p>
250
250
  </div>
251
251
 
252
+ <div class="card">
253
+ <h3>Comparing custom AI agent agencies?</h3>
254
+ <p>AI automation agencies validate the same buyer pain: production agents need safe action execution, policy checks, observability, and approval boundaries. ThumbGate owns the productized enforcement layer under those workflows.</p>
255
+ <p><a href="/compare/agentix-labs" class="cta">Read ThumbGate vs Agentix Labs</a></p>
256
+ </div>
257
+
252
258
  <h2>How It Works</h2>
253
259
  <div class="step-grid">
254
260
  <div class="step-card">
package/public/index.html CHANGED
@@ -397,6 +397,15 @@ __GA_BOOTSTRAP__
397
397
  .btn-pro-page:hover { opacity: 0.9; transform: translateY(-1px); }
398
398
  .btn-gpt-page { display: inline-flex; align-items: center; justify-content: center; padding: 14px 32px; background: var(--green); color: #06120a; border-radius: 8px; text-decoration: none; font-size: 16px; font-weight: 800; box-shadow: 0 0 0 1px rgba(74,222,128,0.32), 0 12px 32px rgba(74,222,128,0.18); transition: opacity 0.15s, transform 0.15s; }
399
399
  .btn-gpt-page:hover { opacity: 0.92; transform: translateY(-1px); }
400
+ .hero-paid-path { max-width: 780px; margin: 0 auto 28px; padding: 16px; border: 1px solid rgba(74,222,128,0.28); border-radius: 12px; background: rgba(74,222,128,0.07); display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; text-align: left; }
401
+ .hero-paid-path strong { display: block; color: var(--text); font-size: 15px; line-height: 1.3; margin-bottom: 3px; }
402
+ .hero-paid-path span { color: var(--text-muted); font-size: 13px; line-height: 1.45; }
403
+ .hero-paid-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
404
+ .hero-paid-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 9px 13px; border-radius: 999px; text-decoration: none; font-size: 13px; font-weight: 800; white-space: nowrap; }
405
+ .hero-paid-actions .starter { background: #facc15; color: #17110a; border: 1px solid rgba(250,204,21,0.55); }
406
+ .hero-paid-actions .diagnostic { background: var(--green); color: #06120a; border: 1px solid rgba(74,222,128,0.45); }
407
+ .hero-paid-actions .sprint { color: var(--green); border: 1px solid rgba(74,222,128,0.45); background: rgba(17,17,19,0.72); }
408
+ .hero-paid-actions .intake { color: var(--cyan); border: 1px solid rgba(34,211,238,0.45); background: rgba(34,211,238,0.1); }
400
409
  .hero-paid-note { font-size: 14px; color: var(--text-muted); max-width: 720px; margin: 0 auto 24px; }
401
410
  .hero-paid-note strong { color: var(--text); }
402
411
  .hero-install { background: var(--bg-raised); border: 1px solid var(--border); border-radius: 10px; padding: 14px 24px; display: inline-flex; align-items: center; gap: 12px; font-family: var(--mono); font-size: 15px; margin-bottom: 40px; cursor: pointer; transition: border-color 0.2s; position: relative; max-width: 100%; overflow-x: auto; }
@@ -552,6 +561,10 @@ __GA_BOOTSTRAP__
552
561
  .team-paid-price { color: var(--green); font-weight: 800; font-size: 18px; }
553
562
  .team-paid-link { display: block; text-align: center; padding: 10px 12px; background: rgba(74,222,128,0.16); color: var(--green); border: 1px solid rgba(74,222,128,0.45); border-radius: 8px; text-decoration: none; font-size: 13px; font-weight: 700; }
554
563
  .team-paid-link:hover { border-color: var(--green); transform: translateY(-1px); }
564
+ .team-intake-recovery { margin: 0 0 16px; padding: 13px 14px; border: 1px solid rgba(34,211,238,0.28); border-radius: 12px; background: rgba(34,211,238,0.08); display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: left; }
565
+ .team-intake-recovery strong { display: block; color: var(--text); font-size: 13px; margin-bottom: 2px; }
566
+ .team-intake-recovery span { display: block; color: var(--text-dim); font-size: 12px; line-height: 1.45; }
567
+ .team-intake-recovery a { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(34,211,238,0.45); color: var(--cyan); background: rgba(17,17,19,0.68); text-decoration: none; font-size: 12px; font-weight: 800; white-space: nowrap; }
555
568
  .team-form { max-width: 860px; margin: 24px auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
556
569
  .team-intake-panel .team-form { max-width: none; margin: 0; }
557
570
  .team-form .full { grid-column: 1 / -1; }
@@ -618,10 +631,15 @@ __GA_BOOTSTRAP__
618
631
  .team-intake-panel-head { display: block; }
619
632
  .team-intake-badge { display: inline-block; margin-bottom: 10px; }
620
633
  .team-paid-path { grid-template-columns: 1fr; }
634
+ .team-intake-recovery { align-items: stretch; flex-direction: column; text-align: center; }
635
+ .team-intake-recovery a { width: 100%; }
621
636
  .team-form { grid-template-columns: 1fr; }
622
637
  .hero { padding: 72px 0 56px; }
623
638
  .hero-actions { flex-direction: column; }
624
639
  .hero-actions a { width: 100%; }
640
+ .hero-paid-path { grid-template-columns: 1fr; text-align: center; }
641
+ .hero-paid-actions { justify-content: center; }
642
+ .hero-paid-actions a { width: 100%; }
625
643
  .nav-links a:not(.nav-cta) { display: none; }
626
644
  .proof-bar { gap: 8px; justify-content: flex-start; }
627
645
  .proof-bar a { width: 100%; min-height: 42px; white-space: normal; }
@@ -702,6 +720,20 @@ __GA_BOOTSTRAP__
702
720
  <p style="margin:14px 0 0;font-size:11px;color:var(--text-muted);text-align:center;">No credit card for 7-day trial · cancel anytime · your rules and captures stay local. <a href="/go/install" style="color:var(--cyan);text-decoration:none;">Prefer free? Install CLI →</a></p>
703
721
  </div>
704
722
 
723
+ <div class="hero-paid-path" aria-label="Paid AI agent governance sprint checkout options">
724
+ <div>
725
+ <strong>Need buyer-ready proof today?</strong>
726
+ <span>Send one messy AI-agent workflow. We turn it into clear rules, examples, and pre-action checks, plus AI Agent Governance Sprint approval boundaries and rollback safety before it touches developer-machine risk surfaces.</span>
727
+ </div>
728
+ <div class="hero-paid-actions">
729
+ <a class="starter" href="https://buy.stripe.com/7sY4gzgH24r49G17mb3sI0g" onclick="sendFirstPartyTelemetry('founder_workflow_diagnostic_checkout_started',{ctaId:'hero_founder_workflow_diagnostic_checkout',ctaPlacement:'hero_paid_path',planId:'team',offer:'founder_workflow_diagnostic',price:99});sendGa4Event('begin_checkout',{currency:'USD',value:99,items:[{item_id:'founder_workflow_diagnostic',item_name:'Founder Workflow Diagnostic'}]});">Pay $99 diagnostic &rarr;</a>
730
+ <a class="diagnostic" href="__SPRINT_DIAGNOSTIC_CHECKOUT_URL__" onclick="sendFirstPartyTelemetry('workflow_sprint_diagnostic_checkout_started',{ctaId:'hero_workflow_sprint_diagnostic_checkout',ctaPlacement:'hero_paid_path',planId:'team',offer:'workflow_hardening_diagnostic',price:sprintDiagnosticPriceDollars});sendGa4Event('begin_checkout',{currency:'USD',value:sprintDiagnosticPriceDollars,items:[{item_id:'workflow_hardening_diagnostic',item_name:'Workflow Hardening Diagnostic'}]});">Pay $499 diagnostic &rarr;</a>
731
+ <a class="sprint" href="__WORKFLOW_SPRINT_CHECKOUT_URL__" onclick="sendFirstPartyTelemetry('workflow_sprint_checkout_started',{ctaId:'hero_workflow_sprint_checkout',ctaPlacement:'hero_paid_path',planId:'team',offer:'workflow_hardening_sprint',price:workflowSprintPriceDollars});sendGa4Event('begin_checkout',{currency:'USD',value:workflowSprintPriceDollars,items:[{item_id:'workflow_hardening_sprint',item_name:'Workflow Hardening Sprint'}]});">Pay $1500 sprint &rarr;</a>
732
+ <a class="intake" href="#workflow-sprint-intake" onclick="sendFirstPartyTelemetry('workflow_sprint_recovery_intake_clicked',{ctaId:'hero_workflow_sprint_recovery_intake',ctaPlacement:'hero_paid_path',planId:'team',offer:'workflow_hardening_sprint',reason:'not_ready_to_pay'});sendGa4Event('generate_lead',{currency:'USD',value:0,method:'workflow_sprint_recovery_intake'});">Send workflow first &rarr;</a>
733
+ <a class="starter" href="/guides/ai-agent-governance-sprint">See sprint scope &rarr;</a>
734
+ </div>
735
+ </div>
736
+
705
737
  <a href="/dashboard" class="hero-dashboard-preview" style="display:block;max-width:620px;margin:0 auto 28px;background:linear-gradient(135deg,#0d1220 0%,#121a2e 100%);border:1px solid rgba(34,211,238,0.35);border-radius:12px;padding:20px 24px;box-shadow:0 0 48px rgba(34,211,238,0.15);font-family:var(--mono);text-align:left;text-decoration:none;color:inherit;" title="Open your live dashboard">
706
738
  <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);">
707
739
  <span>Your dashboard · <span style="color:#eab308;background:rgba(234,179,8,0.1);padding:2px 6px;border-radius:3px;letter-spacing:0.04em;">Sample</span></span>
@@ -984,6 +1016,10 @@ __GA_BOOTSTRAP__
984
1016
  <h3>🧱 Isolated Execution Lanes</h3>
985
1017
  <p>High-risk local autonomy can route into Docker Sandboxes, while hosted team automations use a signed sandbox dispatch lane instead of running loose on a shared host.</p>
986
1018
  </div>
1019
+ <div class="agent-card">
1020
+ <h3>Data Processing Boundaries</h3>
1021
+ <p>Local enforcement data stays in the operator's ThumbGate feedback directory by default. Hosted checkout, intake, newsletter, team sync, and product analytics are labeled as hosted processing surfaces instead of being blurred into the local runtime.</p>
1022
+ </div>
987
1023
  <div class="agent-card">
988
1024
  <h3>🧪 Thompson Sampling</h3>
989
1025
  <p>Confidence tiers (none/low/medium/high) tell you when to trust the model vs fall back to rules. No guessing.</p>
@@ -1070,6 +1106,96 @@ __GA_BOOTSTRAP__
1070
1106
  <p>Keep global prompts lean, load MCP schemas on demand, and turn harness lessons into Pre-Action Checks that block repeat failures.</p>
1071
1107
  <div class="card-arrow">Audit your harness →</div>
1072
1108
  </a>
1109
+ <a class="seo-card" href="/guides/code-knowledge-graph-guardrails">
1110
+ <div class="seo-kicker">Knowledge Graphs</div>
1111
+ <h3>Code Knowledge Graph Guardrails</h3>
1112
+ <p>Use code graphs for context, then enforce diff-impact review, cross-layer checkpoints, and generated-artifact protection before agents act.</p>
1113
+ <div class="card-arrow">Turn graph context into gates →</div>
1114
+ </a>
1115
+ <a class="seo-card" href="/guides/developer-machine-supply-chain-guardrails">
1116
+ <div class="seo-kicker">Supply Chain</div>
1117
+ <h3>Developer Machine Supply Chain Guardrails</h3>
1118
+ <p>Stop AI assistants from amplifying npm, PyPI, Docker, and CLI compromise paths that harvest local developer credentials.</p>
1119
+ <div class="card-arrow">Gate risky local execution →</div>
1120
+ </a>
1121
+ <a class="seo-card" href="/guides/prompt-tricks-to-workflow-rules">
1122
+ <div class="seo-kicker">Prompt ROI</div>
1123
+ <h3>Prompt Tricks Are Not Enough</h3>
1124
+ <p>Turn clear instructions, examples, and repeated AI failures into workflow rules that run before the next risky tool call.</p>
1125
+ <div class="card-arrow">Convert prompts into gates →</div>
1126
+ </a>
1127
+ <a class="seo-card" href="/guides/semantic-programmatic-seo-guardrails">
1128
+ <div class="seo-kicker">Semantic pSEO</div>
1129
+ <h3>Semantic Programmatic SEO Guardrails</h3>
1130
+ <p>Scale SEO pages with authority maps, brand context governance, semantic internal links, and technical publish checks before AI content goes live.</p>
1131
+ <div class="card-arrow">Govern scaled content →</div>
1132
+ </a>
1133
+ <a class="seo-card" href="/guides/proxy-pointer-rag-guardrails">
1134
+ <div class="seo-kicker">Document RAG</div>
1135
+ <h3>Proxy-Pointer RAG Guardrails</h3>
1136
+ <p>Section trees, image pointers, visual-claim checks, and cross-document leakage blocks before multimodal answers ship.</p>
1137
+ <div class="card-arrow">Ground visual answers →</div>
1138
+ </a>
1139
+ <a class="seo-card" href="/guides/rag-precision-tuning-guardrails">
1140
+ <div class="seo-kicker">Retrieval Safety</div>
1141
+ <h3>RAG Precision Tuning Guardrails</h3>
1142
+ <p>Baseline recall, verifier coverage, and latency budgets before retrieval tuning feeds autonomous agent pipelines.</p>
1143
+ <div class="card-arrow">Gate retrieval changes →</div>
1144
+ </a>
1145
+ <a class="seo-card" href="/guides/internal-ai-engineering-stack-guardrails">
1146
+ <div class="seo-kicker">AI Stack</div>
1147
+ <h3>Internal AI Engineering Stack Guardrails</h3>
1148
+ <p>Gateway, MCP portal, AGENTS.md, LLM wiki, AI review, and sandbox checks before agent adoption scales.</p>
1149
+ <div class="card-arrow">Govern the AI stack →</div>
1150
+ </a>
1151
+ <a class="seo-card" href="/guides/seo-agent-skills-guardrails">
1152
+ <div class="seo-kicker">SEO Agents</div>
1153
+ <h3>SEO Agent Skills Guardrails</h3>
1154
+ <p>Workspace context, proof links, semantic mesh, and publish gates for AI-assisted content workflows.</p>
1155
+ <div class="card-arrow">Govern SEO agents →</div>
1156
+ </a>
1157
+ <a class="seo-card" href="/compare/fallow">
1158
+ <div class="seo-kicker">Comparison</div>
1159
+ <h3>ThumbGate vs Fallow</h3>
1160
+ <p>Fallow finds JS/TS code health issues. ThumbGate governs what AI agents are allowed to do next.</p>
1161
+ <div class="card-arrow">Compare tools →</div>
1162
+ </a>
1163
+ <a class="seo-card" href="/guides/claude-code-skills-guardrails">
1164
+ <div class="seo-kicker">Claude Skills</div>
1165
+ <h3>Claude Code Skills Guardrails</h3>
1166
+ <p>Turn skillbooks, reusable prompts, and project workflows into checks that survive beyond one session.</p>
1167
+ <div class="card-arrow">Enforce skillbooks →</div>
1168
+ </a>
1169
+ <a class="seo-card" href="/guides/long-running-agent-context-management">
1170
+ <div class="seo-kicker">Agent Context</div>
1171
+ <h3>Long-Running Agent Context Management</h3>
1172
+ <p>Director journals, critic reviews, credibility scores, and timelines instead of raw chat-log accumulation.</p>
1173
+ <div class="card-arrow">Structure agent memory →</div>
1174
+ </a>
1175
+ <a class="seo-card" href="/guides/reasoning-compression-guardrails">
1176
+ <div class="seo-kicker">Reasoning ROI</div>
1177
+ <h3>Reasoning Compression Guardrails</h3>
1178
+ <p>Verifier-backed token savings with step-level confidence checks before compressed reasoning reaches production.</p>
1179
+ <div class="card-arrow">Gate token savings →</div>
1180
+ </a>
1181
+ <a class="seo-card" href="/guides/background-agent-governance">
1182
+ <div class="seo-kicker">Background Agents</div>
1183
+ <h3>Background Agent Governance</h3>
1184
+ <p>Turn unattended agent PRs into a governed queue with run ledgers, pre-dispatch checks, isolated task lanes, and risk-tiered review.</p>
1185
+ <div class="card-arrow">Govern agent PRs →</div>
1186
+ </a>
1187
+ <a class="seo-card" href="/guides/ai-agent-governance-sprint">
1188
+ <div class="seo-kicker">Team Sprint</div>
1189
+ <h3>AI Agent Governance Sprint</h3>
1190
+ <p>Package one repo, one workflow owner, and one repeated failure into approval boundaries, rollback safety, and buyer-ready rollout proof.</p>
1191
+ <div class="card-arrow">Start with one workflow →</div>
1192
+ </a>
1193
+ <a class="seo-card" href="/guides/gpt-5-5-model-evaluation">
1194
+ <div class="seo-kicker">Model Routing</div>
1195
+ <h3>GPT-5.5 Model Evaluation</h3>
1196
+ <p>Benchmark GPT-5.5 for dashboard-analysis workloads before routing expensive agent work away from cheaper tiers.</p>
1197
+ <div class="card-arrow">Evaluate frontier routing →</div>
1198
+ </a>
1073
1199
  <a class="seo-card" href="/guides/ai-search-topical-presence">
1074
1200
  <div class="seo-kicker">AI Search</div>
1075
1201
  <h3>AI Search Topical Presence</h3>
@@ -1183,7 +1309,7 @@ __GA_BOOTSTRAP__
1183
1309
  <!-- HOW IT WORKS -->
1184
1310
  <section class="how-it-works" id="how-it-works">
1185
1311
  <div class="container">
1186
- <div class="section-label">New in v1.16.12</div>
1312
+ <div class="section-label">New in v1.16.19</div>
1187
1313
  <h2 class="section-title">Three steps to stop repeated AI failures</h2>
1188
1314
  <div class="steps">
1189
1315
  <div class="step">
@@ -1392,10 +1518,10 @@ __GA_BOOTSTRAP__
1392
1518
  <div class="price-sub">3-seat minimum · One engineer's correction protects the whole team</div>
1393
1519
  <p style="font-size:13px;color:var(--green);margin-bottom:16px;font-weight:500;">When one engineer teaches the agent not to delete staging data, that lesson applies to every agent on the team. Stop paying the same mistake tax across different developers.</p>
1394
1520
  <div class="pro-upgrade-triggers" style="font-size:12px;color:#aaa;margin-bottom:12px;">
1395
- Start with one repo, one workflow, one repeat failure at $49/seat.
1521
+ No self-serve trial. Start with one repo, one workflow, and one repeated failure through the sprint intake.
1396
1522
  </div>
1397
1523
  <ul>
1398
- <li>Workflow hardening sprint — map one painful workflow, one repeated failure, and one buyer proof review before wider rollout</li>
1524
+ <li>AI Agent Governance Sprint — map one painful workflow, one repeated failure, approval boundaries, rollback safety, and one buyer proof review before wider rollout</li>
1399
1525
  <li>Shared enforcement memory — a shared lesson database where one developer's 👎 on a bad migration protects every agent on the team</li>
1400
1526
  <li>Team lesson export/import — export lessons from one project, import into another. Deduplication, provenance tracking, and <code>team-import</code> tagging built in. One team's hard-won lessons become every team's prevention rules</li>
1401
1527
  <li>Org dashboard — active agents, check hit rates, risk agents, and proof-backed team metrics in one place</li>
@@ -1416,8 +1542,8 @@ __GA_BOOTSTRAP__
1416
1542
  <section class="compatibility" id="workflow-sprint-intake">
1417
1543
  <div class="container">
1418
1544
  <div class="section-label">Team Pilot</div>
1419
- <h2 class="section-title">Start with one repo, one workflow, one repeat failure</h2>
1420
- <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>
1545
+ <h2 class="section-title">Start the AI Agent Governance Sprint with one repeat failure</h2>
1546
+ <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 repo, one workflow 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>
1421
1547
  <div class="team-intake-panel">
1422
1548
  <div class="team-intake-panel-head">
1423
1549
  <div>
@@ -1434,20 +1560,27 @@ __GA_BOOTSTRAP__
1434
1560
  </div>
1435
1561
  <div>
1436
1562
  <div class="team-paid-price">$<span data-sprint-diagnostic-price>499</span></div>
1437
- <a class="team-paid-link" data-sprint-diagnostic-link href="#workflow-sprint-intake">Pay for diagnostic</a>
1563
+ <a class="team-paid-link" data-sprint-diagnostic-link href="__SPRINT_DIAGNOSTIC_CHECKOUT_URL__">Pay for diagnostic</a>
1438
1564
  </div>
1439
1565
  </div>
1440
1566
  <div class="team-paid-card">
1441
1567
  <div>
1442
- <h4>Workflow Hardening Sprint</h4>
1443
- <p>48-hour implementation sprint for one workflow owner, one blocker, one proof review, and one hardened rollout path.</p>
1568
+ <h4>AI Agent Governance Sprint</h4>
1569
+ <p>48-hour Workflow Hardening Sprint for one workflow owner, one blocker, approval boundaries, rollback safety, one proof review, and one hardened rollout path.</p>
1444
1570
  </div>
1445
1571
  <div>
1446
1572
  <div class="team-paid-price">$<span data-workflow-sprint-price>1500</span></div>
1447
- <a class="team-paid-link" data-workflow-sprint-link href="#workflow-sprint-intake">Pay for sprint</a>
1573
+ <a class="team-paid-link" data-workflow-sprint-link href="__WORKFLOW_SPRINT_CHECKOUT_URL__">Pay for sprint</a>
1448
1574
  </div>
1449
1575
  </div>
1450
1576
  </div>
1577
+ <div class="team-intake-recovery" aria-label="Checkout recovery path for workflow sprint buyers">
1578
+ <div>
1579
+ <strong>Not ready to pay from a checkout page?</strong>
1580
+ <span>Send the workflow first. We can qualify the blocker, confirm the proof plan, and route you to the $499 diagnostic or $1500 sprint only when the scope is real.</span>
1581
+ </div>
1582
+ <a href="#team-pilot-intake-form" onclick="sendFirstPartyTelemetry('workflow_sprint_recovery_intake_clicked',{ctaId:'team_workflow_sprint_recovery_intake',ctaPlacement:'team_paid_path_recovery',planId:'team',offer:'workflow_hardening_sprint',reason:'checkout_abandon'});sendGa4Event('generate_lead',{currency:'USD',value:0,method:'workflow_sprint_recovery_intake'});">Send workflow first</a>
1583
+ </div>
1451
1584
  <form id="team-pilot-intake-form" class="team-form" action="/v1/intake/workflow-sprint" method="POST" data-team-intake-form>
1452
1585
  <input type="hidden" name="ctaId" value="workflow_sprint_intake">
1453
1586
  <input type="hidden" name="ctaPlacement" value="team_visible_intake">
@@ -1523,7 +1656,7 @@ __GA_BOOTSTRAP__
1523
1656
  </div>
1524
1657
  <div class="faq-item">
1525
1658
  <div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What does Pro cost?</div>
1526
- <div class="faq-a">Pro is $19/mo or $149/yr for individual operators. Team is $49/seat/mo with a 3-seat minimum. Both start with a 7-day free trial, no credit card required.</div>
1659
+ <div class="faq-a">Pro is $19/mo or $149/yr for individual operators and starts with a 7-day free trial, no credit card required. Team is $49/seat/mo with a 3-seat minimum and starts with the Workflow Hardening Sprint intake, not a self-serve trial.</div>
1527
1660
  </div>
1528
1661
  </div>
1529
1662
  </div>
@@ -1575,7 +1708,7 @@ __GA_BOOTSTRAP__
1575
1708
  <a href="https://www.linkedin.com/in/igorganapolsky" target="_blank" rel="noopener">LinkedIn</a>
1576
1709
  <a href="/blog">Blog</a>
1577
1710
  </div>
1578
- <span class="footer-copy">© 2026 Max Smith KDP LLC · MIT License · v1.16.12</span>
1711
+ <span class="footer-copy">© 2026 Max Smith KDP LLC · MIT License · v1.16.19</span>
1579
1712
  </div>
1580
1713
  </footer>
1581
1714