ai-consultants 4.0.2 → 4.0.3

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/.env.example CHANGED
@@ -198,7 +198,7 @@ QWEN3_CMD=qwen
198
198
  # =============================================================================
199
199
 
200
200
  # GLM - The Methodologist
201
- GLM_MODEL=glm-5.3
201
+ GLM_MODEL=glm-5.3-flash
202
202
  GLM_TIMEOUT=180
203
203
  GLM_API_MAX_TOKENS=16384
204
204
  GLM_API_URL=https://api.z.ai/api/coding/paas/v4/chat/completions
package/CLAUDE.md CHANGED
@@ -6,7 +6,7 @@ AI Consultants is a multi-model coverage system that queries up to 10 AI consult
6
6
 
7
7
  **Self-Exclusion**: The invoking agent is automatically excluded from both the panel and synthesis. Claude Code won't query or synthesize with Claude, Codex CLI won't query or synthesize with Codex, etc.
8
8
 
9
- **Version**: 4.0.2
9
+ **Version**: 4.0.3
10
10
 
11
11
  ## Distribution
12
12
 
@@ -393,7 +393,7 @@ All consultants now use premium models by default:
393
393
  | Codex | gpt-5.6-sol |
394
394
  | Mistral | CLI: mistral-medium-3.5; API: mistral-large-3 |
395
395
  | DeepSeek | deepseek-v4-pro |
396
- | GLM | glm-5.3 |
396
+ | GLM | glm-5.3-flash |
397
397
  | Grok | grok-4.6 |
398
398
  | Qwen3 | qwen3.7-max |
399
399
  | Kimi | kimi-code/k3 |
@@ -760,6 +760,15 @@ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/s
760
760
 
761
761
  ## Changelog
762
762
 
763
+ ### v4.0.3
764
+
765
+ - **GLM's active catalog target moves from `glm-5.3` to `glm-5.3-flash` without changing transport or tier semantics.** `scripts/config.sh:189` changes the clean-install default, and the maximum/premium/standard branches at `scripts/config.sh:626-656` select the same exact provider ID. `max_quality` still supplies `GLM_REASONING_EFFORT=max`; economy deliberately remains `glm-4-flash`.
766
+ - **Existing managed installs advance without rewriting explicit choices.** `scripts/configure.sh:310-318` migrates the two exact historical generated defaults, `glm-5.2` and `glm-5.3`, to Flash and records `# ai-consultants:default`. A `# ai-consultants:pin` survives, including an explicit old `glm-5.3`; `scripts/test_configure.sh:449-461` covers both current-default migration and pin preservation.
767
+ - **Identity and pricing stay honest.** The OpenAI-compatible adapter sends `glm-5.3-flash`, `reasoning_effort=max`, and the 16,384-token GLM budget; the synthetic transport test requires provider-reported identity and requested-model metadata (`scripts/test_api_transport.sh:253-263`). `docs/cost_rates.json` marks Flash unpriced and retains a zero/unpriced entry for legacy `glm-5.3` pins, avoiding the generic fallback rate.
768
+ - **The exact ai-consultants transport completed one authorized no-retry live smoke.** Z.AI returned HTTP 200 and provider-reported `glm-5.3-flash` in about 12 seconds with 37 measured input tokens and 308 output tokens. The provider accepted max effort but returned near-structured text rather than the requested JSON; the adapter preserved `PONG` through its explicit unstructured fallback with confidence 5, so strict schema adherence is not claimed. PR #15 CI, the post-bump 23-suite gate, 452 core checks, configure 94/94, API transport 88/88, and ShellCheck are green.
769
+
770
+ Deliberately unchanged: `delegation-kit` remained read-only; its Claude-to-Z.AI gate and runner were not copied into this API-only consultant. Installation does not silently edit personal configuration, so an existing unpinned `.env` advances when the user runs `configure`; explicit pins remain user-owned. The separate `agent/model-defaults-4.1.0-wip` branch is not part of this patch release.
771
+
763
772
  ### v4.0.2
764
773
 
765
774
  - **The Grok adapter used to copy a rotating OAuth credential into a disposable HOME and delete any refreshed token at exit.** Parallel calls amplified the race: both could seed from one refresh token, one rotation vanished with its temp directory, and the ambient session could be left stale. `scripts/lib/grok_oauth.sh` now owns a durable generation under the XDG data root and `scripts/query_grok.sh` defaults to `GROK_OAUTH_MODE=shared`.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # AI Consultants v4.0.2
1
+ # AI Consultants v4.0.3
2
2
 
