@jigyasudham/veto 2.0.0 → 2.0.2

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/README.md CHANGED
@@ -1,23 +1,28 @@
1
1
  # veto
2
2
 
3
- > **62 agentic tools. 50+ specialists. 3 AIs. Self-learning. Zero cost.**
3
+ > **62 agentic tools. 50+ specialists. 4 AIs. Self-learning. Zero cost.**
4
4
 
5
- An MCP server that runs locally on your machine, plugs into Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, Zed, Copilot, and JetBrains using your existing subscriptions — giving every AI a council of specialist agents, local LLM support, SDD agents, playwright automation, persistent cross-platform memory, a self-learning router, CI/CD gates, workspace discovery, and bidirectional IDE communication.
5
+ An MCP server that runs locally on your machine, plugs into Claude Code, Codex CLI, Gemini CLI, Antigravity CLI, Cursor, Windsurf, Zed, and JetBrains using your existing subscriptions — giving every AI a council of specialist agents, local LLM support, SDD agents, playwright automation, persistent cross-platform memory, a self-learning router, CI/CD gates, workspace discovery, and bidirectional IDE communication.
6
+
7
+ > **Billing note:** "Zero cost" applies to subscription plans (Claude Max, Gemini Advanced, etc.). If you are on API/pay-per-token billing, MCP Sampling calls made by Veto agents will count toward your token usage. `veto init` detects API key environment variables and warns you automatically.
6
8
 
7
9
  ---
8
10
 
9
- ## How the Agents Actually Work
11
+ ## How the Agents Work
12
+
13
+ **Every tool uses a 2-phase agentic loop — no API keys required, zero extra cost.**
10
14
 
11
- **Veto v2.0 is now 100% Agentic.**
15
+ ### Phase 1 MCP Sampling
16
+ The tool attempts real LLM reasoning via MCP Sampling (`server.createMessage`). If your client supports it, the agent reasons deeply and returns a structured plan or analysis.
12
17
 
13
- Every tool in Veto uses a **2-phase agentic loop pattern** no API keys required, zero extra cost, working identically across Claude Code, Gemini CLI, and Codex CLI.
18
+ ### Phase 2 — Agentic Fallback
19
+ If Sampling is unavailable, Veto returns an `llm_upgrade` prompt. The host AI reads the specialist's role, performs the reasoning itself, and passes the JSON response back to complete the operation.
14
20
 
