thumbgate 1.27.18 → 1.27.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 (96) hide show
  1. package/.claude-plugin/marketplace.json +6 -6
  2. package/.claude-plugin/plugin.json +4 -3
  3. package/.well-known/agentic-verify.txt +1 -0
  4. package/.well-known/llms.txt +33 -12
  5. package/.well-known/mcp/server-card.json +8 -8
  6. package/README.md +249 -30
  7. package/adapters/chatgpt/openapi.yaml +12 -0
  8. package/adapters/claude/.mcp.json +2 -2
  9. package/adapters/codex/config.toml +2 -2
  10. package/adapters/gemini/function-declarations.json +1 -0
  11. package/adapters/mcp/server-stdio.js +263 -11
  12. package/adapters/opencode/opencode.json +1 -1
  13. package/bench/thumbgate-bench.json +2 -2
  14. package/bin/cli.js +1429 -121
  15. package/bin/postinstall.js +1 -8
  16. package/config/gate-classifier-routing.json +98 -0
  17. package/config/gate-templates.json +216 -0
  18. package/config/gates/claim-verification.json +12 -0
  19. package/config/gates/default.json +31 -2
  20. package/config/github-about.json +2 -2
  21. package/config/mcp-allowlists.json +23 -13
  22. package/config/merge-quality-checks.json +0 -1
  23. package/config/model-candidates.json +121 -6
  24. package/config/post-deploy-marketing-pages.json +80 -0
  25. package/config/tessl-tiles.json +1 -3
  26. package/openapi/openapi.yaml +12 -0
  27. package/package.json +1 -1
  28. package/public/blog.html +4 -4
  29. package/public/codex-plugin.html +72 -20
  30. package/public/compare.html +31 -8
  31. package/public/dashboard.html +930 -166
  32. package/public/federal.html +2 -2
  33. package/public/guide.html +33 -13
  34. package/public/index.html +469 -111
  35. package/public/learn.html +183 -18
  36. package/public/lessons.html +168 -10
  37. package/public/numbers.html +7 -7
  38. package/public/pro.html +34 -11
  39. package/scripts/agent-memory-lifecycle.js +211 -0
  40. package/scripts/agent-readiness.js +20 -3
  41. package/scripts/agent-reward-model.js +53 -1
  42. package/scripts/auto-promote-gates.js +82 -10
  43. package/scripts/auto-wire-hooks.js +14 -0
  44. package/scripts/billing.js +93 -1
  45. package/scripts/bot-detection.js +61 -3
  46. package/scripts/build-metadata.js +50 -10
  47. package/scripts/cli-feedback.js +4 -2
  48. package/scripts/cli-schema.js +97 -0
  49. package/scripts/cli-telemetry.js +6 -1
  50. package/scripts/commercial-offer.js +82 -2
  51. package/scripts/context-manager.js +74 -6
  52. package/scripts/dashboard.js +68 -2
  53. package/scripts/export-databricks-bundle.js +5 -1
  54. package/scripts/export-dpo-pairs.js +7 -2
  55. package/scripts/feedback-loop.js +123 -1
  56. package/scripts/feedback-quality.js +87 -0
  57. package/scripts/filesystem-search.js +35 -10
  58. package/scripts/gate-stats.js +89 -0
  59. package/scripts/gates-engine.js +1176 -85
  60. package/scripts/gemini-embedding-policy.js +2 -1
  61. package/scripts/hook-runtime.js +20 -14
  62. package/scripts/hook-thumbgate-cache-updater.js +18 -2
  63. package/scripts/hybrid-feedback-context.js +142 -7
  64. package/scripts/lesson-inference.js +8 -3
  65. package/scripts/lesson-search.js +17 -1
  66. package/scripts/license.js +10 -10
  67. package/scripts/llm-client.js +169 -4
  68. package/scripts/local-model-profile.js +15 -8
  69. package/scripts/mcp-config.js +7 -1
  70. package/scripts/memory-scope-readiness.js +159 -0
  71. package/scripts/meta-agent-loop.js +36 -0
  72. package/scripts/operational-integrity.js +39 -5
  73. package/scripts/oss-pr-opportunity-scout.js +35 -5
  74. package/scripts/plausible-server-events.js +9 -6
  75. package/scripts/pro-local-dashboard.js +4 -4
  76. package/scripts/proxy-pointer-rag-guardrails.js +42 -1
  77. package/scripts/published-cli.js +0 -8
  78. package/scripts/rate-limiter.js +64 -13
  79. package/scripts/secret-scanner.js +44 -5
  80. package/scripts/security-scanner.js +260 -10
  81. package/scripts/self-distill-agent.js +3 -1
  82. package/scripts/seo-gsd.js +916 -7
  83. package/scripts/statusline-cache-path.js +17 -2
  84. package/scripts/statusline-local-stats.js +9 -1
  85. package/scripts/statusline-meta.js +28 -2
  86. package/scripts/statusline.sh +20 -4
  87. package/scripts/telemetry-analytics.js +357 -0
  88. package/scripts/thompson-sampling.js +31 -10
  89. package/scripts/thumbgate-bench.js +16 -1
  90. package/scripts/thumbgate-search.js +85 -19
  91. package/scripts/tool-registry.js +169 -1
  92. package/scripts/vector-store.js +45 -0
  93. package/scripts/workflow-sentinel.js +286 -53
  94. package/scripts/workspace-evolver.js +62 -2
  95. package/src/api/server.js +2683 -319
  96. package/scripts/bot-detector.js +0 -50
