thumbgate 1.27.8 → 1.27.9

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 (112) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.well-known/llms.txt +1 -2
  3. package/.well-known/mcp/server-card.json +1 -1
  4. package/README.md +0 -2
  5. package/adapters/claude/.mcp.json +2 -2
  6. package/adapters/mcp/server-stdio.js +1 -1
  7. package/adapters/opencode/opencode.json +1 -1
  8. package/bin/cli.js +259 -78
  9. package/package.json +12 -19
  10. package/public/blog.html +30 -0
  11. package/public/compare/adopt-ai.html +219 -0
  12. package/public/compare/agentix-labs.html +197 -0
  13. package/public/compare/ai-experience-orchestration.html +216 -0
  14. package/public/compare/anthropic-claude-for-legal.html +260 -0
  15. package/public/compare/anthropic-containment.html +280 -0
  16. package/public/compare/arcade.html +175 -0
  17. package/public/compare/arcjet.html +239 -0
  18. package/public/compare/bumblebee.html +307 -0
  19. package/public/compare/claude-code-hooks.html +294 -0
  20. package/public/compare/databricks-unity-ai-gateway.html +215 -0
  21. package/public/compare/fallow.html +351 -0
  22. package/public/compare/heidi.html +233 -0
  23. package/public/compare/mem0.html +342 -0
  24. package/public/compare/oak-and-sparrow-gatekeeper.html +289 -0
  25. package/public/compare/rein.html +236 -0
  26. package/public/compare/sigmashake.html +256 -0
  27. package/public/compare/speclock.html +342 -0
  28. package/public/compare.html +2 -0
  29. package/public/guides/agent-harness-optimization.html +342 -0
  30. package/public/guides/agentic-web-governance.html +406 -0
  31. package/public/guides/ai-agent-governance-sprint.html +415 -0
  32. package/public/guides/ai-agent-pre-action-approval-gates.html +401 -0
  33. package/public/guides/ai-agent-workflow-migration-checklist.html +392 -0
  34. package/public/guides/ai-deployment-readiness.html +415 -0
  35. package/public/guides/ai-mode-ads-agent-governance.html +401 -0
  36. package/public/guides/ai-search-topical-presence.html +342 -0
  37. package/public/guides/autoresearch-agent-safety.html +342 -0
  38. package/public/guides/background-agent-governance.html +358 -0
  39. package/public/guides/best-tools-stop-ai-agents-breaking-production.html +363 -0
  40. package/public/guides/browser-automation-safety.html +342 -0
  41. package/public/guides/chatgpt-ads-trust.html +353 -0
  42. package/public/guides/claude-code-feedback.html +339 -0
  43. package/public/guides/claude-code-prevent-repeated-mistakes.html +161 -0
  44. package/public/guides/claude-code-skills-guardrails.html +343 -0
  45. package/public/guides/claude-desktop.html +356 -0
  46. package/public/guides/code-knowledge-graph-guardrails.html +365 -0
  47. package/public/guides/codex-cli-guardrails.html +339 -0
  48. package/public/guides/cursor-agent-guardrails.html +339 -0
  49. package/public/guides/cursor-prevent-repeated-mistakes.html +161 -0
  50. package/public/guides/database-agent-safety.html +406 -0
  51. package/public/guides/deepseek-v4-runtime-guardrails.html +346 -0
  52. package/public/guides/developer-machine-supply-chain-guardrails.html +358 -0
  53. package/public/guides/gcp-mcp-guardrails.html +147 -0
  54. package/public/guides/gemini-cli-feedback-memory.html +339 -0
  55. package/public/guides/gpt-5-5-model-evaluation.html +358 -0
  56. package/public/guides/internal-ai-engineering-stack-guardrails.html +348 -0
  57. package/public/guides/long-running-agent-context-management.html +346 -0
  58. package/public/guides/mcp-tool-governance.html +401 -0
  59. package/public/guides/multica-thumbgate-setup.html +134 -0
  60. package/public/guides/native-messaging-host-security.html +342 -0
  61. package/public/guides/policy-engine-pre-action-gates.html +346 -0
  62. package/public/guides/pre-action-checks.html +342 -0
  63. package/public/guides/pretooluse-hooks-vs-advisory-prompt-rules.html +342 -0
  64. package/public/guides/prompt-tricks-to-workflow-rules.html +365 -0
  65. package/public/guides/proxy-pointer-rag-guardrails.html +352 -0
  66. package/public/guides/rag-precision-tuning-guardrails.html +352 -0
  67. package/public/guides/reasoning-compression-guardrails.html +346 -0
  68. package/public/guides/relational-knowledge-ai-recommendations.html +342 -0
  69. package/public/guides/roo-code-alternative-cline.html +339 -0
  70. package/public/guides/semantic-programmatic-seo-guardrails.html +352 -0
  71. package/public/guides/seo-agent-skills-guardrails.html +344 -0
  72. package/public/guides/stop-repeated-ai-agent-mistakes.html +342 -0
  73. package/public/index.html +12 -50
  74. package/public/learn/ac-dc-runtime-enforcement.html +277 -0
  75. package/public/learn/agent-harness-pattern.html +181 -0
  76. package/public/learn/agent-swarms-shared-gates.html +173 -0
  77. package/public/learn/agentic-enterprise-context-brain.html +117 -0
  78. package/public/learn/agentic-os-team-governance.html +146 -0
  79. package/public/learn/ai-agent-governance.html +158 -0
  80. package/public/learn/ai-agent-persistent-memory.html +211 -0
  81. package/public/learn/background-agent-control-layer.html +184 -0
  82. package/public/learn/claude-code-goal-with-rubrics.html +205 -0
  83. package/public/learn/codex-role-plugins-need-governance.html +125 -0
  84. package/public/learn/cost-aware-agent-gate-routing.html +173 -0
  85. package/public/learn/databricks-unity-ai-gateway-runtime-governance.html +157 -0
  86. package/public/learn/deterministic-agent-workflows.html +185 -0
  87. package/public/learn/feedback-loop-vs-decision-layer.html +283 -0
  88. package/public/learn/from-prototype-to-production.html +223 -0
  89. package/public/learn/learn.css +51 -0
  90. package/public/learn/mcp-pre-action-checks-explained.html +172 -0
  91. package/public/learn/pretix-stripe-connect-marketplaces.html +161 -0
  92. package/public/learn/regulated-agent-execution-boundary.html +196 -0
  93. package/public/learn/spec-driven-development.html +168 -0
  94. package/public/learn/stop-ai-agent-force-push.html +134 -0
  95. package/public/learn/vibe-coding-safety-net.html +142 -0
  96. package/public/learn.html +6 -50
  97. package/public/numbers.html +2 -2
  98. package/public/pro.html +6 -6
  99. package/scripts/cli-schema.js +10 -22
  100. package/scripts/dashboard-chat.js +1 -2
  101. package/scripts/document-intake.js +49 -1
  102. package/scripts/gemini-embedding-policy.js +1 -2
  103. package/scripts/hosted-config.js +12 -0
  104. package/scripts/plausible-domain-config.js +1 -3
  105. package/scripts/reddit-browser-notification-watch.js +230 -0
  106. package/scripts/seo-gsd.js +0 -239
  107. package/scripts/vector-store.js +0 -44
  108. package/scripts/workspace-evolver.js +2 -62
  109. package/src/api/server.js +124 -335
  110. package/adapters/policy-engine/ethicore-guardian-client.js +0 -68
  111. package/adapters/policy-engine/thumbgate-policy-engine-adapter.js +0 -260
  112. package/scripts/hook-stop-anti-claim.js +0 -227