3
3
  > **Coverage, not a single guess.** A panel of up to 10 frontier models from different vendors fans out on your question in parallel and hands you the *union* of what they collectively see — the risks, edge cases, and approaches a single model misses.
4
4
 
5
- [![Version](https://img.shields.io/badge/version-4.0.2-blue.svg)](https://github.com/matteoscurati/ai-consultants)
5
+ [![Version](https://img.shields.io/badge/version-4.0.3-blue.svg)](https://github.com/matteoscurati/ai-consultants)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
  [![Claude Code Skill](https://img.shields.io/badge/Claude%20Code-Skill-orange.svg)](https://docs.anthropic.com/en/docs/claude-code/skills)
8
8
  [![GitHub stars](https://img.shields.io/github/stars/matteoscurati/ai-consultants?style=social)](https://github.com/matteoscurati/ai-consultants)
@@ -411,7 +411,7 @@ the observed version is response provenance only.
411
411
 
412
412
  | Consultant | Default Model | Persona | Focus |
413
413
  |------------|---------------|---------|-------|
414
- | **GLM** | glm-5.3 | The Methodologist | Structured approaches |
414
+ | **GLM** | glm-5.3-flash | The Methodologist | Structured approaches |
415
415
  | **DeepSeek** | deepseek-v4-pro | The Code Specialist | Algorithms, code generation |
416
416
 
417
417
  ### Installing Consultant CLIs
@@ -483,7 +483,7 @@ detail instead of reducing every consultant to its summary.
483
483
  | Mistral CLI | mistral-medium-3.5 | mistral-medium-3.5 | mistral-medium-3.5 | devstral-small-2 |
484
484
  | Mistral API | mistral-large-3 | mistral-large-3 | mistral-large-3 | mistral-large-3 |
485
485
  | DeepSeek | deepseek-v4-pro | deepseek-v4-pro | deepseek-v4-flash | deepseek-v4-flash |
486
- | GLM | glm-5.3 | glm-5.3 | glm-5.3 | glm-4-flash |
486
+ | GLM | glm-5.3-flash | glm-5.3-flash | glm-5.3-flash | glm-4-flash |
487
487
  | Grok | grok-4.6 | grok-4.6 | grok-4.5 | grok-4.5 |
488
488
  | Qwen3 | qwen3.8-max when Token Plan is configured; otherwise qwen3.7-max | qwen3.7-max | qwen3.6-35b-a3b | qwen3-32b |
489
489
  | Kimi | kimi-code/k3-256k | kimi-code/k3 | kimi-code/k3 | kimi-code/k3 |
package/SKILL.md CHANGED
@@ -5,10 +5,10 @@ license: MIT
5
5
  compatibility: Requires bash, jq, and at least 2 AI CLI tools (agy, codex, vibe, etc.). macOS and Linux.
6
6
  metadata:
7
7
  author: matteoscurati
8
- version: 4.0.2
8
+ version: 4.0.3
9
9
  ---
10
10
 
11
- # AI Consultants v4.0.2 - AI Expert Panel
11
+ # AI Consultants v4.0.3 - AI Expert Panel
12
12
 
13
13
  **Coverage, not a single guess.** Convene a panel of AI "consultants" from different vendors for coding questions: they fan out in parallel and you get the *union* of what they collectively see — the risks, edge cases, and approaches a single model misses. Each consultant has a **configurable persona** that decorrelates its analysis.
14
14
 
@@ -1,4 +1,4 @@
1
- # Cost Rates - AI Consultants v4.0.2
1
+ # Cost Rates - AI Consultants v4.0.3
2
2
 
3
3
  This page documents the per-token rates used by the cost tracking system.
4
4
 
@@ -45,7 +45,8 @@ models programmatically.
45
45
  | gemini-3-flash | Legacy | $0.0005 | Removed Cursor consultant |
46
46
  | deepseek-v4-pro | Premium | $0.000435 | DeepSeek |
47
47
  | deepseek-v4-flash | Standard/Economy | $0.00014 | DeepSeek |
48
- | glm-5.3 | Maximum/Premium/Standard | Unpriced | GLM coding-plan endpoint |
48
+ | glm-5.3-flash | Maximum/Premium/Standard | Unpriced | GLM coding-plan endpoint |
49
+ | glm-5.3 | Legacy pins | Unpriced | GLM coding-plan endpoint |
49
50
  | glm-4-flash | Economy | $0.001 | GLM |
50
51
  | grok-4.6 | Maximum/Premium | $0.002 | Grok |
51
52
  | grok-4.5 | Standard/Economy | $0.002 | Grok |
@@ -86,7 +87,8 @@ models programmatically.
86
87
  | gemini-3-flash | Legacy | $0.003 | Removed Cursor consultant |
87
88
  | deepseek-v4-pro | Premium | $0.00087 | DeepSeek |
88
89
  | deepseek-v4-flash | Standard/Economy | $0.00028 | DeepSeek |
89
- | glm-5.3 | Maximum/Premium/Standard | Unpriced | GLM coding-plan endpoint |
90
+ | glm-5.3-flash | Maximum/Premium/Standard | Unpriced | GLM coding-plan endpoint |
91
+ | glm-5.3 | Legacy pins | Unpriced | GLM coding-plan endpoint |
90
92
  | glm-4-flash | Economy | $0.003 | GLM |
91
93
  | grok-4.6 | Maximum/Premium | $0.006 | Grok |
92
94
  | grok-4.5 | Standard/Economy | $0.006 | Grok |
@@ -174,7 +176,8 @@ the providers' official pricing pages: [Anthropic](https://platform.claude.com/d
174
176
  [MiniMax](https://platform.minimax.io/docs/guides/pricing-paygo). Gemini 3.7's
175
177
  listed rate is the promotion effective through December 31, 2026.
176
178
 
177
- `glm-5.3`, `qwen3.8-max`, and `kimi-code/k3-256k` are explicitly unpriced on
179
+ `glm-5.3-flash`, legacy-pinned `glm-5.3`, `qwen3.8-max`, and
180
+ `kimi-code/k3-256k` are explicitly unpriced on
178
181
  the transports used here. Their zero catalog entries prevent the estimator from
179
182
  inventing a dollar figure; session reports disclose their exclusion rather than
180
183
  presenting them as free.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.0.2",
2
+ "version": "4.0.3",
3
3
  "updated": "2026-08-23",
4
4
  "models": {
5
5
  "_comment_units": "All rates are USD per 1,000 tokens (per-1K). lib/costs.sh computes cost as (token_count / 1000) * rate, so every value here MUST be a per-1K rate = (provider $/1M price) / 1000. Do NOT paste $/MTok figures directly.",
@@ -402,6 +402,10 @@
402
402
  "input": 0,
403
403
  "output": 0
404
404
  },
405
+ "glm-5.3-flash": {
406
+ "input": 0,
407
+ "output": 0
408
+ },
405
409
  "kimi-code/k3-256k": {
406
410
  "input": 0,
407
411
  "output": 0
@@ -411,6 +415,7 @@
411
415
  "qwen3.8-max",
412
416
  "qwen3.8-max-preview",
413
417
  "glm-5.3",
418
+ "glm-5.3-flash",
414
419
  "kimi-code/k3-256k"
415
420
  ],
416
421
  "consultant_fallbacks": {
@@ -420,7 +425,7 @@
420
425
  "codex": "gpt-5.6-sol",
421
426
  "mistral": "mistral-large-3",
422
427
  "deepseek": "deepseek-v4-pro",
423
- "glm": "glm-5.3",
428
+ "glm": "glm-5.3-flash",
424
429
  "grok": "grok-4.6",
425
430
  "qwen3": "qwen3.7-max",
426
431
  "kimi": "kimi-code/k3",
@@ -434,7 +439,7 @@
434
439
  "codex": "gpt-5.6-sol",
435
440
  "mistral": "mistral-medium-3.5",
436
441
  "deepseek": "deepseek-v4-pro",
437
- "glm": "glm-5.3",
442
+ "glm": "glm-5.3-flash",
438
443
  "grok": "grok-4.6",
439
444
  "qwen3": "qwen3.8-max",
440
445
  "kimi": "kimi-code/k3-256k",
@@ -446,7 +451,7 @@
446
451
  "codex": "gpt-5.6-sol",
447
452
  "mistral": "mistral-medium-3.5",
448
453
  "deepseek": "deepseek-v4-pro",
449
- "glm": "glm-5.3",
454
+ "glm": "glm-5.3-flash",
450
455
  "grok": "grok-4.6",
451
456
  "qwen3": "qwen3.7-max",
452
457
  "kimi": "kimi-code/k3",
@@ -458,7 +463,7 @@
458
463
  "codex": "gpt-5.6-terra",
459
464
  "mistral": "mistral-medium-3.5",
460
465
  "deepseek": "deepseek-v4-flash",
461
- "glm": "glm-5.3",
466
+ "glm": "glm-5.3-flash",
462
467
  "grok": "grok-4.5",
463
468
  "qwen3": "qwen3.6-35b-a3b",
464
469
  "kimi": "kimi-code/k3",
@@ -0,0 +1,62 @@
1
+ # Release v4.0.3
2
+
3
+ **Date:** 2026-08-29
4
+ **Type:** Patch — upgrade the GLM consultant to GLM-5.3-Flash
5
+ **Previous:** v4.0.2
6
+
7
+ ## Highlights
8
+
9
+ - GLM uses `glm-5.3-flash` in maximum, premium, and standard tiers.
10
+ - `max_quality` continues to request GLM's `max` reasoning effort; the economy tier remains `glm-4-flash`.
11
+ - Existing managed GLM defaults migrate forward while explicit model pins survive.
12
+ - A real single-attempt Z.AI smoke confirmed the exact model and API transport.
13
+
14
+ ## What's New
15
+
16
+ ### GLM-5.3-Flash default
17
+
18
+ New installations and runs without a GLM model override now request `glm-5.3-flash`. The same exact identifier is selected by the maximum, premium, and standard model tiers. This release does not change the Z.AI OpenAI-compatible endpoint, response budget, panel composition, routing affinities, or GLM's Methodologist persona.
19
+
20
+ `max_quality` still sends `reasoning_effort=max` and a 16,384-token response budget. The economy preset remains on `glm-4-flash`.
21
+
22
+ ### Managed migration and cost disclosure
23
+
24
+ When `ai-consultants configure` rewrites a configuration, the exact historical generated values `glm-5.2` and `glm-5.3` advance to `glm-5.3-flash`. Values marked `# ai-consultants:pin` remain untouched.
25
+
26
+ GLM-5.3-Flash is explicitly listed as unpriced on the Coding Plan transport. The catalog also keeps legacy `glm-5.3` pins unpriced, preventing the estimator from presenting a fabricated fallback dollar rate.
27
+
28
+ ### Exact-transport verification
29
+
30
+ One authorized live smoke used the shipped `query_glm.sh` adapter, the Z.AI OpenAI-compatible endpoint, `glm-5.3-flash`, max effort, a single attempt, and no retry. It completed with HTTP 200 and exit 0 in about 12 seconds; the response reported the exact requested model and measured 37 input plus 308 output tokens.
31
+
32
+ The model returned near-structured text rather than the requested JSON. The adapter handled that response as designed: it retained the `PONG` content, labeled the answer as an unstructured-provider fallback, reduced confidence to 5, and disclosed the format caveat. This smoke therefore attests transport, authentication, model identity, max-effort acceptance, token accounting, and fallback behavior; it does not claim strict JSON adherence from every GLM-5.3-Flash response.
33
+
34
+ ## Breaking Changes
35
+
36
+ None — this release is backwards-compatible. Explicit GLM model pins are preserved.
37
+
38
+ ## Upgrade Guide
39
+
40
+ ```bash
41
+ # npx (no install)
42
+ npx ai-consultants "question"
43
+
44
+ # git clone install
45
+ cd ~/.claude/skills/ai-consultants && git pull
46
+
47
+ # curl | bash install
48
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
49
+ ```
50
+
51
+ New installations use GLM-5.3-Flash automatically. Existing installations with an unpinned managed GLM value should run:
52
+
53
+ ```bash
54
+ ai-consultants configure --force
55
+ ```
56
+
57
+ Alternatively, set `GLM_MODEL=glm-5.3-flash` explicitly. A value marked `# ai-consultants:pin` will not be migrated.
58
+
59
+ ## Commits
60
+
61
+ - `fc6aa85` feat: upgrade GLM default to 5.3 Flash
62
+ - `b2690c3` Merge pull request #15 from matteoscurati/agent/glm-5.3-flash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-consultants",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "A cross-vendor panel of up to 10 AI models that returns the coverage union of their distinct perspectives",
5
5
  "bin": {
6
6
  "ai-consultants": "bin/ai-consultants"
@@ -252,7 +252,7 @@ KIMI_MODEL=kimi-code/k3
252
252
  QWEN3_MODEL=qwen3.7-max
253
253
  QWEN3_MAX_QUALITY_TIMEOUT=600
254
254
  QWEN3_API_MAX_TOKENS=16384
255
- GLM_MODEL=glm-5.3
255
+ GLM_MODEL=glm-5.3-flash
256
256
  GLM_API_MAX_TOKENS=16384
257
257
  GLM_REASONING_EFFORT= # max_quality sets max
258
258
  GROK_MODEL=grok-4.6
package/scripts/config.sh CHANGED
@@ -186,7 +186,7 @@ QWEN3_FORMAT="${QWEN3_FORMAT:-qwen}"
186
186
  # GLM CONFIGURATION - The Code Specialist (API-based)
187
187
  # =============================================================================
188
188
 
189
- GLM_MODEL="${GLM_MODEL:-glm-5.3}"
189
+ GLM_MODEL="${GLM_MODEL:-glm-5.3-flash}"
190
190
  GLM_TIMEOUT_SECONDS="${GLM_TIMEOUT:-180}"
191
191
  GLM_API_MAX_TOKENS="${GLM_API_MAX_TOKENS:-16384}"
192
192
  GLM_API_URL="${GLM_API_URL:-https://api.z.ai/api/coding/paas/v4/chat/completions}"
@@ -623,7 +623,7 @@ get_model_for_tier() {
623
623
  codex) echo "gpt-5.6-sol" ;;
624
624
  mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "mistral-medium-3.5" ;;
625
625
  deepseek) echo "deepseek-v4-pro" ;;
626
- glm) echo "glm-5.3" ;;
626
+ glm) echo "glm-5.3-flash" ;;
627
627
  grok) echo "grok-4.6" ;;
628
628
  qwen3) echo "qwen3.8-max" ;;
629
629
  kimi) echo "kimi-code/k3-256k" ;;
@@ -638,7 +638,7 @@ get_model_for_tier() {
638
638
  codex) echo "gpt-5.6-sol" ;;
639
639
  mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "mistral-medium-3.5" ;;
640
640
  deepseek) echo "deepseek-v4-pro" ;;
641
- glm) echo "glm-5.3" ;;
641
+ glm) echo "glm-5.3-flash" ;;
642
642
  grok) echo "grok-4.6" ;;
643
643
  qwen3) echo "qwen3.7-max" ;;