package/README.md CHANGED
@@ -6,17 +6,32 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **Your AI coding bill has a leak.**
9
+ > **⚡ LAUNCH PROMO: 50% off Pro for 3 months — use code `THUMB50`**
10
+ > [$9.50/mo instead of $19 →](https://buy.stripe.com/eVqeVd62o0aO19v7mb3sI3g) · Limited to first 50 customers
10
11
 
11
- **Stop paying for the same AI mistake twice.**
12
+ **AI coding agents repeat mistakes and one wrong tool call can wipe a directory, leak a key, or push broken code.**
12
13
 
13
- Every retry loop, every hallucinated import, every *"let me try a different approach"* those are billable tokens on every LLM vendor's bill. Thumbs-down once; ThumbGate blocks that exact mistake on every future call. Across Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode any MCP-compatible agent, forever.
14
+ ThumbGate is the local-first firewall for AI coding agents. It runs in the PreToolUse hook on your machine and blocks dangerous tool calls — `rm -rf`, secret exfiltration, off-scope edits, a bad `git push` before they execute, across Claude Code, Cursor, Codex, Gemini, Amp, Cline, and OpenCode. No server, no gateway. (Regulated-industry policy templates — legal intake, financial compliance, healthcare — build on the same engine.)
14
15
 
15
- Under the hood: your thumbs-down becomes one of your **Pre-Action Checks** that physically blocks the pattern **permanently** on every future call — across every session, every model, every agent. It is **self-improving agent governance**: every correction promotes a fresh prevention rule, and your library of prevention rules grows stronger with every lesson. Works with Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode, and any MCP-compatible agent. The monthly Anthropic / OpenAI bill stops paying for the same lesson over and over — local-first enforcement, zero tokens spent on repeats.
16
+ The product is a self-improving enforcement layer: thumbs-down feedback, prompt evaluation, and proof from prior runs become prevention rules that permanently stop repeated failures before the next tool call.
16
17
 
17
- > **Prevent expensive AI mistakes. Make AI stop repeating mistakes. Turn a smart assistant into a reliable operator.**
18
+ <p align="center">
19
+ <img src="docs/media/thumbgate-demo.gif" alt="ThumbGate blocking an AI agent's dangerous commands (rm -rf, force-push, chmod 777) in real time, while letting safe commands through" width="820" />
20
+ </p>
21
+
22
+ ```
23
+ Agent tries: rm -rf tests/
24
+ ThumbGate: ⛔ BLOCKED — "Never delete test directories"
25
+ Pattern matched: rm.*-rf.*tests
26
+ Source: your thumbs-down from last Tuesday
27
+ Tokens spent on this repeat: 0
28
+ ```
29
+
30
+ ```bash
31
+ npx thumbgate init # auto-detects your agent, wires hooks, 30 seconds
32
+ ```
18
33
 
19
- > **Mission:** make AI coding affordable by making sure you never pay for the same mistake twice.
34
+ Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and any MCP-compatible agent. Free tier: 2 feedback captures/day (10 total) and up to 3 active auto-promoted prevention rules. [Pro: $19/mo or $149/yr](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme) — unlimited rules, history-aware lessons, feedback sessions, dashboard, DPO export. Enterprise (custom pricing, scoped after intake) adds a shared hosted lesson DB, org dashboard, and shared org-wide enforcement.
20
35
 
21
36
  [![CI](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/ci.yml/badge.svg)](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/ci.yml)
22
37
  [![npm](https://img.shields.io/npm/v/thumbgate)](https://www.npmjs.com/package/thumbgate)
@@ -32,11 +47,42 @@ Under the hood: your thumbs-down becomes one of your **Pre-Action Checks** that
32
47
 
33
48
  ---
34
49
 
50
+ ## Agentic development cycle fit
51
+
52
+ Agentic development is becoming a loop: **Guide → Generate → Verify → Solve**. ThumbGate gives that loop a hard execution boundary.
53
+
54
+ - **Guide:** standards, prior thumbs-downs, and approval policies become concrete context.
55
+ - **Generate:** Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, and MCP agents keep producing plans and tool calls.
56
+ - **Verify:** risky actions need evidence before execution, not just after PR review.
57
+ - **Solve:** blocked failures become reusable lessons, shared prevention rules, DPO exports, and audit events.
58
+
59
+ In that stack, ThumbGate is the pre-action gate between generated intent and executed action.
60
+
61
+ ---
62
+
63
+ ## Discoverable slash-commands — the guardrail layer for spec-driven agents
64
+
65
+ Spec-driven agent frameworks like **GSD** (get-shit-done) and **GitHub Spec Kit** are great at *planning and generating* work — they expose dozens of discoverable `/gsd-*` / `/specify` commands in the agent command palette. ThumbGate is the **guardrail layer for spec-driven agents**: it sits *after* the plan, on the boundary between a generated tool call and its execution. It works **alongside GSD / Spec-Kit, not instead of them** — they decide *what* to build; ThumbGate enforces *what the agent must never do while building it*.
66
+
67
+ `npx thumbgate init` installs these commands into your agent's palette (`.claude/commands/`, `.gemini/commands/`, `.antigravitycli/commands/`) so the enforcement layer is as browsable as the planning layer:
68
+
69
+ | Command | What it does | Wraps (existing capability) |
70
+ |---------|--------------|------------------------------|
71
+ | `/thumbgate-guard` | Turn the last agent mistake into a hard prevention rule | `capture_feedback` + `thumbgate force-gate` |
72
+ | `/thumbgate-rules` | List the active prevention rules + lessons guarding this repo | `prevention_rules`, `get_reliability_rules`, `search_lessons` |
73
+ | `/thumbgate-blocked` | Show what's actually been blocked — gate stats + enforcement matrix | `gate_stats`, `enforcement_matrix` |
74
+ | `/thumbgate-protect` | Show branch/release governance; grant a scoped, expiring approval | `get_branch_governance`, `approve_protected_action` |
75
+ | `/thumbgate-doctor` | Health-check the wiring (hooks, MCP, agent-readiness) | `thumbgate doctor` |
76
+
77
+ Each is a thin wrapper over an existing MCP tool or CLI command — **no new enforcement logic, just discoverability**.
78
+
79
+ ---
80
+
35
81
  ## 🎬 90-second demo
36
82
 
37
83
  Watch the force-push scenario: agent tries to `git push --force`, one thumbs-down, next session it's blocked — zero tokens spent on the repeat.
38
84
 
39
- [**▶ Watch the 90-second demo**](https://thumbgate-production.up.railway.app/#demo?utm_source=github&utm_medium=readme&utm_campaign=demo_video) · [Script](docs/marketing/demo-video-script.md) · [ElevenLabs narration: `npm run demo:voiceover`](scripts/generate-demo-voiceover.js)
85
+ [**▶ Watch the 90-second demo**](https://thumbgate.ai/#demo?utm_source=github&utm_medium=readme&utm_campaign=demo_video) · [Script](docs/marketing/demo-video-script.md) · [ElevenLabs narration: `npm run demo:voiceover`](scripts/generate-demo-voiceover.js)
40
86
 
41
87
  <!-- Video embed lives on the landing page and YouTube. Script + voiceover automation ship with the repo so anyone can re-record. -->
42
88
 
@@ -46,9 +92,9 @@ Watch the force-push scenario: agent tries to `git push --force`, one thumbs-dow
46
92
 
47
93
  If someone is not already bought into ThumbGate, do not lead with architecture. Lead with one repeated mistake.
48
94
 
49
- 1. **Show the pain:** open the **[ThumbGate GPT](https://thumbgate-production.up.railway.app/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=first_dollar_activation&cta_id=readme_first_dollar_open_gpt&cta_placement=readme_first_dollar)** and paste the bad answer, risky command, deploy, PR action, or agent plan before it runs again.
95
+ 1. **Show the pain:** open the **[ThumbGate GPT](https://thumbgate.ai/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=first_dollar_activation&cta_id=readme_first_dollar_open_gpt&cta_placement=readme_first_dollar)** and paste the bad answer, risky command, deploy, PR action, or agent plan before it runs again.
50
96
  2. **Capture the lesson:** type `thumbs down:` or `thumbs up:` with one concrete sentence. Native ChatGPT rating buttons are not the ThumbGate capture path; typed feedback is.
51
- 3. **Enforce the repeat:** run `npx thumbgate init` where the agent executes so the lesson can become a Pre-Action Check instead of another reminder.
97
+ 3. **Enforce the repeat:** run `npx thumbgate init` where the agent executes so the lesson can become one of your Pre-Action Checks instead of another reminder.
52
98
  4. **Upgrade only after proof:** Solo Pro is for the dashboard, DPO export, proof-ready evidence, and higher capture limits after one real blocked repeat. Team starts with the Workflow Hardening Sprint around one repeated failure, one owner, and one proof review.
53
99
 
54
100
  The buying question is simple: **what repeated AI mistake would be worth blocking before the next tool call?**
@@ -88,11 +134,37 @@ ThumbGate doesn't make your agent smarter. It makes your agent *cheaper to be wr
88
134
 
89
135
  ---
90
136
 
137
+ ## 🧠 The Context Brain
138
+
139
+ Every coding agent starts each session amnesiac — it has no memory of the mistakes it made yesterday, the fixes your team already rejected, or the rules this repo enforces. So it repeats them, and you pay for it again.
140
+
141
+ ThumbGate gives your repo a **context brain**: a single, versioned, agent-readable artifact that consolidates everything the agent should know *before it acts* — the lessons it has learned, the guardrails it must not cross, the gates that are enforced, and the project's own instruction files.
142
+
143
+ ```bash
144
+ npx thumbgate brain --write # → .thumbgate/BRAIN.md
145
+ ```
146
+
147
+ Then point your agent at it — add `Read .thumbgate/BRAIN.md first` to your `CLAUDE.md` / `AGENTS.md`, and every Claude Code, Codex, Cursor, or Gemini CLI session boots with your repo's institutional memory already loaded. The output is **deterministic**, so `BRAIN.md` lives in git and only changes when the underlying memory does — review it like any other file.
148
+
149
+ ```
150
+ # ThumbGate Context Brain
151
+ ## What this codebase taught its agents (lessons)
152
+ - ⛔ Force-pushing to main was rejected — use --force-with-lease on feature branches only
153
+ ## Guardrails — do NOT repeat these (prevention rules)
154
+ - Never run DROP on production tables
155
+ ## Active enforcement (gates)
156
+ - `DROP.*production` → block
157
+ ```
158
+
159
+ Same idea the SEO world is now calling a *"client brain"* — persistent context that AI reads before doing the work — applied to **engineering**: the institutional memory that stops your coding agent from relearning the same lesson on your dime.
160
+
161
+ ---
162
+
91
163
  ## Quick Start
92
164
 
93
165
  ```bash
94
166
  npx thumbgate init # auto-detects your agent, wires everything
95
- npx thumbgate capture --feedback=down --context="Never run DROP on production tables"
167
+ npx thumbgate capture down "Never run DROP on production tables"
96
168
  ```
97
169
 
98
170
  That single command creates a prevention rule. Next time any AI agent tries to run `DROP` on production:
@@ -138,6 +210,26 @@ Hand-rolled hooks are the right tool for a small, static denylist you maintain b
138
210
 
139
211
  Prompt engineering still matters, but it is only the starting point. ThumbGate adds prompt evaluation on top: proof lanes, benchmarks, and self-heal checks tell you whether your prompt and workflow actually held up under execution instead of leaving you to guess from vibes. Run `npx thumbgate eval --from-feedback --write-report=.thumbgate/prompt-eval-proof.md` to turn real thumbs-up/down feedback into reusable eval cases and a buyer-ready proof report.
140
212
 
213
+ ### Retrieval & latency: local-first, zero network hops
214
+
215
+ ThumbGate's latency advantage is structural, not a tuned cloud cluster: there is no retrieval service and no model on the enforcement path, so the gate decision never leaves your machine.
216
+
217
+ ```mermaid
218
+ flowchart LR
219
+ A["Agent about to run<br/>a tool call"] --> B{"Literal / AST match<br/>on an active rule?"}
220
+ B -- "exact match" --> D["Deterministic gate decision<br/>(no model, on-device)"]
221
+ B -- "no exact match, but<br/>semantically near a<br/>blocked pattern" --> C["Local CPU embeddings<br/>bge-small via LanceDB<br/>(no external API)"]
222
+ C --> D
223
+ D -- "known-bad" --> E["⛔ BLOCK before execution"]
224
+ D -- "safe" --> F["✓ Allow"]
225
+ ```
226
+
227
+ - **Deterministic first.** Most decisions are a literal or AST pattern match against your active rules — sub-millisecond, on-device, no embeddings.
228
+ - **Local semantic fallback.** When an action isn't on the literal block list but is semantically near one you've blocked before, ThumbGate searches the rule corpus with CPU-only `bge-small` embeddings via LanceDB — still local, still no external API call.
229
+ - **No LLM on the enforcement path.** The gate never calls a model to decide block/allow. Thompson Sampling only tunes soft-rule confidence weights; hard rules always fire deterministically (see Layer 2).
230
+
231
+ The fastest network round-trip is the one you never make: enforcement is fully local, so it adds negligible latency to the agent loop — no cloud retrieval, no inference hop, no data leaving the machine.
232
+
141
233
  ### Managed model benchmark lane
142
234
 
143
235
  When a new managed model drops, do not swap ThumbGate over on vendor claims alone. Rank it against the actual ThumbGate workload first:
@@ -179,6 +271,19 @@ Each recommendation ships with the benchmark commands to run next: feedback-deri
179
271
 
180
272
  Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode**, and any MCP-compatible agent. Migrating from Roo Code (sunsetting 2026-05-15)? See [`adapters/cline/INSTALL.md`](./adapters/cline/INSTALL.md).
181
273
 
274
+ ### Install scope: machine-wide vs per-project
275
+
276
+ ThumbGate supports two install scopes. Pick once when you install — you can switch later by re-running with the other flag.
277
+
278
+ | Scope | Command | Settings file | Lesson DB + dashboard live in | When to use |
279
+ |-------|---------|---------------|--------------------------------|-------------|
280
+ | **Machine-wide** (default) | `npx thumbgate init` | `~/.claude/settings.json` | `~/.claude/memory/feedback/` | Solo dev — **one shared dashboard across every repo on this machine**. A lesson learned in `repo-A` blocks the same mistake in `repo-B` automatically. |
281
+ | **Per-project** | `npx thumbgate init --project` (in the repo root) | `<repo>/.claude/settings.json` | `<repo>/.claude/memory/feedback/` | Client work, compliance, or multi-tenant — **separate dashboard per repo**, lessons stay isolated, audit trail belongs to the repo. |
282
+
283
+ Both scopes write `mcpServers.thumbgate` + the PreToolUse / UserPromptSubmit / PostToolUse / SessionStart hooks; the only difference is *where*. Machine-wide is the right default for most developers. Switch to `--project` only when you have a reason to keep lessons from bleeding between repos.
284
+
285
+ > Per-project lesson DBs live under each repo's `.claude/memory/feedback/` and **must stay gitignored** — they're a runtime store, not source. ThumbGate's bundled `.gitignore` template handles this.
286
+
182
287
  ### Status bar proof
183
288
 
184
289
  ![Claude Code ThumbGate footer](public/assets/claude-thumbgate-statusbar.svg)
@@ -191,10 +296,19 @@ Claude renders the live ThumbGate footer today. `npx thumbgate init --agent code
191
296
 
192
297
  Open the Codex plugin install page or download the standalone bundle from GitHub Releases. The Codex launcher resolves `thumbgate@latest` when MCP and hooks start, so published npm fixes reach active Codex installs without hand-editing `~/.codex/config.toml`.
193
298
 
194
- 1. Install page: [thumbgate-production.up.railway.app/codex-plugin](https://thumbgate-production.up.railway.app/codex-plugin)
299
+ 1. Install page: [thumbgate.ai/codex-plugin](https://thumbgate.ai/codex-plugin)
195
300
  2. Direct zip: [thumbgate-codex-plugin.zip](https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip)
196
301
  3. Follow: [plugins/codex-profile/INSTALL.md](plugins/codex-profile/INSTALL.md)
197
302
 
303
+ ### Install ChatGPT App / GPT Action
304
+
305
+ ChatGPT is the advice, checkpointing, and typed-feedback surface; ThumbGate's hard enforcement still runs locally in Codex, Claude Code, Cursor, Gemini CLI, Amp, OpenCode, MCP, or CI after install.
306
+
307
+ 1. App page: [thumbgate.ai/chatgpt-app](https://thumbgate.ai/chatgpt-app)
308
+ 2. Live GPT: [thumbgate.ai/go/gpt](https://thumbgate.ai/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=chatgpt_app)
309
+ 3. GPT Action schema: [thumbgate.ai/openapi.yaml](https://thumbgate.ai/openapi.yaml)
310
+ 4. Follow: [adapters/chatgpt/INSTALL.md](adapters/chatgpt/INSTALL.md)
311
+
198
312
  ---
199
313
 
200
314
  ## How It Works
@@ -227,6 +341,7 @@ ThumbGate sells three concrete outcomes:
227
341
 
228
342
  ## Use Cases
229
343
 
344
+ ### Developer Workflows
230
345
  - **Stop force-push to main** — Check blocks `git push --force` on protected branches before it runs
231
346
  - **Prevent repeated migration failures** — Each mistake becomes a searchable lesson that fires before the next attempt
232
347
  - **Block unauthorized file edits** — Control which files agents can touch with path-based rules
@@ -234,6 +349,14 @@ ThumbGate sells three concrete outcomes:
234
349
  - **Shared team safety** — One developer's thumbs-down protects the whole team
235
350
  - **Auto-improving without feedback** — Self-improvement mode evaluates outcomes and generates rules automatically
236
351
 
352
+ ### Enterprise & Regulated Industries
353
+ - **Legal AI intake governance** — Block unauthorized practice of law (ABA Rule 5.5), require conflict-of-interest clearance before fact collection (Rules 1.7/1.9/1.10), prevent privileged content from leaving firm boundaries (Rule 1.6)
354
+ - **Financial compliance** — Gate AI-generated trade recommendations, block unauthorized disclosures, enforce approval chains before customer-facing outputs
355
+ - **Healthcare** — Prevent AI agents from providing medical diagnoses, enforce HIPAA-compliant data routing, require clinician review before patient-facing content
356
+ - **Audit trail** — Every gate decision (block, allow, reroute) is preserved with rule version, timestamp, and reviewer path for compliance review
357
+
358
+ [See the legal-intake demo →](https://thumbgate.ai/dashboard)
359
+
237
360
  ---
238
361
 
239
362
  ## Built-in Checks
@@ -255,46 +378,82 @@ ThumbGate sells three concrete outcomes:
255
378
  ```bash
256
379
  npx thumbgate init # detect agent, wire hooks
257
380
  npx thumbgate doctor # health check
258
- npx thumbgate capture --feedback=up|down --context="<text>" # capture a signal as a stored lesson
381
+ npx thumbgate capture up|down "<text>" # capture a signal as a stored lesson (positional format)
259
382
  npx thumbgate lessons # see what's been learned
383
+ npx thumbgate brain --write # build .thumbgate/BRAIN.md — the agent-readable context brain
260
384
  npx thumbgate explore # terminal explorer for lessons, checks, stats
261
385
  npx thumbgate background-governance # review background-agent run risk
262
386
  npx thumbgate model-candidates --workload=dashboard-analysis --provider=openai --json # evaluate GPT-5.5 routing
263
387
  npx thumbgate native-messaging-audit # inspect local browser bridges and extension hosts
264
- npx thumbgate dashboard # open local dashboard
388
+ npx thumbgate dashboard --open # open local project-scoped dashboard in browser
389
+ thumbgate-dashboard # standalone browser dashboard shortcut (run '/project:thumbgate-dashboard' in Claude/Grok)
390
+ npx thumbgate check-update # check if a new version is available on npm/GitHub
391
+ npx thumbgate self-update # update ThumbGate to the latest version globally
265
392
  npx thumbgate serve # start MCP server on stdio
266
393
  npx thumbgate bench # run reliability benchmark
267
394
  npx thumbgate bench --programbench-smoke # include cleanroom whole-repo proof lane
395
+ npx thumbgate break-glass --reason="ThumbGate over-fired" # short TTL recovery for gate over-fire
396
+ ```
397
+
398
+ ### Recovery if a gate over-fires
399
+
400
+ ThumbGate should block repeated unsafe actions, not trap the operator. If a noisy rule or stale memory pattern blocks the hook/settings change you need to recover, open a short-lived break-glass window:
401
+
402
+ ```bash
403
+ npx thumbgate break-glass --reason="ThumbGate over-fired and blocked operator recovery"
268
404
  ```
269
405
 
406
+ What this unlocks for up to 5 minutes:
407
+
408
+ - Edits to `.claude/settings.local.json`, `.claude/settings.json`, `.codex/config.toml`, and the same files inside nested workspaces.
409
+ - The short-lived proof gates used for PR recovery: `pr_create_allowed` and `pr_threads_checked`.
410
+
411
+ What stays gated:
412
+
413
+ - Force pushes, protected-branch pushes, broad `rm -rf`, unsafe `chmod`, package publishes/releases, and local-only remote side effects.
414
+ - Arbitrary protected files such as `README.md`, `AGENTS.md`, policy bundles, or credentials.
415
+
416
+ Verify the recovery window and runtime health before continuing:
417
+
418
+ ```bash
419
+ npx thumbgate break-glass --reason="verify recovery path" --json
420
+ npx thumbgate doctor
421
+ ```
422
+
423
+ If you change MCP or hook settings, restart the affected agent session so Claude Code, Cursor, Codex, or another runtime reloads `.mcp.json` and local settings.
424
+
270
425
  ---
271
426
 
272
427
  ## Pricing
273
428
 
274
- | | Free | Pro ($19/mo) | Team ($49/seat/mo) |
429
+ | | Free | Pro ($19/mo) | Enterprise |
275
430
  |---|---|---|---|
276
431
  | Local CLI + enforced checks | ✅ | ✅ | ✅ |
277
- | Feedback captures (lifetime) | 3 | Unlimited | Unlimited |
278
- | Auto-promoted prevention rules | 1 | Unlimited | Unlimited |
432
+ | Feedback captures | 2/day (10 total) | Unlimited | Unlimited |
433
+ | Active auto-promoted prevention rules | 3 | Unlimited | Unlimited |
279
434
  | MCP agent integrations | All | All | All |
280
435
  | Personal dashboard | — | ✅ | ✅ |
281
436
  | DPO export (model fine-tuning) | — | ✅ | ✅ |
282
- | Team lesson export/import | — | ✅ | ✅ |
437
+ | Lesson export/import | — | ✅ | ✅ |
283
438
  | Shared hosted lesson DB | — | — | ✅ |
284
439
  | Org-wide dashboard | — | — | ✅ |
285
440
  | Approval + audit proof | — | — | ✅ |
441
+ | Regulatory gate templates | — | — | ✅ |
442
+ | Custom policy layers (firm/practice-area) | — | — | ✅ |
443
+ | Compliance audit export | — | — | ✅ |
444
+ | Dedicated onboarding + SLA | — | — | ✅ |
286
445
 
287
- The free tier gives you unlimited feedback captures and up to 5 active auto-promoted prevention rules — generous enough to make ThumbGate part of your daily flow. MCP integrations for all agents (Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode) ship free.
446
+ The free tier gives you 2 feedback captures/day (10 total) and up to 3 active auto-promoted prevention rules — enough to make ThumbGate part of your daily flow before you upgrade. MCP integrations for all agents (Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode) ship free.
288
447
 
289
- Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recall, lesson search, DPO export, and a personal dashboard. Team ($49/seat/mo) adds a shared hosted lesson DB, org dashboard, and shared enforcement across the org. Pro and Team include `open_feedback_session`, `append_feedback_context`, and `finalize_feedback_session` for structured multi-turn feedback capture.
448
+ Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recall, lesson search, DPO export, and a personal dashboard. Enterprise (custom pricing, scoped after intake) adds a shared hosted lesson DB, org dashboard, and shared enforcement across the org, plus regulatory gate templates (legal intake, financial compliance, healthcare), custom policy layers scoped to firm/practice-area, compliance audit export, and dedicated onboarding with SLA.
290
449
 
291
- **Best first paid motion for teams:** the **Workflow Hardening Sprint** — qualify one repeated failure before committing to a full rollout. **[Start intake →](https://thumbgate-production.up.railway.app/?utm_source=github&utm_medium=readme&utm_campaign=team_rollout#workflow-sprint-intake)**
450
+ **Best first paid motion for teams:** the **Workflow Hardening Sprint** — qualify one repeated failure before committing to a full rollout. **[Start intake →](https://thumbgate.ai/?utm_source=github&utm_medium=readme&utm_campaign=team_rollout#workflow-sprint-intake)**
292
451
 
293
452
  **Best first technical motion:** install the CLI-first and let `init` wire hooks for the agent you already use.
294
453
 
295
- **Paid path for individual operators:** [ThumbGate Pro](https://thumbgate-production.up.railway.app/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_page) is the self-serve side lane for a personal dashboard and export-ready evidence.
454
+ **Paid path for individual operators:** [ThumbGate Pro](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_page) is the self-serve side lane for a personal dashboard and export-ready evidence.
296
455
 
297
- **[Start free](https://thumbgate-production.up.railway.app/?utm_source=github&utm_medium=readme)** · **[See Pro](https://thumbgate-production.up.railway.app/checkout/pro?utm_source=github&utm_medium=readme)** · **[Team Sprint intake](https://thumbgate-production.up.railway.app/?utm_source=github&utm_medium=readme#workflow-sprint-intake)**
456
+ **[Start free](https://thumbgate.ai/?utm_source=github&utm_medium=readme)** · **[See Pro](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme)** · **[Team Sprint intake](https://thumbgate.ai/?utm_source=github&utm_medium=readme#workflow-sprint-intake)**
298
457
 
299
458
  ---
300
459
 
@@ -375,7 +534,7 @@ curl -X POST http://localhost:3456/v1/dpo/export \
375
534
  | Layer | Technology |
376
535
  |-------|-----------|
377
536
  | **Storage** | SQLite + FTS5, LanceDB vectors, JSONL logs |
378
- | **Capture** | Unlimited feedback captures (free + Pro) |
537
+ | **Capture** | 2/day, 10 total on Free; unlimited on Pro, Team, and Enterprise |
379
538
  | **Intelligence** | MemAlign dual recall, Thompson Sampling |
380
539
  | **Enforcement** | PreToolUse hook engine, Checks config |
381
540
  | **Interfaces** | MCP stdio, HTTP API, CLI (Node.js >=18) |
@@ -387,17 +546,20 @@ Every Changeset is tied to the exact `main` merge commit and generates Verificat
387
546
 
388
547
  ---
389
548
 
390
- **Popular buyer questions:** **[AI search topical presence](https://thumbgate-production.up.railway.app/guides/ai-search-topical-presence?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Relational knowledge and AI recommendations](https://thumbgate-production.up.railway.app/guides/relational-knowledge-ai-recommendations?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Background agent governance](https://thumbgate-production.up.railway.app/guides/background-agent-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[GPT-5.5 model evaluation](https://thumbgate-production.up.railway.app/guides/gpt-5-5-model-evaluation?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Stop repeated AI agent mistakes](https://thumbgate-production.up.railway.app/guides/stop-repeated-ai-agent-mistakes?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Browser automation safety](https://thumbgate-production.up.railway.app/guides/browser-automation-safety?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Native messaging host security](https://thumbgate-production.up.railway.app/guides/native-messaging-host-security?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Autoresearch agent safety](https://thumbgate-production.up.railway.app/guides/autoresearch-agent-safety?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Cursor guardrails](https://thumbgate-production.up.railway.app/guides/cursor-agent-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Codex CLI guardrails](https://thumbgate-production.up.railway.app/guides/codex-cli-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Gemini CLI memory + enforcement](https://thumbgate-production.up.railway.app/guides/gemini-cli-feedback-memory?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Google Cloud MCP guardrails](https://thumbgate-production.up.railway.app/guides/gcp-mcp-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Roo Code alternative: migrate to Cline](https://thumbgate-production.up.railway.app/guides/roo-code-alternative-cline?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)**
549
+ **Popular buyer questions:** **[AI search topical presence](https://thumbgate.ai/guides/ai-search-topical-presence?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Relational knowledge and AI recommendations](https://thumbgate.ai/guides/relational-knowledge-ai-recommendations?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Background agent governance](https://thumbgate.ai/guides/background-agent-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[GPT-5.5 model evaluation](https://thumbgate.ai/guides/gpt-5-5-model-evaluation?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Stop repeated AI agent mistakes](https://thumbgate.ai/guides/stop-repeated-ai-agent-mistakes?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Browser automation safety](https://thumbgate.ai/guides/browser-automation-safety?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Native messaging host security](https://thumbgate.ai/guides/native-messaging-host-security?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Autoresearch agent safety](https://thumbgate.ai/guides/autoresearch-agent-safety?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Cursor guardrails](https://thumbgate.ai/guides/cursor-agent-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Codex CLI guardrails](https://thumbgate.ai/guides/codex-cli-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Gemini CLI memory + enforcement](https://thumbgate.ai/guides/gemini-cli-feedback-memory?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Google Cloud MCP guardrails](https://thumbgate.ai/guides/gcp-mcp-guardrails?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[Roo Code alternative: migrate to Cline](https://thumbgate.ai/guides/roo-code-alternative-cline?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)**
391
550
 
392
- **[Workflow Hardening Sprint](https://thumbgate-production.up.railway.app/?utm_source=github&utm_medium=readme&utm_campaign=top_cta#workflow-sprint-intake)** · **[Live Dashboard](https://thumbgate-production.up.railway.app/dashboard?utm_source=github&utm_medium=readme&utm_campaign=top_cta)**
551
+ **Conversational ad / AI-search answer assets:** **[AI Mode ads for agent governance](https://thumbgate.ai/guides/ai-mode-ads-agent-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[MCP tool governance](https://thumbgate.ai/guides/mcp-tool-governance?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)** · **[AI agent pre-action approval gates](https://thumbgate.ai/guides/ai-agent-pre-action-approval-gates?utm_source=github&utm_medium=readme&utm_campaign=buyer_questions)**
552
+
553
+ **[Workflow Hardening Sprint](https://thumbgate.ai/?utm_source=github&utm_medium=readme&utm_campaign=top_cta#workflow-sprint-intake)** · **[Live Dashboard](https://thumbgate.ai/dashboard?utm_source=github&utm_medium=readme&utm_campaign=top_cta)**
393
554
 
394
555
  ---
395
556
 
396
557
  ## Integrations
397
558
 
398
- - **[Open ThumbGate GPT](https://thumbgate-production.up.railway.app/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=readme_gpt)** — ThumbGate GPT: start here. Paste agent actions, get advice + checkpointing. No, users do not have to keep chatting inside the ThumbGate GPT to use ThumbGate the hard enforcement layer still runs where the work happens.
559
+ - **[ChatGPT App / GPT Action](https://thumbgate.ai/chatgpt-app)** — First-class ChatGPT distribution page with the live GPT, public OpenAPI Action schema, and local enforcement install path
560
+ - **[Open ThumbGate GPT](https://thumbgate.ai/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=readme_gpt)** — ThumbGate GPT: start here. Paste agent actions, get advice + checkpointing. No, users do not have to keep chatting inside the ThumbGate GPT to use ThumbGate — the hard enforcement layer still runs where the work happens.
399
561
  - **[Claude Desktop Extension](https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-claude-desktop.mcpb)** — One-click install for Claude Desktop
400
- - **[Codex Plugin](https://thumbgate-production.up.railway.app/codex-plugin)** — Auto-updating standalone bundle and install page for Codex CLI
562
+ - **[Codex Plugin](https://thumbgate.ai/codex-plugin)** — Auto-updating standalone bundle and install page for Codex CLI
401
563
  - **[VS Code / Open VSX Extension](plugins/vscode-extension/README.md)** — Marketplace-ready MCP provider and `.vscode/mcp.json` fallback for VS Code-compatible IDEs
402
564
  - **[Antigravity-compatible VSIX](plugins/antigravity-extension/INSTALL.md)** — Open VSX/direct VSIX install path while Antigravity-specific marketplace support is still unproven
403
565
  - **[JetBrains Plugin Scaffold](plugins/jetbrains-plugin/README.md)** — IntelliJ/PyCharm Marketplace path for the same `thumbgate@latest` runtime
@@ -424,6 +586,30 @@ Free and self-hosted users can invoke `search_lessons` directly through MCP, and
424
586
 
425
587
  ---
426
588
 
589
+ ## Enterprise Data Chat and Optional Google Adapters
590
+
591
+ The Enterprise dashboard chat is local/open-source first: it answers over local ThumbGate data using lesson retrieval, LanceDB-backed vectors, and your configured LLM. Set `THUMBGATE_LOCAL_LLM_ENDPOINT` to an OpenAI-compatible local endpoint (Ollama, llama.cpp, vLLM, LM Studio, etc.) when you want generated answers without sending dashboard data to Google.
592
+
593
+ Google Cloud is an optional regulated-enterprise adapter, not a dashboard chatbot requirement. If a buyer already standardizes on Vertex AI or Dialogflow CX, ThumbGate can verify that posture and deploy guard adapters in their tenancy.
594
+
595
+ ### Optional Vertex Setup
596
+ To wire local ThumbGate scoring to Vertex AI, run:
597
+ ```bash
598
+ npx thumbgate setup-vertex
599
+ ```
600
+ * **Auto-Discovery:** Automatically detects your active authenticated `gcloud` session and active project ID.
601
+ * **Auto-Enablement:** Programmatically enables the Vertex AI API in your project.
602
+ * **Auto-Configuration:** Writes local Vertex routing settings to your `.env` file.
603
+
604
+ This command does **not** create or verify a live Dialogflow CX agent. Dialogflow is only relevant when a customer wants ThumbGate guard adapters in front of their own production DFCX agents. On current Google Cloud CLI installs, the old alpha gcloud CX command group is not available; verify Conversational Agents / Dialogflow CX with the Google Cloud console or the official Dialogflow CX REST API (`projects.locations.agents`) before claiming a live DFCX deployment.
605
+
606
+ ### Zero-Friction Cost Containment ($10/mo Hard Cap)
607
+ Google Cloud budget alerts are "alert-only" and do not stop API traffic, risking unexpected bill shock. ThumbGate completely resolves this on the client side:
608
+ * **Instant Shutdown:** ThumbGate maintains a lightweight, local token ledger and instantly halts outgoing API traffic the millisecond your monthly token spending approaches the **$10 limit** (500k tokens of Gemini 1.5 Flash).
609
+ * **Bypasses extra shutdown plumbing:** Requires no Pub/Sub or Cloud Functions for the local ThumbGate-side stop condition. You still need normal Google Cloud billing/API setup and live-agent verification for DFCX pilots.
610
+
611
+ ---
612
+
427
613
  ## FAQ
428
614
 
429
615
  **Is ThumbGate a model fine-tuning tool?**
@@ -436,17 +622,18 @@ Those are suggestions the agent can ignore. ThumbGate checks are enforced — th
436
622
  If it supports MCP or pre-action hooks, yes. Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode all work out of the box.
437
623
 
438
624
  **Is it free?**
439
- The free tier gives you unlimited feedback captures and up to 5 active auto-promoted prevention rules — generous enough for solo devs to use daily. MCP integrations ship free for every agent.
625
+ The free tier gives you 2 feedback captures/day, 10 total captures, and up to 3 active auto-promoted prevention rules — enough for solo devs to prove a blocked repeat before upgrading. MCP integrations ship free for every agent.
440
626
 
441
- Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recall, lesson search, and a personal dashboard. Team ($49/seat/mo) adds a shared hosted lesson DB, org dashboard, and shared enforcement.
627
+ Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recall, lesson search, and a personal dashboard. Enterprise (custom pricing, scoped after intake) adds a shared hosted lesson DB, org dashboard, and shared enforcement.
442
628
 
443
629
  ---
444
630
 
445
631
  ## Docs
446
632
 
447
- - [**ThumbGate for Federal Agencies**](docs/FEDERAL.md) — pilot-ready posture, NIST 800-53 control mapping, OMB M-24-10 / EO 14110 alignment, ThumbGate-Core gov deployment mode, public/Core boundary invariants. Landing page: [thumbgate.ai/federal](https://thumbgate-production.up.railway.app/federal).
633
+ - [**ThumbGate for Federal Agencies**](docs/FEDERAL.md) — pilot-ready posture, NIST 800-53 control mapping, OMB M-24-10 / EO 14110 alignment, ThumbGate-Core gov deployment mode, public/Core boundary invariants. Landing page: [thumbgate.ai/federal](https://thumbgate.ai/federal).
448
634
  - [First Dollar Playbook](docs/FIRST_DOLLAR_PLAYBOOK.md) — turning one painful workflow into the next booked pilot
449
635
  - [Commercial Truth](docs/COMMERCIAL_TRUTH.md) — pricing, claims, what we don't say
636
+ - [Goal Contracts](docs/GOAL_CONTRACTS.md) — evidence-before-done contracts for multi-agent handoffs
450
637
  - [Changeset Strategy](docs/CHANGESET_STRATEGY.md) — release notes and version bump enforcement
451
638
  - [Release Confidence](docs/RELEASE_CONFIDENCE.md) — changesets, version checks, proof lanes
452
639
  - [Verification Evidence](docs/VERIFICATION_EVIDENCE.md) — proof artifacts
@@ -454,10 +641,42 @@ Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recal
454
641
  - [Agent Workflow Contract](WORKFLOW.md) — the agent-run contract for all ThumbGate operations
455
642
  - [Ready for Agent Intake](https://github.com/IgorGanapolsky/ThumbGate/issues/new?template=ready-for-agent.yml) — ready-for-agent intake template
456
643
  - [SEO Guide: Claude Code Guardrails](docs/learn/claude-code-guardrails.md)
644
+ - [Unsupervised Learning Signals](docs/UL.md) — silent-failure clustering (**on by default** as of 2026-05-21; opt out via `THUMBGATE_SILENT_FAILURE_CLUSTERING=0`; only meaningfully active on workspaces with ≥ 50 tool calls/day)
457
645
  - [ThumbGate-Core](https://github.com/IgorGanapolsky/ThumbGate-Core) — private core for hosted overlays, ranking, policy synthesis, billing intelligence, and org/team workflows
458
646
 
459
647
  ---
460
648
 
649
+ ---
650
+
651
+ ## ThumbGate Pro — for Teams
652
+
653
+ ThumbGate is free and MIT-licensed forever. For teams that need more:
654
+
655
+ - **Team-wide enforcement policies** — apply rules across all agents and developers
656
+ - **Centralized feedback memory** — share prevention rules across your org
657
+ - **Budget monitoring** — track and cap agent spend per project
658
+ - **Priority support** — direct access, SLA, onboarding help
659
+
660
+ **$19/month · [Get started →](https://buy.stripe.com/4gM5kD9eA7DgdWh21R3sI3d)**
661
+
662
+ ---
663
+
664
+ ## Who builds ThumbGate — and hiring me
665
+
666
+ I'm **Igor Ganapolsky** — I designed and maintain ThumbGate. If you're shipping **payments, AI agents, or Android features** and want them built by someone demonstrably careful with production and with money, I take a small number of **freelance / contract** engagements.
667
+
668
+ ThumbGate is the receipt, not the pitch: it fails *closed* on dangerous agent actions and publishes a [threat model](THREAT_MODEL.md) stating exactly what it enforces and what it can't contain. Documenting where my own guardrails end is the standard I hold client work to.
669
+
670
+ - **Payments** — Stripe / Stripe Connect: destination charges, split payouts, escrow & milestone release, 3DS/SCA, idempotent webhooks, reconciliation.
671
+ - **Applied AI / agents** — tool-use guardrails, MCP servers, orchestration, and evaluation loops (the engineering behind this repo).
672
+ - **Android + backend** — native Android and the APIs behind it, shipped end-to-end.
673
+
674
+ **$120–150/hr, 1099 · remote, US timezones** → **[LinkedIn](https://www.linkedin.com/in/igor-ganapolsky-859317343/)** · **[thumbgate.ai](https://thumbgate.ai)**
675
+
676
+ > ThumbGate is free and MIT-licensed, and stays that way. If it saved you a costly mistake, the best thank-you is an intro to someone who needs an engineer who ships carefully.
677
+
678
+ ---
679
+
461
680
  ## License
462
681
 
463
682
  MIT. See [LICENSE](LICENSE).
@@ -72,6 +72,11 @@ components:
72
72
  description: Optional domain tags. If omitted, ThumbGate infers one from the feedback text before promotion.
73
73
  skill:
74
74
  type: string
75
+ source:
76
+ type: string
77
+ enum: [chatgpt_gpt]
78
+ default: chatgpt_gpt
79
+ description: Attribution marker for ThumbGate analytics. The published ThumbGate GPT should send `chatgpt_gpt` so owner dashboards can distinguish GPT Action calls from local API calls.
75
80
  IntentPlanRequest:
76
81
  type: object
77
82
  required: [intentId]
@@ -89,6 +94,8 @@ components:
89
94
  delegationMode:
90
95
  type: string
91
96
  enum: [off, auto, sequential]
97
+ enforcePlanQuality:
98
+ type: boolean
92
99
  approved:
93
100
  type: boolean
94
101
  repoPath:
@@ -880,6 +887,11 @@ paths:
880
887
  toolName:
881
888
  type: string
882
889
  description: Tool name is optional when provider-native tool call payload is supplied.
890
+ source:
891
+ type: string
892
+ enum: [chatgpt_gpt]
893
+ default: chatgpt_gpt
894
+ description: Attribution marker for ThumbGate analytics. The published ThumbGate GPT should send `chatgpt_gpt` so owner dashboards can distinguish GPT Action calls from local API calls.
883
895
  provider:
884
896
  type: string
885
897
  model:
@@ -2,13 +2,13 @@
2
2
  "mcpServers": {
3
3
  "thumbgate": {
4
4
  "command": "npx",
5
- "args": ["--yes", "--package", "thumbgate@1.20.0", "thumbgate", "serve"]
5
+ "args": ["--yes", "--package", "thumbgate@1.27.15", "thumbgate", "serve"]
6
6
  }
7
7
  },
8
8
  "hooks": {
9
9
  "preToolUse": {
10
10
  "command": "npx",
11
- "args": ["--yes", "--package", "thumbgate@1.20.0", "thumbgate", "gate-check"]
11
+ "args": ["--yes", "--package", "thumbgate@1.27.15", "thumbgate", "gate-check"]
12
12
  }
13
13
  }
14
14
  }
@@ -3,9 +3,9 @@
3
3
  # ~/.codex/config.json with the ThumbGate hooks and status line.
4
4
  [mcp_servers.thumbgate]
5
5
  command = "sh"
6
- args = ["-lc", "mkdir -p \"$HOME/.thumbgate/runtime\" && npm \"install\" \"--prefix\" \"$HOME/.thumbgate/runtime\" \"--no-save\" \"--omit=dev\" \"thumbgate@latest\" >/dev/null 2>&1 && exec \"$HOME/.thumbgate/runtime/node_modules/.bin/thumbgate\" \"serve\""]
6
+ args = ["-lc", "[ -x \"$HOME/.thumbgate/runtime/node_modules/.bin/thumbgate\" ] && exec \"$HOME/.thumbgate/runtime/node_modules/.bin/thumbgate\" \"serve\" || mkdir -p \"$HOME/.thumbgate/runtime\" && exec npm \"exec\" \"--prefix\" \"$HOME/.thumbgate/runtime\" \"--yes\" \"--package\" \"thumbgate@latest\" \"--\" \"thumbgate\" \"serve\""]
7
7
 
8
8
  # Hard PreToolUse hook for Codex
9
9
  [hooks.pre_tool_use]
10
10
  command = "sh"
11
- args = ["-lc", "mkdir -p \"$HOME/.thumbgate/runtime\" && npm \"install\" \"--prefix\" \"$HOME/.thumbgate/runtime\" \"--no-save\" \"--omit=dev\" \"thumbgate@latest\" >/dev/null 2>&1 && exec \"$HOME/.thumbgate/runtime/node_modules/.bin/thumbgate\" \"gate-check\""]
11
+ args = ["-lc", "[ -x \"$HOME/.thumbgate/runtime/node_modules/.bin/thumbgate\" ] && exec \"$HOME/.thumbgate/runtime/node_modules/.bin/thumbgate\" \"gate-check\" || mkdir -p \"$HOME/.thumbgate/runtime\" && exec npm \"exec\" \"--prefix\" \"$HOME/.thumbgate/runtime\" \"--yes\" \"--package\" \"thumbgate@latest\" \"--\" \"thumbgate\" \"gate-check\""]
@@ -133,6 +133,7 @@
133
133
  "context": { "type": "string" },
134
134
  "mcpProfile": { "type": "string" },
135
135
  "bundleId": { "type": "string" },
136
+ "enforcePlanQuality": { "type": "boolean" },
136
137
  "approved": { "type": "boolean" }
137
138
  },
138
139
  "required": ["intentId"]