thumbgate 1.27.4 → 1.27.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/dashboard.md +15 -0
- package/.claude/commands/thumbgate-blocked.md +27 -0
- package/.claude/commands/thumbgate-dashboard.md +15 -0
- package/.claude/commands/thumbgate-doctor.md +30 -0
- package/.claude/commands/thumbgate-guard.md +36 -0
- package/.claude/commands/thumbgate-protect.md +30 -0
- package/.claude/commands/thumbgate-rules.md +30 -0
- package/.claude-plugin/plugin.json +2 -1
- package/.well-known/llms.txt +6 -2
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +49 -5
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/letta/README.md +41 -0
- package/adapters/letta/thumbgate-letta-adapter.js +133 -0
- package/adapters/mcp/server-stdio.js +16 -1
- package/adapters/opencode/opencode.json +1 -1
- package/adapters/policy-engine/ethicore-guardian-client.js +68 -0
- package/adapters/policy-engine/thumbgate-policy-engine-adapter.js +260 -0
- package/bench/observability-eval-suite.json +26 -0
- package/bin/cli.js +230 -6
- package/bin/postinstall.js +1 -1
- package/commands/dashboard.md +15 -0
- package/commands/thumbgate-dashboard.md +15 -0
- package/config/gate-templates.json +84 -0
- package/config/gates/claim-verification.json +12 -0
- package/config/gates/default.json +20 -0
- package/config/github-about.json +1 -1
- package/config/model-candidates.json +50 -0
- package/config/post-deploy-marketing-pages.json +5 -0
- package/package.json +67 -25
- package/public/agent-manager.html +41 -1
- package/public/agents-cost-savings.html +1 -1
- package/public/ai-malpractice-prevention.html +2 -1
- package/public/assets/brand/github-social-preview.png +0 -0
- package/public/assets/brand/thumbgate-icon-512.png +0 -0
- package/public/assets/brand/thumbgate-icon-pro-512.png +0 -0
- package/public/assets/brand/thumbgate-icon-team-512.png +0 -0
- package/public/assets/brand/thumbgate-logo-1200x360.png +0 -0
- package/public/assets/brand/thumbgate-mark-inline.svg +15 -0
- package/public/assets/brand/thumbgate-mark-pro.svg +23 -0
- package/public/assets/brand/thumbgate-mark-team.svg +26 -0
- package/public/assets/brand/thumbgate-mark.svg +15 -0
- package/public/assets/brand/thumbgate-wordmark.svg +20 -0
- package/public/assets/claude-thumbgate-statusbar.svg +8 -0
- package/public/assets/codex-thumbgate-statusbar-test.svg +9 -0
- package/public/assets/legal-intake-control-flow.svg +66 -0
- package/public/blog.html +1 -1
- package/public/brand/thumbgate-mark.svg +15 -0
- package/public/brand/thumbgate-og.svg +16 -0
- package/public/codex-enterprise.html +1 -1
- package/public/codex-plugin.html +1 -1
- package/public/compare.html +23 -3
- package/public/dashboard.html +316 -30
- package/public/federal.html +1 -1
- package/public/guide.html +5 -4
- package/public/index.html +167 -49
- package/public/js/buyer-intent.js +672 -0
- package/public/learn.html +88 -7
- package/public/lessons.html +2 -1
- package/public/numbers.html +3 -3
- package/public/pricing.html +63 -15
- package/public/pro.html +7 -7
- package/scripts/activation-quickstart.js +187 -0
- package/scripts/agent-memory-lifecycle.js +211 -0
- package/scripts/async-eval-observability.js +236 -0
- package/scripts/auto-promote-gates.js +75 -4
- package/scripts/billing.js +12 -1
- package/scripts/build-metadata.js +24 -3
- package/scripts/cli-schema.js +42 -10
- package/scripts/dashboard-chat.js +53 -7
- package/scripts/dashboard.js +12 -17
- package/scripts/export-databricks-bundle.js +5 -1
- package/scripts/export-dpo-pairs.js +7 -2
- package/scripts/feedback-aggregate.js +281 -0
- package/scripts/feedback-loop.js +121 -0
- package/scripts/filesystem-search.js +35 -10
- package/scripts/gates-engine.js +234 -7
- package/scripts/gemini-embedding-policy.js +2 -1
- package/scripts/hook-stop-anti-claim.js +227 -0
- package/scripts/hook-thumbgate-cache-updater.js +18 -2
- package/scripts/hybrid-feedback-context.js +1 -0
- package/scripts/lesson-inference.js +8 -3
- package/scripts/lesson-search.js +17 -1
- package/scripts/operational-integrity.js +39 -5
- package/scripts/plausible-domain-config.js +15 -2
- package/scripts/plausible-server-events.js +4 -4
- package/scripts/rate-limiter.js +12 -6
- package/scripts/secret-redaction.js +166 -0
- package/scripts/security-scanner.js +100 -0
- package/scripts/self-distill-agent.js +3 -1
- package/scripts/self-harness-optimizer.js +141 -0
- package/scripts/seo-gsd.js +635 -0
- package/scripts/statusline-cache-path.js +17 -2
- package/scripts/statusline-cache-read.js +57 -0
- package/scripts/statusline-local-stats.js +9 -1
- package/scripts/statusline-meta.js +5 -2
- package/scripts/statusline.sh +13 -1
- package/scripts/sync-telemetry-from-prod.js +374 -0
- package/scripts/telemetry-analytics.js +9 -0
- package/scripts/thumbgate-search.js +85 -19
- package/scripts/tool-contract-validator.js +76 -0
- package/scripts/vector-store.js +44 -0
- package/scripts/workspace-evolver.js +62 -2
- package/src/api/server.js +862 -146
package/bin/postinstall.js
CHANGED
|
@@ -31,7 +31,7 @@ process.stderr.write(`
|
|
|
31
31
|
│ Start now: npx thumbgate init │
|
|
32
32
|
│ Updates: npx thumbgate subscribe you@company.com│
|
|
33
33
|
│ │
|
|
34
|
-
│ Free after trial: 3 rules,
|
|
34
|
+
│ Free after trial: 3 rules, 2 captures/day. │
|
|
35
35
|
│ Pro ($19/mo): unlimited everything. │
|
|
36
36
|
╰─────────────────────────────────────────────────────╯
|
|
37
37
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dashboard
|
|
3
|
+
description: Open the local HTTP dashboard for the current project in your web browser.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Open Dashboard
|
|
7
|
+
|
|
8
|
+
Open the local HTTP dashboard for the current project in your web browser.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
Execute the following command in the project directory to open the browser dashboard scoped to the current repository:
|
|
12
|
+
```bash
|
|
13
|
+
thumbgate-dashboard
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: thumbgate-dashboard
|
|
3
|
+
description: Open the local HTTP dashboard for the current project in your web browser.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Open Scoped ThumbGate Dashboard
|
|
7
|
+
|
|
8
|
+
Open the local HTTP dashboard for the current project in your web browser.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
Execute the following command in the project directory to open the browser dashboard:
|
|
12
|
+
```bash
|
|
13
|
+
thumbgate-dashboard
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -157,6 +157,18 @@
|
|
|
157
157
|
"roi": "Connects prevention with remediation: what credential lived where, who touched it, and whether rotation is required.",
|
|
158
158
|
"rollout": "Use with incident-response runbooks and secrets scanner output from GitGuardian or internal tooling."
|
|
159
159
|
},
|
|
160
|
+
{
|
|
161
|
+
"id": "require-local-dependency-vulnerability-scan",
|
|
162
|
+
"name": "Require local dependency vulnerability scan before installation",
|
|
163
|
+
"category": "Supply Chain Safety",
|
|
164
|
+
"signal": "👎",
|
|
165
|
+
"defaultAction": "block",
|
|
166
|
+
"severity": "high",
|
|
167
|
+
"pattern": "(npm install|pnpm add|yarn add|bun add|npm i|pnpm i|yarn i).*(vulnerable|cve|high|critical|osv|cve-lite)",
|
|
168
|
+
"problem": "Blocks package installations that introduce dependencies containing known high-severity or critical vulnerabilities (CVEs) before they are written to the lockfile.",
|
|
169
|
+
"roi": "Prevents AI agents from introducing vulnerable packages into the workspace. Complements zero-egress local-first scanning toolings (like OWASP CVE Lite CLI) directly at the terminal level.",
|
|
170
|
+
"rollout": "Enable on every repo where agents can install dependencies or modify lockfiles."
|
|
171
|
+
},
|
|
160
172
|
{
|
|
161
173
|
"id": "require-section-tree-before-multimodal-answer",
|
|
162
174
|
"name": "Require section tree before multimodal answers",
|
|
@@ -576,6 +588,78 @@
|
|
|
576
588
|
"problem": "Claw agents have broad device-level (local/shared) file system access. Must be strictly gated, especially in on-prem/air-gapped enterprise environments where most data lives.",
|
|
577
589
|
"roi": "Directly supports the hybrid/on-prem reality emphasized in EnterpriseClaw coverage. Prevents broad access from becoming broad exfil or corruption. Ties to ThumbGate's existing path globs and protected files.",
|
|
578
590
|
"rollout": "Use existing protected-paths + new claw-specific rules. Start with read-only for most, explicit approval for writes on sensitive dirs."
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
"id": "block-unauthorized-multi-channel-posts",
|
|
594
|
+
"name": "Block unauthorized multi-channel posts by Hermes Agent",
|
|
595
|
+
"category": "Nous Research Hermes Agent Governance",
|
|
596
|
+
"signal": "👎",
|
|
597
|
+
"defaultAction": "block",
|
|
598
|
+
"severity": "high",
|
|
599
|
+
"pattern": "(slack|telegram|discord|signal|whatsapp|send_message|post_message|channel_post).*(credentials|api_key|token|auth|password|unreviewed|unapproved)",
|
|
600
|
+
"problem": "Hermes Agent can post directly to messaging platforms. This gate prevents leaked credentials or unapproved messages from being posted publicly.",
|
|
601
|
+
"roi": "High: Prevents public-facing compliance violations, credential leaks, and messaging spam across Telegram, Slack, and Discord.",
|
|
602
|
+
"rollout": "Enable by default for agents connected to external communication channels."
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"id": "prevent-infinite-skill-synthesis-loops",
|
|
606
|
+
"name": "Prevent infinite skill synthesis loops",
|
|
607
|
+
"category": "Nous Research Hermes Agent Governance",
|
|
608
|
+
"signal": "👎",
|
|
609
|
+
"defaultAction": "block",
|
|
610
|
+
"severity": "medium",
|
|
611
|
+
"pattern": "(hermes|skill synthesis|write skill|synthesize skill|evolve skill|self-improve).*(loop|repeated|stuck|regenerate|no progress)",
|
|
612
|
+
"problem": "Hermes Agent can get stuck repeatedly rewriting or generating the same skills in Markdown format without resolving the user's core task.",
|
|
613
|
+
"roi": "Reduces token burn and infinite loop execution loops by gating repeated skill write attempts.",
|
|
614
|
+
"rollout": "Warn/block when skill edits occur more than 3 times within the same session context."
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"id": "validate-synthesized-skills-against-rules",
|
|
618
|
+
"name": "Validate synthesized skills against prevention rules",
|
|
619
|
+
"category": "Nous Research Hermes Agent Governance",
|
|
620
|
+
"signal": "👎",
|
|
621
|
+
"defaultAction": "block",
|
|
622
|
+
"severity": "critical",
|
|
623
|
+
"pattern": "(write skill|synthesize skill|create skill|update skill).*(override|bypass|ignore|violate).*(prevention rule|gate|thumbgate)",
|
|
624
|
+
"problem": "Hermes Agent's self-improvement loop can write new skills that conflict with or attempt to bypass established ThumbGate prevention rules.",
|
|
625
|
+
"roi": "Preserves security invariants by ensuring that synthesized skills never write code patterns blocked by active ThumbGate rules.",
|
|
626
|
+
"rollout": "Scan synthesized skill markdown content for pattern overlap with active prevention rules before writing to the skills directory."
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"id": "require-human-in-the-loop-pause",
|
|
630
|
+
"name": "Enforce Human-in-the-Loop pause for critical decisions",
|
|
631
|
+
"category": "AI Engineering Stack Safety",
|
|
632
|
+
"signal": "👎",
|
|
633
|
+
"defaultAction": "block",
|
|
634
|
+
"severity": "high",
|
|
635
|
+
"pattern": "(agent_sdk|openrouter_sdk|human_in_loop|auto_resolve).*(auto_resolve|bypass|skip_pause|critical_action)",
|
|
636
|
+
"problem": "Prevents autonomous agents using the Agent SDK from auto-resolving critical decisions (such as model migration, credential rotations, or financial transactions) without pausing for explicit human approval.",
|
|
637
|
+
"roi": "Ensures human oversight remains functional on highest-risk actions, preventing the agent from acting entirely unsupervised on critical gates.",
|
|
638
|
+
"rollout": "Turn on for all production deployments utilizing OpenRouter or other Agent SDKs with auto-resolve capabilities."
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"id": "careful-mode",
|
|
642
|
+
"name": "Enforce careful mode for destructive commands",
|
|
643
|
+
"category": "On-Demand Dynamic Gating",
|
|
644
|
+
"signal": "👎",
|
|
645
|
+
"defaultAction": "block",
|
|
646
|
+
"severity": "critical",
|
|
647
|
+
"pattern": "(rm\\s+-rf|drop\\s+table|force-push|git\\s+push\\s+-[fF]|git\\s+push\\s+--force|kubectl\\s+delete)",
|
|
648
|
+
"problem": "Blocks dangerous or destructive command sequences (rm -rf, DROP TABLE, force-push, kubectl delete) during sessions where careful mode is activated.",
|
|
649
|
+
"roi": "Protects production environments and main branches from accidental destructive commands executed by autonomous agents.",
|
|
650
|
+
"rollout": "Enable dynamically on-demand using /careful or env overrides when executing in sensitive or production workspaces."
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"id": "freeze-mode",
|
|
654
|
+
"name": "Freeze directory edits",
|
|
655
|
+
"category": "On-Demand Dynamic Gating",
|
|
656
|
+
"signal": "👎",
|
|
657
|
+
"defaultAction": "block",
|
|
658
|
+
"severity": "high",
|
|
659
|
+
"pattern": "^freeze_edit_outside_path.*",
|
|
660
|
+
"problem": "Blocks any file edit or write tool call that is not within a specified active/target directory.",
|
|
661
|
+
"roi": "Restricts agent edits to a controlled workspace, preventing scope drift, accidental modification of configuration or source files, and unwanted global refactors during focused task debugging.",
|
|
662
|
+
"rollout": "Enable dynamically on-demand using /freeze to specify the only path(s) the agent is allowed to write to during the session."
|
|
579
663
|
}
|
|
580
664
|
]
|
|
581
665
|
}
|
|
@@ -24,6 +24,18 @@
|
|
|
24
24
|
"requiredActions": ["on_device_verified"],
|
|
25
25
|
"message": "You claimed on-device verification without evidence. Capture the proof first, then call track_action('on_device_verified').",
|
|
26
26
|
"createdAt": 1774972800000
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"pattern": "(github|repo|repository).*(about|metadata|description|topics?).*(updated|verified|fixed|match(?:es|ed)?)|(about|metadata|description|topics?).*(updated|verified|fixed|match(?:es|ed)?).*(github|repo|repository)",
|
|
30
|
+
"requiredActions": ["github_metadata_verified"],
|
|
31
|
+
"message": "You claimed GitHub repository metadata was updated or verified without source-of-truth evidence. Read it back with gh api/gh repo view and rendered HTML, then call track_action('github_metadata_verified').",
|
|
32
|
+
"createdAt": 1780677400000
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"pattern": "(money|payment|charge|checkout|revenue|price|pricing|invoice|billing|tax|sales tax|inventory|stock|permission|access|customer-facing|customer facing).*(correct|accurate|verified|valid|matches|working|fixed|resolved|calculated|configured)|(correct|accurate|verified|valid|matches|working|fixed|resolved|calculated|configured).*(money|payment|charge|checkout|revenue|price|pricing|invoice|billing|tax|sales tax|inventory|stock|permission|access|customer-facing|customer facing)",
|
|
36
|
+
"requiredActions": ["commercial_truth_verified"],
|
|
37
|
+
"message": "You claimed a commercial-data fact (money, tax, inventory, permissions, or customer-facing state) without external source-of-truth evidence. Read the authoritative system first, then call track_action('commercial_truth_verified').",
|
|
38
|
+
"createdAt": 1781640000000
|
|
27
39
|
}
|
|
28
40
|
]
|
|
29
41
|
}
|
|
@@ -377,6 +377,26 @@
|
|
|
377
377
|
"message": "Self-protection: agent cannot modify hook registrations.",
|
|
378
378
|
"severity": "critical",
|
|
379
379
|
"compliance": ["NIST-AC-3", "OWASP-A01", "SOC2-CC6.1"]
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"id": "on-demand-careful-mode",
|
|
383
|
+
"layer": "Execution",
|
|
384
|
+
"toolNames": ["Bash"],
|
|
385
|
+
"pattern": "(rm\\s+-rf|drop\\s+table|force-push|git\\s+push\\s+-[fF]|git\\s+push\\s+--force|kubectl\\s+delete)",
|
|
386
|
+
"action": "block",
|
|
387
|
+
"when": { "constraints": { "careful_mode": true } },
|
|
388
|
+
"message": "Careful mode is active. Dangerous command is blocked.",
|
|
389
|
+
"severity": "critical"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"id": "on-demand-freeze-mode",
|
|
393
|
+
"layer": "Decisions",
|
|
394
|
+
"toolNames": ["Edit", "Write", "MultiEdit"],
|
|
395
|
+
"pattern": ".*",
|
|
396
|
+
"action": "block",
|
|
397
|
+
"when": { "constraints": { "freeze_mode": true } },
|
|
398
|
+
"message": "Freeze mode is active. Edits outside the frozen directory are blocked.",
|
|
399
|
+
"severity": "high"
|
|
380
400
|
}
|
|
381
401
|
]
|
|
382
402
|
}
|
package/config/github-about.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"repositoryUrl": "https://github.com/IgorGanapolsky/ThumbGate",
|
|
4
4
|
"homepageUrl": "https://thumbgate.ai",
|
|
5
5
|
"githubDescription": "Agent governance for ThumbGate: 👍/👎 become Pre-Action Checks that block repeat mistakes before code, money, or customer systems change.",
|
|
6
|
-
"metaDescription": "
|
|
6
|
+
"metaDescription": "Stripe Connect integration engineering for ticketing and marketplace platforms — Pretix plugin shipped to Hilltown Media. ThumbGate is also the pre-action governance runtime for AI coding agents (Claude Code, Cursor, Codex, Gemini CLI): 👍 thumbs up and 👎 thumbs down feedback become history-aware lessons, shared lessons and org visibility, and PreToolUse checks that block repeated mistakes before code, money, or customer systems change. Perfect for vibe coding and human-in-the-loop workflows.",
|
|
7
7
|
"topics": [
|
|
8
8
|
"thumbgate",
|
|
9
9
|
"pre-action-checks",
|
|
@@ -116,6 +116,23 @@
|
|
|
116
116
|
"medianLatencyMs",
|
|
117
117
|
"memoryBandwidthEstimate"
|
|
118
118
|
]
|
|
119
|
+
},
|
|
120
|
+
"self-improving-agent-skill-synthesis": {
|
|
121
|
+
"label": "Self-improving agent skill synthesis",
|
|
122
|
+
"summary": "Evaluate models on their ability to self-improve, generate safe Markdown skills, and correctly check synthesized skills against existing gate/prevention rules.",
|
|
123
|
+
"desiredStrengths": ["agentic-coding", "tool-use", "self-evolving", "skill-synthesis", "reliability"],
|
|
124
|
+
"targetContextWindow": 128000,
|
|
125
|
+
"benchmarkCommands": [
|
|
126
|
+
"npx thumbgate eval --from-feedback --json --min-score=0",
|
|
127
|
+
"node scripts/gate-eval.js run"
|
|
128
|
+
],
|
|
129
|
+
"metrics": [
|
|
130
|
+
"passRate",
|
|
131
|
+
"skillSafetyCheckAccuracy",
|
|
132
|
+
"ruleBypassDetectionRate",
|
|
133
|
+
"medianLatencyMs",
|
|
134
|
+
"costPerEvolutionUsd"
|
|
135
|
+
]
|
|
119
136
|
}
|
|
120
137
|
},
|
|
121
138
|
"candidates": [
|
|
@@ -279,6 +296,39 @@
|
|
|
279
296
|
"costClass": "medium",
|
|
280
297
|
"strengths": ["agentic-coding", "tool-use", "dynamic-tool-creation", "screen-interaction", "on-prem", "self-evolving"],
|
|
281
298
|
"notes": "Nvidia OpenShell runtime for autonomous self-evolving claw-style agents (basis for Automation Anywhere EnterpriseClaw). Run locally/on-prem. ThumbGate provides the missing governance layer (gates, feedback, rules). Use with hybrid local-cloud for full enterprise deployment."
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"id": "nousresearch/hermes-3-llama-3.1-70b",
|
|
302
|
+
"vendor": "Nous Research",
|
|
303
|
+
"family": "hermes",
|
|
304
|
+
"provider": "openrouter",
|
|
305
|
+
"model": "hermes-3-llama-3.1-70b",
|
|
306
|
+
"contextWindow": 128000,
|
|
307
|
+
"costClass": "medium",
|
|
308
|
+
"strengths": ["agentic-coding", "tool-use", "self-evolving", "skill-synthesis", "multi-platform", "reasoning"],
|
|
309
|
+
"notes": "Nous Research's Hermes 3 model family, optimized for autonomous reasoning, tool-use, and self-improvement loops. Benchmark KV caching, trace-length constraints, and dynamic skill synthesis validation rules before deploying."
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"id": "anthropic/claude-opus-4-8",
|
|
313
|
+
"vendor": "Anthropic",
|
|
314
|
+
"family": "claude",
|
|
315
|
+
"provider": "anthropic",
|
|
316
|
+
"model": "claude-opus-4.8",
|
|
317
|
+
"contextWindow": 200000,
|
|
318
|
+
"costClass": "high",
|
|
319
|
+
"strengths": ["agentic-coding", "tool-use", "reliability", "long-context", "long-horizon-coding", "multi-agent"],
|
|
320
|
+
"notes": "Frontier coding model with 56.7 Coding Index. Grew 140% WoW on OpenRouter to 1.33T tokens. Ideal for long trace reviews and complex reasoning steps, despite higher latency and cost."
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"id": "google/gemini-3.1-pro-preview",
|
|
324
|
+
"vendor": "Google",
|
|
325
|
+
"family": "gemini",
|
|
326
|
+
"provider": "google",
|
|
327
|
+
"model": "gemini-3.1-pro-preview",
|
|
328
|
+
"contextWindow": 2000000,
|
|
329
|
+
"costClass": "medium",
|
|
330
|
+
"strengths": ["agentic-coding", "tool-use", "reliability", "long-context", "data-analysis", "cost-efficiency"],
|
|
331
|
+
"notes": "Google's 3.1 Pro Preview model with 55.5 Coding Index and massive 2M token context window. Strong choice for complex RAG tasks, repository-scale auditing, and long-context trace analysis."
|
|
282
332
|
}
|
|
283
333
|
]
|
|
284
334
|
}
|
|
@@ -51,6 +51,11 @@
|
|
|
51
51
|
"route": "/sitemap.xml",
|
|
52
52
|
"sentinel": "<urlset",
|
|
53
53
|
"description": "XML sitemap for search-engine discoverability"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"route": "/about",
|
|
57
|
+
"sentinel": "Igor Ganapolsky",
|
|
58
|
+
"description": "About page for GEO discoverability"
|
|
54
59
|
}
|
|
55
60
|
]
|
|
56
61
|
}
|