@@ -0,0 +1,352 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Proxy-Pointer RAG Guardrails | Multimodal Answers Without Ungrounded Images</title>
7
+ <meta name="description" content="Proxy-pointer RAG keeps visual document systems cheaper by preserving section trees and image pointers instead of embedding every image. ThumbGate turns that..." />
8
+ <meta property="og:title" content="Proxy-Pointer RAG Guardrails | Multimodal Answers Without Ungrounded Images" />
9
+ <meta property="og:description" content="Proxy-pointer RAG keeps visual document systems cheaper by preserving section trees and image pointers instead of embedding every image. ThumbGate turns that..." />
10
+ <meta property="og:type" content="article" />
11
+ <meta property="og:url" content="https://thumbgate.ai/guides/proxy-pointer-rag-guardrails" />
12
+ <link rel="canonical" href="https://thumbgate.ai/guides/proxy-pointer-rag-guardrails" />
13
+ <link rel="llm-context" href="/llm-context.md" type="text/markdown" />
14
+ <link rel="icon" type="image/svg+xml" href="/thumbgate-icon.png" />
15
+ <link rel="apple-touch-icon" href="/assets/brand/thumbgate-mark.svg" />
16
+ <meta property="og:image" content="/og.png" />
17
+ <style>
18
+ :root {
19
+ --bg: #0a0a0b;
20
+ --bg-raised: #111113;
21
+ --bg-card: #161618;
22
+ --line: #222225;
23
+ --text: #e8e8ec;
24
+ --muted: #8b8b96;
25
+ --cyan: #22d3ee;
26
+ --green: #4ade80;
27
+ --red: #f87171;
28
+ }
29
+ * { box-sizing: border-box; }
30
+ body {
31
+ margin: 0;
32
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
33
+ background: var(--bg);
34
+ color: var(--text);
35
+ line-height: 1.65;
36
+ }
37
+ a { color: var(--cyan); text-decoration: none; }
38
+ a:hover { text-decoration: underline; }
39
+ .container { max-width: 980px; margin: 0 auto; padding: 0 24px; }
40
+ .topbar {
41
+ position: sticky;
42
+ top: 0;
43
+ z-index: 20;
44
+ backdrop-filter: blur(12px);
45
+ background: rgba(10, 10, 11, 0.88);
46
+ border-bottom: 1px solid var(--line);
47
+ }
48
+ .topbar .container {
49
+ display: flex;
50
+ justify-content: space-between;
51
+ align-items: center;
52
+ padding-top: 14px;
53
+ padding-bottom: 14px;
54
+ }
55
+ .brand {
56
+ font-weight: 700;
57
+ color: var(--text);
58
+ display: inline-flex;
59
+ align-items: center;
60
+ gap: 8px;
61
+ text-decoration: none;
62
+ }
63
+ .brand .logo-mark { width: 28px; height: 28px; display: block; }
64
+ .hero { padding: 72px 0 32px; }
65
+ .eyebrow {
66
+ display: inline-flex;
67
+ align-items: center;
68
+ gap: 8px;
69
+ padding: 6px 12px;
70
+ border-radius: 999px;
71
+ border: 1px solid rgba(34, 211, 238, 0.22);
72
+ background: rgba(34, 211, 238, 0.1);
73
+ color: var(--cyan);
74
+ text-transform: uppercase;
75
+ letter-spacing: 0.08em;
76
+ font-size: 12px;
77
+ font-weight: 700;
78
+ }
79
+ h1 {
80
+ font-size: clamp(34px, 5vw, 56px);
81
+ line-height: 1.06;
82
+ letter-spacing: -0.04em;
83
+ margin: 16px 0;
84
+ max-width: 760px;
85
+ }
86
+ .hero p {
87
+ max-width: 720px;
88
+ color: var(--muted);
89
+ font-size: 18px;
90
+ }
91
+ .signal-row {
92
+ display: flex;
93
+ flex-wrap: wrap;
94
+ gap: 12px;
95
+ margin: 28px 0 0;
96
+ }
97
+ .signal-pill {
98
+ display: inline-flex;
99
+ align-items: center;
100
+ gap: 8px;
101
+ padding: 10px 14px;
102
+ border-radius: 999px;
103
+ border: 1px solid var(--line);
104
+ background: var(--bg-raised);
105
+ font-weight: 600;
106
+ font-size: 14px;
107
+ }
108
+ .signal-pill.up {
109
+ border-color: rgba(74, 222, 128, 0.28);
110
+ color: #b8f7c8;
111
+ background: rgba(74, 222, 128, 0.1);
112
+ }
113
+ .signal-pill.down {
114
+ border-color: rgba(248, 113, 113, 0.28);
115
+ color: #ffc0c0;
116
+ background: rgba(248, 113, 113, 0.1);
117
+ }
118
+ .grid {
119
+ display: grid;
120
+ grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
121
+ gap: 24px;
122
+ padding-bottom: 72px;
123
+ }
124
+ .card, .detail-section, .sidebar-card {
125
+ background: var(--bg-card);
126
+ border: 1px solid var(--line);
127
+ border-radius: 16px;
128
+ }
129
+ .card { padding: 24px; }
130
+ .detail-section { padding: 24px; margin-bottom: 18px; }
131
+ .detail-section h2 { margin: 0 0 12px; font-size: 24px; letter-spacing: -0.03em; }
132
+ .detail-section p { color: var(--muted); }
133
+ .detail-section ul, .card ul { padding-left: 18px; color: var(--muted); }
134
+ .card h2 { margin-top: 0; }
135
+ .sidebar {
136
+ display: flex;
137
+ flex-direction: column;
138
+ gap: 18px;
139
+ }
140
+ .sidebar-card {
141
+ padding: 20px;
142
+ }
143
+ /* Only the first sidebar card sticks. Stacking multiple stickies at the
144
+ same top offset makes them overlap each other on scroll. The related-
145
+ pages card flows normally below. */
146
+ .sidebar-card:first-child {
147
+ position: sticky;
148
+ top: 84px;
149
+ max-height: calc(100vh - 104px);
150
+ overflow-y: auto;
151
+ -webkit-overflow-scrolling: touch;
152
+ }
153
+ .proof-links {
154
+ display: flex;
155
+ flex-wrap: wrap;
156
+ gap: 12px;
157
+ margin-top: 16px;
158
+ }
159
+ .cta-button {
160
+ display: inline-flex;
161
+ align-items: center;
162
+ justify-content: center;
163
+ margin-top: 18px;
164
+ padding: 12px 16px;
165
+ border-radius: 10px;
166
+ background: var(--cyan);
167
+ color: #071116;
168
+ font-weight: 700;
169
+ text-decoration: none;
170
+ }
171
+ .faq-item {
172
+ border-top: 1px solid var(--line);
173
+ padding: 14px 0;
174
+ }
175
+ .faq-item summary {
176
+ cursor: pointer;
177
+ font-weight: 600;
178
+ }
179
+ .faq-item p {
180
+ color: var(--muted);
181
+ }
182
+ .related-card {
183
+ display: block;
184
+ padding: 14px;
185
+ border-radius: 12px;
186
+ border: 1px solid var(--line);
187
+ background: var(--bg-raised);
188
+ margin-top: 12px;
189
+ color: var(--text);
190
+ }
191
+ .related-label {
192
+ display: block;
193
+ color: var(--muted);
194
+ font-size: 12px;
195
+ text-transform: uppercase;
196
+ letter-spacing: 0.08em;
197
+ margin-bottom: 4px;
198
+ }
199
+ @media (max-width: 860px) {
200
+ .grid {
201
+ grid-template-columns: 1fr;
202
+ }
203
+ .sidebar-card:first-child {
204
+ position: static;
205
+ max-height: none;
206
+ overflow: visible;
207
+ }
208
+ }
209
+ </style>
210
+ <script type="application/ld+json">
211
+ {
212
+ "@context": "https://schema.org",
213
+ "@type": "TechArticle",
214
+ "headline": "Proxy-Pointer RAG Needs Guardrails Before Visual Answers",
215
+ "description": "Proxy-pointer RAG keeps visual document systems cheaper by preserving section trees and image pointers instead of embedding every image. ThumbGate turns that...",
216
+ "about": [
217
+ "proxy pointer rag guardrails",
218
+ "rag precision tuning guardrails"
219
+ ],
220
+ "url": "https://thumbgate.ai/guides/proxy-pointer-rag-guardrails",
221
+ "publisher": {
222
+ "@type": "Organization",
223
+ "name": "ThumbGate",
224
+ "url": "https://thumbgate.ai"
225
+ },
226
+ "mainEntityOfPage": "https://thumbgate.ai/guides/proxy-pointer-rag-guardrails"
227
+ }
228
+ </script>
229
+ <script type="application/ld+json">
230
+ {
231
+ "@context": "https://schema.org",
232
+ "@type": "FAQPage",
233
+ "mainEntity": [
234
+ {
235
+ "@type": "Question",
236
+ "name": "Does ThumbGate replace multimodal embeddings?",
237
+ "acceptedAnswer": {
238
+ "@type": "Answer",
239
+ "text": "No. ThumbGate enforces the structure around the retrieval and answer step. Teams can still use text embeddings, multimodal embeddings, or proxy-pointer RAG; ThumbGate checks whether the answer is grounded before the agent acts."
240
+ }
241
+ },
242
+ {
243
+ "@type": "Question",
244
+ "name": "What should teams gate first in visual document RAG?",
245
+ "acceptedAnswer": {
246
+ "@type": "Answer",
247
+ "text": "Start with section-tree presence, image pointer grounding, and cross-document leakage. Those checks are specific enough to enforce quickly and risky enough to matter."
248
+ }
249
+ }
250
+ ]
251
+ }
252
+ </script>
253
+ </head>
254
+ <body>
255
+ <div class="topbar">
256
+ <div class="container">
257
+ <a class="brand" href="/"><img src="/assets/brand/thumbgate-mark-inline.svg" alt="ThumbGate" class="logo-mark" width="28" height="28"><span class="logo-text">ThumbGate</span></a>
258
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a>
259
+ </div>
260
+ </div>
261
+
262
+ <main class="container">
263
+ <section class="hero">
264
+ <div class="eyebrow">guide | proxy pointer rag guardrails</div>
265
+ <h1>Proxy-Pointer RAG Needs Guardrails Before Visual Answers</h1>
266
+ <p>Proxy-pointer RAG keeps visual document systems cheaper by preserving section trees and image pointers instead of embedding every image. ThumbGate turns that structure into pre-action checks before agents answer with charts, figures, or screenshots.</p>
267
+ <div class="signal-row">
268
+ <div class="signal-pill up">👍 Thumbs up reinforces good behavior</div>
269
+ <div class="signal-pill down">👎 Thumbs down blocks repeated mistakes</div>
270
+ </div>
271
+ </section>
272
+
273
+ <section class="grid">
274
+ <div>
275
+ <div class="card">
276
+ <h2>Why this page exists</h2>
277
+ <ul><li>Document structure is a control surface: section trees, source document IDs, and image paths should travel with every answer.</li><li>Visual answers need pointer grounding so one plausible chart from the wrong PDF cannot slip into a buyer-facing response.</li><li>ThumbGate now maps proxy-pointer RAG signals to Document RAG Safety templates through npx thumbgate proxy-pointer-rag-guardrails.</li></ul>
278
+ </div>
279
+
280
+ <section class="detail-section">
281
+ <h2>Why this helps ThumbGate</h2>
282
+ <p>The commercial wedge is clear: teams want cheaper multimodal answers, but they still need proof that the visual evidence came from the right document and section.</p><p>ThumbGate does not replace multimodal embeddings. It governs the answer boundary: did the agent preserve the section tree, attach image pointers, prevent cross-document leakage, and sanity-check high-impact visual claims?</p>
283
+
284
+ </section>
285
+ <section class="detail-section">
286
+ <h2>High-ROI gates to enable</h2>
287
+
288
+ <ul><li>Require section tree before multimodal answers so visual claims stay attached to document hierarchy.</li><li>Require image pointer grounding for every cited chart, figure, or screenshot path.</li><li>Block cross-document image leakage when the selected visual belongs to a different source document.</li><li>Checkpoint a vision filter only when the answer makes high-impact visual claims.</li><li>CLI path: npx thumbgate proxy-pointer-rag-guardrails --tree-path=.rag/tree.json --image-pointers=paper-1/figures/fig2.png --documents=paper-1 --visual-claims --json.</li></ul>
289
+ </section>
290
+ <section class="detail-section">
291
+ <h2>Where this creates revenue</h2>
292
+ <p>This gives ThumbGate a new RAG/document-AI buyer path without pretending to be a vector database. The offer is workflow hardening for one document-answering pipeline: ingestion metadata, pointer proof, answer gates, and evidence review.</p>
293
+
294
+ </section>
295
+ <div class="detail-section">
296
+ <h2>FAQ</h2>
297
+
298
+ <details class="faq-item">
299
+ <summary>Does ThumbGate replace multimodal embeddings?</summary>
300
+ <p>No. ThumbGate enforces the structure around the retrieval and answer step. Teams can still use text embeddings, multimodal embeddings, or proxy-pointer RAG; ThumbGate checks whether the answer is grounded before the agent acts.</p>
301
+ </details>
302
+ <details class="faq-item">
303
+ <summary>What should teams gate first in visual document RAG?</summary>
304
+ <p>Start with section-tree presence, image pointer grounding, and cross-document leakage. Those checks are specific enough to enforce quickly and risky enough to matter.</p>
305
+ </details>
306
+ </div>
307
+ </div>
308
+
309
+ <aside class="sidebar">
310
+
311
+ <div class="sidebar-card">
312
+ <h2>Document RAG Safety gates</h2>
313
+ <ul>
314
+ <li>Retrieval baseline before tuning</li>
315
+ <li>Two-stage verifier for structural near misses</li>
316
+ <li>Section tree and image pointer grounding</li>
317
+ <li>Latency budget before verifier rollout</li>
318
+ </ul>
319
+ </div>
320
+
321
+
322
+ <div class="sidebar-card">
323
+ <h2>GSD execution brief</h2>
324
+ <p>This page was prioritized because it captures high-intent demand around proxy pointer rag guardrails and feeds directly into ThumbGate's proof-led conversion path.</p>
325
+ <p><strong>Opportunity score:</strong> 83</p>
326
+ <p><strong>Primary persona:</strong> rag-engineer</p>
327
+ <p><strong>Keyword cluster:</strong> proxy pointer rag guardrails, rag precision tuning guardrails</p>
328
+ <p><strong>Pricing:</strong> Pro $19/mo or $149/yr. Team $49/seat/mo.</p>
329
+ <div class="proof-links"><a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a><a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/proof/automation/report.json" target="_blank" rel="noopener">Automation proof</a><a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub repository</a></div>
330
+ <a class="cta-button" href="/checkout/pro?utm_source=website&amp;utm_medium=seo_page&amp;utm_campaign=guides_proxy-pointer-rag-guardrails&amp;cta_placement=seo_brief&amp;plan_id=pro" target="_blank" rel="noopener">Go Pro — $19/mo</a>
331
+ </div>
332
+ <div class="sidebar-card">
333
+ <h2>Related pages</h2>
334
+
335
+ <a class="related-card" href="/guides/rag-precision-tuning-guardrails">
336
+ <span class="related-label">Related page</span>
337
+ <strong>RAG Precision Tuning Can Break Agentic Pipelines Quietly</strong>
338
+ </a>
339
+ <a class="related-card" href="/guides/code-knowledge-graph-guardrails">
340
+ <span class="related-label">Related page</span>
341
+ <strong>Code Graphs Are Context. ThumbGate Is Execution Control.</strong>
342
+ </a>
343
+ <a class="related-card" href="/guides/pre-action-checks">
344
+ <span class="related-label">Related page</span>
345
+ <strong>What Are Pre-Action Checks?</strong>
346
+ </a>
347
+ </div>
348
+ </aside>
349
+ </section>
350
+ </main>
351
+ </body>
352
+ </html>