15
- ### The 2-Phase Agentic Loop
16
- 1. **Phase 1 (Sampling):** The tool first attempts real LLM reasoning via **MCP Sampling** (the host AI's native ability to "create a message"). If supported by your client (like Claude Code or Gemini CLI), the agent performs deep reasoning and returns a structured plan or analysis instantly.
17
- 2. **Phase 2 (Upgrade Prompt):** If Sampling is unavailable or fails, Veto returns an `llm_upgrade` prompt. You (the host AI) read the specialist's role and task, perform the reasoning yourself, and pass the JSON response back to complete the operation.
21
+ Every worker agent supports both modes. When multiple agents run, they execute in parallel. LLM calls delegate back to the AI you're already using — no extra billing.
18
22
 
19
- ### Specialist Roles
20
- Veto provides a council of 7 senior governance agents plus 55+ domain-specific worker agents.
23
+ ---
24
+
25
+ ## Specialist Roles
21
26
 
22
27
  | Agent Group | Specialist Roles |
23
28
  |---|---|
@@ -27,10 +32,6 @@ Veto provides a council of 7 senior governance agents plus 55+ domain-specific w
27
32
  | **Intelligence** | Task Planner · Researcher · Tech Advisor · Risk Assessor · Cost Analyzer · Ethics/Bias |
28
33
  | **Workflow** | File Manager · Git Agent · Search Agent · Reporter · Automation |
29
34
 
30
- ### All 62 Tools are now 100% Agentic
31
-
32
- > Pattern matching, domain heuristics, and structured templates compiled into code. Offline capable. No LLM calls.
33
-
34
35
  **Development (12)**
35
36
  `Coder` · `Code Reviewer` · `Tester` · `Debugger` · `Refactor` · `Database` · `API` · `Frontend` · `Backend` · `DevOps` · `Performance` · `Migration`
36
37
 
@@ -107,11 +108,9 @@ veto hook install # Install pre-commit secrets scan hook
107
108
  veto hook remove # Remove the veto pre-commit hook
108
109
  veto check # Scan staged changes for secrets (used by hook)
109
110
  veto help # Commands + MCP tools reference
110
- veto help --troubleshoot # Full troubleshooting guide (14 scenarios)
111
+ veto help --troubleshoot # Full troubleshooting guide
111
112
  ```
112
113
 
113
- `veto help` shows all CLI commands, all 49 MCP tool names, MCP Resources, and MCP Prompts.
114
-
115
114
  ### `veto doctor`
116
115
 
117
116
  ```
@@ -128,6 +127,7 @@ veto doctor
128
127
  ─────────────────────────────────────────────────────
129
128
  ✓ Claude Code — registered
130
129
  ✓ Gemini CLI — registered
130
+ ✓ Antigravity CLI — registered
131
131
  · Codex CLI — not installed
132
132
  · Zed — not installed
133
133
 
@@ -138,7 +138,7 @@ veto doctor
138
138
 
139
139
  ## Council Debate
140
140
 
141
- Two-phase flow — works on Claude Code, Gemini CLI, and Codex CLI with no API keys:
141
+ Two-phase flow — works on Claude Code, Gemini CLI, Antigravity CLI, and Codex CLI with no API keys:
142
142
 
143
143
  ```
144
144
  # Phase 1 — call with task, get instant deterministic result + LLM upgrade prompt
@@ -166,7 +166,7 @@ veto_council_debate {
166
166
  pm: { verdict: "approve", reason: "JWT migration unblocks mobile clients", concerns: [], recommendation: "Ship behind a feature flag, roll back if logout issues" },
167
167
  architect: { verdict: "approve", reason: "Good fit for stateless microservice boundary", concerns: ["Clock skew can break expiry across services"], recommendation: "Add NTP sync check; use relative expiry not absolute timestamps" },
168
168
  ux: { verdict: "approve", reason: "No user-visible change if migration is seamless", concerns: [], recommendation: "Silent migration — no logout required for existing sessions" },
169
- devil: { verdict: "warn", reason: "What if the refresh token store goes down at 2AM?", concerns: ["Redis outage = all users logged out", "Token replay attack window between rotation and invalidation"], recommendation: "Fallback to session auth if Redis is down; use short rotation window" },
169
+ devil: { verdict: "warn", reason: "What if the refresh token store goes down at 2AM?", concerns: ["Redis outage = all users logged out"], recommendation: "Fallback to session auth if Redis is down; use short rotation window" },
170
170
  legal: { verdict: "approve", reason: "JWTs are industry standard, no new compliance risk", concerns: [], recommendation: "Document token storage in privacy policy" },
171
171
  security: { verdict: "warn", reason: "Refresh token rotation must be atomic — TOCTOU risk", concerns: ["localStorage storage of access token is XSS-vulnerable"], recommendation: "Store access token in memory only; refresh token in httpOnly Secure SameSite=Strict cookie" }
172
172
  }
@@ -174,312 +174,34 @@ veto_council_debate {
174
174
  → {
175
175
  llm_backed: true,
176
176
  final_verdict: "YELLOW",
177
- block_reasons: [],
178
177
  warnings: ["Refresh token rotation must be atomic...", "What if the refresh token store goes down..."],
179
178
  recommended: "Proceed with JWT. Use httpOnly cookies for refresh tokens, memory-only for access tokens..."
180
179
  }
181
180
  ```
182
181
 
183
- When the task presents a binary choice, agents name the option they prefer and the output includes a `🎯 Council leans toward:` line:
182
+ ### Council `strictness`
184
183
 
185
184
  ```
186
- veto_council_debate {
187
- task: "Should we add an Express HTTP layer or keep Veto pure MCP with an external adapter?"
188
- }
189
- → formatted_output includes:
190
- 🎯 Council leans toward: "pure MCP with an external adapter" (5 agents prefer it)
191
- Lead Dev: [Express HTTP vs external adapter] ... [WARN]
192
- recommendation: Prefer "external adapter" — Express adds new infrastructure...
193
- Security: [Express HTTP vs external adapter] ... [WARN]
194
- recommendation: Prefer "external adapter" — keeps the threat model local-only...
185
+ veto_council_debate { task: "...", strictness: "fast" } # 3 agents, instant
186
+ veto_council_debate { task: "...", strictness: "standard" } # 7 agents, default
187
+ veto_council_debate { task: "...", strictness: "strict" } # 7 + devil rebuttal
195
188
  ```
196
189
 
197
190
  ---
198
191
 
199
192
  ## Session Tagging + Search
200
193
 
201
- Tag sessions when saving to make them findable later:
202
-
203
194
  ```
204
- # Let Veto generate the summary from conversation context
205
195
  veto_session_save {
206
196
  auto_summarize: true,
207
197
  tags: ["auth", "jwt", "middleware"]
208
198
  }
209
199
 
210
- # Or write it manually
211
- veto_session_save {
212
- summary: "Implemented JWT auth middleware",
213
- context: "...",
214
- tags: ["auth", "jwt", "middleware"]
215
- }
216
-
217
- # Find it weeks later:
218
200
  veto_sessions_list { query: "auth" }
219
201
  → sessions matching "auth" in summary, context, tags, or project_dir
220
202
  ```
221
203
 
222
- ---
223
-
224
- ## New in v1.4.4
225
-
226
- ### Token count now updates from `veto_session_save`
227
-
228
- Previously, token count and context window usage only updated when `veto_status { token_count: N }` was called. Saving a session without calling status first left the VS Code extension and autosave status showing stale or zero values.
229
-
230
- Now `veto_session_save { token_count: N }` directly:
231
- - Calls `trackTokens()` to update the daily rate tracker
232
- - Upserts into the new `context_usage` table with `usage_pct` computed from the model's actual context window
233
-
234
- ```
235
- veto_session_save {
236
- summary: "...",
237
- context: "...",
238
- token_count: 45000, ← now updates live display immediately
239
- platform: "claude",
240
- model: "claude-sonnet-4-6" ← resolves exact 1M window for accurate %
241
- }
242
- → { usage_pct: 4.5, auto_summarized: false, ... }
243
- ```
244
-
245
- ### `context_usage` table — live DB polling for VS Code extension
246
-
247
- A new single-row-per-platform table in `~/.veto/veto.db` that always holds the latest known context state. Your VS Code extension can poll or watch this table directly:
248
-
249
- ```sql
250
- SELECT platform, model, token_count, context_window, usage_pct, updated_at
251
- FROM context_usage
252
- ORDER BY updated_at DESC
253
- ```
254
-
255
- Updated by both `veto_session_save` and `veto_status` whenever `token_count > 0` is passed. `veto_autosave_status` now includes `live_context_usage` in its response.
256
-
257
- ---
258
-
259
- ## New in v1.4.3
260
-
261
- ### Council debate + session save — work on Gemini CLI and Codex CLI
262
-
263
- MCP Sampling (`server.createMessage`) is not yet implemented by any of the three CLI hosts. Previously this meant the council always used deterministic fallbacks and `auto_summarize` never ran on any platform.
264
-
265
- **v1.4.3 introduces the agentic loop pattern** — no API keys, no sampling dependency, works on all three platforms identically.
266
-
267
- #### Council debate — two-phase LLM upgrade
268
-
269
- ```
270
- # Phase 1 — always returns an instant deterministic result
271
- veto_council_debate { task: "migrate auth to JWT" }
272
- → {
273
- llm_backed: false,
274
- final_verdict: "YELLOW",
275
- votes: { ... }, ← deterministic agent analysis
276
- llm_upgrade: {
277
- available: true,
278
- instruction: "Read debate_prompt, reason as all 7 agents, call again with agent_responses",
279
- debate_prompt: "You are running a Veto Council debate. Analyze the task as each specialist..."
280
- }
281
- }
282
-
283
- # Phase 2 — call again with your agent_responses → get the LLM-backed verdict
284
- veto_council_debate {
285
- task: "migrate auth to JWT",
286
- agent_responses: {
287
- lead_dev: { verdict: "warn", reason: "...", concerns: [], recommendation: "..." },
288
- pm: { verdict: "approve", ... },
289
- architect: { verdict: "warn", ... },
290
- ux: { verdict: "approve", ... },
291
- devil: { verdict: "warn", ... },
292
- legal: { verdict: "warn", ... },
293
- security: { verdict: "warn", ... }
294
- }
295
- }
296
- → { llm_backed: true, final_verdict: "YELLOW", votes: { ... } }
297
- ```
298
-
299
- The host AI (Claude, Gemini, or Codex) reads the `debate_prompt`, reasons as all 7 specialists, and passes the structured JSON back. Veto runs the verdict engine on the real LLM output.
300
-
301
- #### Session save — agentic fallback
302
-
303
- When `auto_summarize: true` and MCP Sampling is unavailable, `veto_session_save` now returns a structured template and instructions for the calling AI to fill in and call again — instead of silently saving nothing:
304
-
305
- ```
306
- veto_session_save { auto_summarize: true }
307
- → {
308
- mode: "agentic",
309
- instruction: "Generate the session summary yourself from the conversation above, then call veto_session_save again with the filled-in fields.",
310
- summarize_prompt: "Review the conversation above and produce a session checkpoint...",
311
- template: {
312
- auto_summarize: false,
313
- summary: "<one sentence describing what was accomplished>",
314
- context: "{ task, decisions[], findings[] with file:line }",
315
- task_state: "{ completed[], remaining[], nextAction: 'Edit src/X.ts line N — ...' }"
316
- }
317
- }
318
- ```
319
-
320
- ---
321
-
322
- ## New in v1.4.2
323
-
324
- ### `veto_session_save` — LLM auto-summarization
325
-
326
- Pass `auto_summarize: true` and Veto reads the full conversation via MCP Sampling, then generates an accurate, structured session checkpoint itself — you don't write summary, context, or task_state manually.
327
-
328
- ```
329
- # Simplest possible save — Veto does the work
330
- veto_session_save {
331
- auto_summarize: true,
332
- project_dir: "/your/project",
333
- tags: ["auth", "migration"]
334
- }
335
- → {
336
- success: true,
337
- auto_summarized: true,
338
- session_id: "abc-123",
339
- summary: "Implemented JWT auth middleware with refresh token rotation",
340
- context: {
341
- task: "migrate session auth to JWT",
342
- decisions: [{ decision: "store refresh token in httpOnly cookie", rationale: "XSS protection" }],
343
- findings: ["src/auth.ts:142 — refreshToken handler, needs rotation logic next"]
344
- },
345
- task_state: {
346
- completed: ["access token generation", "middleware wiring"],
347
- remaining: ["refresh token rotation", "logout blocklist"],
348
- nextAction: "Edit src/auth.ts line 142 — implement rotation: invalidate old refresh token, issue new one, update DB row"
349
- }
350
- }
351
- ```
352
-
353
- Veto generates `nextAction` as a **concrete, file+line instruction** the next AI can execute without re-reading any source files. On restore, the `resume_instructions` field tells the AI to trust this and start immediately.
354
-
355
- When MCP Sampling is unavailable (all platforms currently), returns an agentic template asking the host AI to generate the summary from the conversation and call back with filled-in fields — see v1.4.3.
356
-
357
- ---
358
-
359
- ## New in v1.4.1
360
-
361
- ### Council debate — decision-aware verdicts
362
-
363
- When your task presents a binary architectural choice ("should we X or Y", "A vs B"), every council agent now identifies which option it prefers and names it explicitly. The output includes a `🎯 Council leans toward:` line counting how many agents favour each option.
364
-
365
- Before — agents fired generic keyword-matched concerns unrelated to the choice:
366
- ```
367
- Lead Dev: "Persistent memory stores grow unbounded..." ← nothing to do with the question
368
- ```
369
-
370
- After — agents address the specific choice:
371
- ```
372
- Lead Dev: [Express-bundled vs external-adapter] reason [WARN]
373
- recommendation: Prefer "external-adapter" — "Express-bundled" adds new
374
- infrastructure to maintain; validate real demand before building.
375
- 🎯 Council leans toward: "external adapter pattern" (4 agents prefer it)
376
- ```
377
-
378
- In the agentic loop (phase 2), the host AI is explicitly instructed to name the preferred option in its recommendation for each agent role.
379
-
380
- ### `veto_session_restore` — resume instructions
381
-
382
- The restore response now includes a `resume_instructions` field that tells the AI exactly what to do:
383
-
384
- ```
385
- veto_session_restore { session_id: "..." }
386
- → {
387
- resume_instructions: "Context restored. Trust the summary, context, and task_state
388
- above. Do NOT re-read source files to orient yourself — only open a file if you
389
- are about to EDIT it. Start immediately with: [nextAction from task_state].",
390
- session_id: "...",
391
- summary: "...",
392
- context: { ... },
393
- task_state: { nextAction: "Edit src/server.ts line 302, add zod validation..." },
394
- ...
395
- }
396
- ```
397
-
398
- This fixes the core issue where AI sessions were re-reading the entire codebase on restore instead of trusting the saved context.
399
-
400
- ### `veto_session_save` — input validation
401
-
402
- `summary`, `context`, and `task_state` now have enforced size limits. Oversized inputs are truncated with a warning rather than silently stored or crashing.
403
-
404
- | Field | Limit |
405
- |---|---|
406
- | `summary` | 2,000 chars |
407
- | `context` | 50,000 chars |
408
- | `task_state` | 20,000 chars |
409
-
410
- ```
411
- veto_session_save { summary: "...(very long)..." }
412
- → { success: true, truncation_warnings: ["summary truncated to 2000 chars (was 8432)"] }
413
- ```
414
-
415
- ---
416
-
417
- ## New in v1.4.0
418
-
419
- ### `veto_metrics` — usage dashboard
420
-
421
- ```
422
- veto_metrics {}
423
- → {
424
- sessions: { total: 45, today: 2, this_week: 8 },
425
- council: { total: 24, today: 1, by_verdict: { GREEN: 12, YELLOW: 9, RED: 3 } },
426
- agents: [ { agent: "coder", calls: 38, avg_quality: 86 }, ... ],
427
- quality: { overall_avg: 86, trend: [{ date: "2026-05-17", avg: 89, count: 5 }] },
428
- knowledge:{ total_entries: 12, by_type: { solution: 6, decision: 4, pattern: 2 } },
429
- patterns: { total: 10 }
430
- }
431
- ```
432
-
433
- ### `veto_changelog` — git changelog
434
-
435
- ```
436
- veto_changelog { project_dir: "/your/project" }
437
- → {
438
- since_tag: "v1.3.0",
439
- total_commits: 23,
440
- sections: [
441
- { section: "Features", items: [{ message: "Add council strictness param", hash: "a3f2b1c0", ... }] },
442
- { section: "Bug Fixes", items: [...] },
443
- { section: "Refactoring", items: [...] }
444
- ]
445
- }
446
- ```
447
-
448
- ### `veto_git_blame` — ownership data
449
-
450
- ```
451
- veto_git_blame { file_path: "/your/project/src/auth.ts" }
452
- → {
453
- path: "/your/project/src/auth.ts",
454
- total_commits: 14,
455
- contributors: [
456
- { commits: 9, author: "Jigyasu Dham" },
457
- { commits: 5, author: "contributor" }
458
- ],
459
- last_modified_at: "2026-05-16 18:30:00 +0530",
460
- last_author: "Jigyasu Dham",
461
- last_commit_message: "fix: JWT expiry check for clock skew"
462
- }
463
- ```
464
-
465
- ### `veto_explain` — now accepts raw text
466
-
467
- ```
468
- # Error message / stack trace
469
- veto_explain { text: "TypeError: Cannot read properties of undefined (reading 'id')\n at auth.ts:42" }
470
- → debugger agent explains the error and suggests root causes
471
-
472
- # Still works for files
473
- veto_explain { file_path: "/your/project/src/auth.ts", depth: "detailed" }
474
- ```
475
-
476
- ### Council `strictness` parameter
477
-
478
- ```
479
- veto_council_debate { task: "...", strictness: "fast" } # 3 agents, instant
480
- veto_council_debate { task: "...", strictness: "standard" } # 7 agents, default
481
- veto_council_debate { task: "...", strictness: "strict" } # 7 + devil rebuttal
482
- ```
204
+ Token usage is manually reported — pass `token_count` to `veto_status` or `veto_session_save` and Veto stores it per platform per day. `veto_rate_status` shows what you've reported; nothing is counted automatically.
483
205
 
484
206
  ---
485
207
 
@@ -569,10 +291,13 @@ Open Gemini → veto_continue { resuming_as: "gemini" }
569
291
  Full context restored. Continue exactly where you stopped.
570
292
  ```
571
293
 
294
+ Platform switching is manual — Veto surfaces which platform has budget remaining via `veto_rate_status`, you decide when to switch.
295
+
572
296
  | Platform | Support |
573
297
  |---|---|
574
298
  | Claude Code | ✅ Native MCP |
575
299
  | Gemini CLI | ✅ MCP support |
300
+ | Antigravity CLI | ✅ MCP support |
576
301
  | Codex CLI | ✅ MCP support |
577
302
  | Cursor | ✅ MCP support |
578
303
  | Windsurf | ✅ MCP support |
@@ -580,76 +305,13 @@ Full context restored. Continue exactly where you stopped.
580
305
 
581
306
  ---
582
307
 
583
- ## Roadmap
584
-
585
- | Phase | Status | Version |
586
- |---|---|---|
587
- | 1–12 — Foundation through CLI + Diff Review | ✅ Complete | v0.1.0 – v1.0.0 |
588
- | 13 — Developer Intelligence + Auto Docs | ✅ Complete | v1.1.0 |
589
- | 14 — Observability + Usage Stats + Audit Log | ✅ Complete | v1.2.0 |
590
- | 15 — CI/CD Gates + GitHub PR Review | ✅ Complete | v1.2.5 |
591
- | 16 — Workspace Discovery + Summarization + Doctor | ✅ Complete | v1.2.8 |
592
- | 17 — VS Code Extension + Token Budget + Risk Annotations | ✅ Complete | v1.2.14 |
593
- | 18 — Extension Upgrades | ✅ Complete | veto-vscode v0.6.0 |
594
- | 19 — Auto-Learning Hooks | ✅ Complete | v1.2.15 |
595
- | 20 — Auto-Store Memory on RED | ✅ Complete | v1.2.16 |
596
- | 21 — Closing the Loop (auto-thresholds, pre-commit hook, benchmark) | ✅ Complete | v1.2.18 |
597
- | 22 — LLM Council (MCP Sampling, per-model context windows) | ✅ Complete | v1.3.0 |
598
- | 23 — Quality + Features (TTL cache, metrics, git blame, changelog, Zed, session tags) | ✅ Complete | v1.4.0 |
599
-
600
- ---
601
-
602
- ## Changelog
603
-
604
- ### v1.4.0
605
- - **feat:** `veto_metrics` — live usage dashboard (sessions, council verdicts, top agents, quality trend, knowledge stats). Pure SQLite reads, zero cost.
606
- - **feat:** `veto_changelog` — structured changelog from git history since last tag, grouped by conventional commit type.
607
- - **feat:** `veto_git_blame` — file/directory ownership data from local git (contributors, commit counts, last-modified metadata).
608
- - **feat:** Council `strictness` param — `fast` (3 core agents, instant) / `standard` (7 agents, default) / `strict` (7 + Devil's Advocate rebuttal round on most critical blocker).
609
- - **feat:** Session tagging — `veto_session_save` accepts `tags: string[]`; `veto_sessions_list` accepts `query` for full-text search across summary, context, tags, and project_dir.
610
- - **feat:** Zed editor support — `veto init` now auto-configures Zed via `~/.config/zed/settings.json` (`context_servers` key).
611
- - **feat:** `veto_explain` accepts raw `text` — error messages, stack traces, and compiler output are auto-routed to the debugger agent.
612
- - **fix:** `task_plans` TTL — cached plans older than 7 days are no longer returned; `veto_task_parse` checks cache before running the planner agent.
613
- - **fix:** Complexity scorer — word-count cap raised from 20→25 pts; +5 bonus for tasks over 60 words.
614
- - **fix:** Path sanitization — `readProjectContext` now validates that the resolved path is a directory before running any `git` commands.
615
- - **refactor:** Tool definitions extracted from `server.ts` into `src/tools/definitions.ts` (49 tools, grouped by category). `server.ts` reduced from 2640 → 1907 lines.
616
-
617
- ### v1.3.0
618
- - **feat:** Council agents are now LLM-backed via MCP Sampling — all 7 agents call the host LLM in parallel and return real reasoning, not deterministic templates. Deterministic fallback per agent if sampling is unavailable.
619
- - **feat:** Full agent reasoning returned — `votes` now includes each agent's complete `reason`, `concerns`, and `recommendation`.
620
- - **feat:** Knowledge retrieval pre-hook — council searches `knowledge_base` for similar past decisions before each debate.
621
- - **feat:** `veto_benchmark` runs two LLM council debates in parallel.
622
- - **feat:** Auto-store on YELLOW — significant YELLOW verdicts now stored in knowledge base with per-agent reasoning.
623
- - **feat:** Per-model context windows — `veto_status` and `veto_session_save` accept `model` param for exact window resolution.
624
-
625
- ### v1.2.19
626
- - **fix:** `veto_session_save` accepts optional `session_id` — updates that row in-place instead of inserting a new one.
627
-
628
- ### v1.2.18
629
- - **feat:** Auto-apply learned thresholds after every 20 `autoRecord()` calls.
630
- - **feat:** `veto hook install` / `veto hook remove` — pre-commit secrets scan hook.
631
- - **feat:** `veto check` — fast secrets scan on staged changes.
632
- - **feat:** `veto_benchmark` (tool #46) — two approaches → two parallel council debates → structured winner.
633
-
634
- ### v1.2.17
635
- - **fix:** `veto version` no longer shows "Unknown command".
636
- - **fix:** Unknown commands show a short 2-line error.
637
- - **fix:** `veto help` is now ~50 lines; full troubleshooting moved to `veto help --troubleshoot`.
638
- - **feat:** Sessions track `save_type` (`manual` | `auto`); `veto sessions --clean` removes old auto-saves.
639
-
640
- ### v1.2.15 – v1.2.16
641
- - Auto-learning hooks — `learning_data` fills automatically from every agent-producing tool.
642
- - Auto-store knowledge entries on RED council verdict and critical scan failures.
643
-
644
- ---
645
-
646
308
  ## Tech Stack
647
309
 
648
310
  - **Language:** TypeScript (strict mode)
649
311
  - **Runtime:** Node.js 22.5+ (built-in `node:sqlite` — no native compilation)
650
312
  - **Dependencies:** `@modelcontextprotocol/sdk` only — one package, zero native addons
651
313
  - **Memory:** Local SQLite — zero config, works offline, portable via JSON export
652
- - **Platforms:** Claude Code · Gemini CLI · Codex CLI · Cursor · Windsurf · Zed
314
+ - **Platforms:** Claude Code · Gemini CLI · Antigravity CLI · Codex CLI · Cursor · Windsurf · Zed
653
315
 
654
316
  ---
655
317
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,QAAQ,CAAC;IACxB,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhG,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,aAAa,CAmChB;AAID,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA2B1F;AA8CD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CA8LrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAgB,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,QAAQ,CAAC;IACxB,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhG,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,EAAE;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,aAAa,CAmChB;AAID,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,cAAc,CA2B1F;AA8CD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,CAgNrG"}
@@ -212,7 +212,7 @@ export function getPlatformSetup(platform, vetoServerPath) {
212
212
  ],
213
213
  };
214
214
  }
215
- // ── Claude / Gemini / Codex (existing platforms) ────────────────────────────
215
+ // ── Claude / Gemini / Codex / Antigravity (existing platforms) ─────────────
216
216
  const configs = {
217
217
  claude: {
218
218
  configPath: '~/.claude/settings.json (managed by `claude mcp add`)',
@@ -235,6 +235,16 @@ export function getPlatformSetup(platform, vetoServerPath) {
235
235
  'All veto_* tools work identically on Gemini as on Claude.',
236
236
  ],
237
237
  },
238
+ antigravity: {
239
+ configPath: '~/.gemini/antigravity-cli/mcp_config.json',
240
+ configKey: 'mcpServers',
241
+ installCmd: 'npm install -g @jigyasudham/veto',
242
+ notes: [
243
+ 'Antigravity CLI is the official successor to Gemini CLI.',
244
+ 'It stores MCP config in ~/.gemini/antigravity-cli/mcp_config.json.',
245
+ 'All veto_* tools are supported with agentic reasoning enabled.',
246
+ ],
247
+ },
238
248
  codex: {
239
249
  configPath: '~/.codex/config.toml (managed by `codex mcp add`)',
240
250
  configKey: 'mcp_servers.veto',
@@ -256,6 +266,13 @@ export function getPlatformSetup(platform, vetoServerPath) {
256
266
  `3. Verify: call veto_status — should return { "status": "running" }`,
257
267
  ` Tip: run this once and it persists globally. No need to re-run per project.`,
258
268
  ];
269
+ const antigravitySteps = [
270
+ `1. Install Veto: npm install -g @jigyasudham/veto`,
271
+ `2. Add to mcp_config.json: ~/.gemini/antigravity-cli/mcp_config.json`,
272
+ ` "veto": { "command": "npx", "args": ["-y", "@jigyasudham/veto", "veto-server"] }`,
273
+ `3. Fully restart Antigravity CLI (agy)`,
274
+ `4. Verify: call veto_status — should return { "status": "running" }`,
275
+ ];
259
276
  const codexSteps = [
260
277
  `1. Run: codex mcp add veto -- npx -y --package @jigyasudham/veto veto-server`,
261
278
  ` On Windows, use npx.cmd instead of npx (Codex Rust binary requires the .cmd extension).`,
@@ -280,7 +297,7 @@ export function getPlatformSetup(platform, vetoServerPath) {
280
297
  return {
281
298
  platform,
282
299
  mcp_config: platform === 'codex' ? codexMcpConfig : { [cfg.configKey]: { veto: mcpEntry } },
283
- setup_steps: platform === 'claude' ? claudeSteps : platform === 'codex' ? codexSteps : genericSteps,
300
+ setup_steps: platform === 'claude' ? claudeSteps : platform === 'antigravity' ? antigravitySteps : platform === 'codex' ? codexSteps : genericSteps,
284
301
  rate_limit_signals: ['rate limit', 'too many requests', '429', 'quota exceeded', 'resource exhausted'],
285
302
  continue_command: 'veto_continue',
286
303
  notes: cfg.notes,
@@ -289,10 +306,12 @@ export function getPlatformSetup(platform, vetoServerPath) {
289
306
  // ─── Helpers ──────────────────────────────────────────────────────────────────
290
307
  function selectTarget(from, rateStatus) {
291
308
  const order = from === 'claude'
292
- ? ['gemini', 'codex']
309
+ ? ['gemini', 'antigravity', 'codex']
293
310
  : from === 'gemini'
294
- ? ['codex', 'claude']
295
- : ['claude', 'gemini'];
311
+ ? ['antigravity', 'codex', 'claude']
312
+ : from === 'antigravity'
313
+ ? ['codex', 'claude', 'gemini']
314
+ : ['claude', 'gemini', 'antigravity'];
296
315
  for (const p of order) {
297
316
  if (rateStatus[p].status !== 'critical')
298
317
  return p;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export function plan(task, context) {
3
3
  const isTokenCost = t.includes('token') || t.includes('ai cost') || t.includes('api cost') || t.includes('llm');
4
4
  const isInfra = t.includes('hosting') || t.includes('server') || t.includes('cloud') || t.includes('infra');
5
5
  const approach = isTokenCost
6
- ? 'Analyse AI token costs across all three platforms. Track tokens-per-task, cost-per-tier, and cost trajectory over time. Identify the top 3 cost drivers and recommend routing adjustments. A 20% reduction in average tier without quality loss is typically achievable via better router threshold calibration.'
6
+ ? 'Analyse AI token costs across all four platforms. Track tokens-per-task, cost-per-tier, and cost trajectory over time. Identify the top 3 cost drivers and recommend routing adjustments. A 20% reduction in average tier without quality loss is typically achievable via better router threshold calibration.'
7
7
  : isInfra
8
8
  ? 'Analyse infrastructure costs by service. Identify idle resources, over-provisioned instances, and services that could be consolidated. Compare reserved vs. on-demand pricing for predictable workloads. Document the cost-per-feature to identify which features have disproportionate infrastructure cost.'
9
9
  : 'Track the three cost categories in this project: AI token spend, infrastructure, and developer time. Developer time is almost always the largest cost and the most under-tracked. Quantify each category, identify the top driver, and recommend the highest-ROI reduction.';
@@ -1 +1 @@
1
- {"version":3,"file":"cost-analyzer.js","sourceRoot":"","sources":["../../../src/agents/research/cost-analyzer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAgB;IACjD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,kTAAkT;QACpT,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,8SAA8S;YAChT,CAAC,CAAC,6QAA6Q,CAAC;IAElR,OAAO;QACL,KAAK,EAAE,eAAkC;QACzC,IAAI;QACJ,IAAI,EAAE,CAAC;QACP,QAAQ;QACR,KAAK,EAAE;YACL,uFAAuF;YACvF,yFAAyF;YACzF,2FAA2F;YAC3F,4FAA4F;YAC5F,2EAA2E;YAC3E,gGAAgG;YAChG,kDAAkD;YAClD,0EAA0E;YAC1E,kFAAkF;YAClF,2FAA2F;SAC5F;QACD,SAAS,EAAE;YACT,yCAAyC;YACzC,+CAA+C;YAC/C,wDAAwD;YACxD,wDAAwD;YACxD,6DAA6D;YAC7D,uEAAuE;SACxE;QACD,QAAQ,EAAE;YACR,+EAA+E;YAC/E,0FAA0F;YAC1F,2FAA2F;YAC3F,2EAA2E;YAC3E,gGAAgG;SACjG;QACD,QAAQ,EAAE;YACR,2CAA2C;YAC3C,wFAAwF;YACxF,yFAAyF;YACzF,oFAAoF;SACrF;QACD,iBAAiB,EAAE,WAAW;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cost-analyzer.js","sourceRoot":"","sources":["../../../src/agents/research/cost-analyzer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAgB;IACjD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,iTAAiT;QACnT,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,8SAA8S;YAChT,CAAC,CAAC,6QAA6Q,CAAC;IAElR,OAAO;QACL,KAAK,EAAE,eAAkC;QACzC,IAAI;QACJ,IAAI,EAAE,CAAC;QACP,QAAQ;QACR,KAAK,EAAE;YACL,uFAAuF;YACvF,yFAAyF;YACzF,2FAA2F;YAC3F,4FAA4F;YAC5F,2EAA2E;YAC3E,gGAAgG;YAChG,kDAAkD;YAClD,0EAA0E;YAC1E,kFAAkF;YAClF,2FAA2F;SAC5F;QACD,SAAS,EAAE;YACT,yCAAyC;YACzC,+CAA+C;YAC/C,wDAAwD;YACxD,wDAAwD;YACxD,6DAA6D;YAC7D,uEAAuE;SACxE;QACD,QAAQ,EAAE;YACR,+EAA+E;YAC/E,0FAA0F;YAC1F,2FAA2F;YAC3F,2EAA2E;YAC3E,gGAAgG;SACjG;QACD,QAAQ,EAAE;YACR,2CAA2C;YAC3C,wFAAwF;YACxF,yFAAyF;YACzF,oFAAoF;SACrF;QACD,iBAAiB,EAAE,WAAW;KAC/B,CAAC;AACJ,CAAC"}