644
644
  kimi) echo "kimi-code/k3" ;;
@@ -653,7 +653,7 @@ get_model_for_tier() {
653
653
  codex) echo "gpt-5.6-terra" ;;
654
654
  mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "mistral-medium-3.5" ;;
655
655
  deepseek) echo "deepseek-v4-flash" ;;
656
- glm) echo "glm-5.3" ;; # Same as premium (no mid-tier GLM)
656
+ glm) echo "glm-5.3-flash" ;; # Same as premium (no mid-tier GLM)
657
657
  grok) echo "grok-4.5" ;;
658
658
  qwen3) echo "qwen3.6-35b-a3b" ;; # Open-weight MoE (35B total, 3B active)
659
659
  kimi) echo "kimi-code/k3" ;;
@@ -1011,4 +1011,4 @@ EOF
1011
1011
  # VERSION
1012
1012
  # =============================================================================
1013
1013
 
1014
- AI_CONSULTANTS_VERSION="4.0.2"
1014
+ AI_CONSULTANTS_VERSION="4.0.3"
@@ -307,11 +307,14 @@ if [[ "$(read_value "$WORK_FILE" GEMINI_MODEL 2>/dev/null || true)" == "Gemini 3
307
307
  echo "Migrated managed Gemini CLI default: Gemini 3.1 Pro (High) -> Gemini 3.7 Flash (High)" >&2
308
308
  fi
309
309
 
310
- if [[ "$(read_value "$WORK_FILE" GLM_MODEL 2>/dev/null || true)" == "glm-5.2" ]] \
311
- && ! has_value_marker "$WORK_FILE" GLM_MODEL "$PIN_MARKER"; then
312
- set_value GLM_MODEL "glm-5.3 $DEFAULT_MARKER"
313
- echo "Migrated managed GLM default: glm-5.2 -> glm-5.3" >&2
314
- fi
310
+ case "$(read_value "$WORK_FILE" GLM_MODEL 2>/dev/null || true)" in
311
+ glm-5.2|glm-5.3)
312
+ if ! has_value_marker "$WORK_FILE" GLM_MODEL "$PIN_MARKER"; then
313
+ set_value GLM_MODEL "glm-5.3-flash $DEFAULT_MARKER"
314
+ echo "Migrated managed GLM default to glm-5.3-flash" >&2
315
+ fi
316
+ ;;
317
+ esac
315
318
 
316
319
  if [[ "$(read_value "$WORK_FILE" GROK_MODEL 2>/dev/null || true)" == "grok-4.5" ]] \
317
320
  && ! has_value_marker "$WORK_FILE" GROK_MODEL "$PIN_MARKER"; then
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # Environment variables:
7
7
  # GLM_API_KEY - API key for Zhipu AI (required)
8
- # GLM_MODEL - Model to use (default: glm-5.3)
8
+ # GLM_MODEL - Model to use (default: glm-5.3-flash)
9
9
  # GLM_TIMEOUT - Timeout in seconds (default: 180)
10
10
  # ENABLE_PERSONA - Enable "The Methodologist" persona (default: true)
11
11