@boyingliu01/opencode-plugin 0.36.1 → 0.37.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boyingliu01/opencode-plugin",
3
- "version": "0.36.1",
3
+ "version": "0.37.1",
4
4
  "type": "module",
5
5
  "main": "index.ts",
6
6
  "description": "XP-Gate quality gates + AI workflow skills for OpenCode",
@@ -2,10 +2,20 @@
2
2
  "$comment": [
3
3
  "Delphi Review Configuration Template",
4
4
  "======================================",
5
- "Copy this file to .delphi-config.json and fill in your API keys.",
5
+ "Copy this file to .delphi-config.json and fill in your API key.",
6
6
  "Place this file alongside SKILL.md in the delphi-review skill directory.",
7
7
  "Exactly three roles are required, with distinct trimmed executable model IDs.",
8
8
  "",
9
+ "The default profile routes all three seats through one WhaleCloud gateway so a",
10
+ "single token plan covers the review. The three ids are deliberately different",
11
+ "FLASH-tier models (cheap, fast, and good enough for review):",
12
+ " architecture -> s-deepseek-v4.1-flash",
13
+ " technical -> s-glm-5.3-flash",
14
+ " feasibility -> g-ling-3.1-flash",
15
+ "Check that the seat ids resolve to three DISTINCT backend models on your",
16
+ "gateway -- two different ids can be aliased to the same backend, which defeats",
17
+ "the multi-model invariant while still looking correct in the config.",
18
+ "",
9
19
  "Provider and vendor are unrestricted. provider=local is a fallback and cannot count as a successful expert execution.",
10
20
  "cross_provider_required is deprecated and ignored with warning code cross_provider_required_ignored."
11
21
  ],
@@ -15,23 +25,23 @@
15
25
  "profiles": {
16
26
  "default": {
17
27
  "providers": {
18
- "bailian-tp": {
19
- "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
20
- "api_key": "YOUR_API_KEY"
28
+ "whalecloud": {
29
+ "base_url": "https://lab.iwhalecloud.com/gpt-proxy",
30
+ "api_key": "${WHALECLOUD_API_KEY}"
21
31
  }
22
32
  },
23
33
  "experts": {
24
34
  "architecture": {
25
- "provider": "bailian-tp",
26
- "model": "qwen-plus"
35
+ "provider": "whalecloud",
36
+ "model": "s-deepseek-v4.1-flash"
27
37
  },
28
38
  "technical": {
29
- "provider": "bailian-tp",
30
- "model": "deepseek-v3"
39
+ "provider": "whalecloud",
40
+ "model": "s-glm-5.3-flash"
31
41
  },
32
42
  "feasibility": {
33
- "provider": "bailian-tp",
34
- "model": "glm-4.5"
43
+ "provider": "whalecloud",
44
+ "model": "g-ling-3.1-flash"
35
45
  }
36
46
  }
37
47
  },
@@ -39,23 +49,23 @@
39
49
  "starter": {
40
50
  "$comment": "One provider and token plan serving three distinct models",
41
51
  "providers": {
42
- "bailian-tp": {
43
- "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
44
- "api_key": "YOUR_API_KEY"
52
+ "whalecloud": {
53
+ "base_url": "https://lab.iwhalecloud.com/gpt-proxy",
54
+ "api_key": "${WHALECLOUD_API_KEY}"
45
55
  }
46
56
  },
47
57
  "experts": {
48
58
  "architecture": {
49
- "provider": "bailian-tp",
50
- "model": "qwen-plus"
59
+ "provider": "whalecloud",
60
+ "model": "s-deepseek-v4.1-flash"
51
61
  },
52
62
  "technical": {
53
- "provider": "bailian-tp",
54
- "model": "deepseek-v3"
63
+ "provider": "whalecloud",
64
+ "model": "s-glm-5.3-flash"
55
65
  },
56
66
  "feasibility": {
57
- "provider": "bailian-tp",
58
- "model": "glm-4.5"
67
+ "provider": "whalecloud",
68
+ "model": "g-ling-3.1-flash"
59
69
  }
60
70
  }
61
71
  }
@@ -77,14 +87,14 @@
77
87
  "model or gateway changes. See docs/plans/2026-10-14-sprint-c-design.md section 2.",
78
88
  "Example expert entry:",
79
89
  " \"architecture\": {",
80
- " \"provider\": \"bailian-tp\",",
81
- " \"model\": \"qwen-plus\",",
90
+ " \"provider\": \"whalecloud\",",
91
+ " \"model\": \"s-deepseek-v4.1-flash\",",
82
92
  " \"seat_id\": \"architecture\",",
83
93
  " \"max_prompt_bytes\": 26624,",
84
94
  " \"prompt_calibration\": {",
85
- " \"measured_at\": \"2026-10-05\",",
86
- " \"model_id\": \"qwen-plus\",",
87
- " \"gateway\": \"bailian\",",
95
+ " \"measured_at\": \"2026-11-04\",",
96
+ " \"model_id\": \"s-deepseek-v4.1-flash\",",
97
+ " \"gateway\": \"whalecloud\",",
88
98
  " \"last_pass_bytes\": 26624,",
89
99
  " \"last_fail_bytes\": 36897",
90
100
  " }",
@@ -3,7 +3,7 @@
3
3
  **Generated:** 2026-11-04
4
4
  **Commit:** eb2097b0
5
5
  **Branch:** sprint/2026-11-03-02
6
- **Version:** 0.36.1.0
6
+ **Version:** 0.37.1.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, exactly 3 experts with distinct executable model IDs). Supports design, requirements, and code-walkthrough modes.
@@ -32,10 +32,38 @@ Then replace the provider/model placeholders:
32
32
  "model": "YOUR_PROVIDER/YOUR_MODEL_A"
33
33
 
34
34
  // After (your config):
35
- "model": "bailian-tp/qwen-plus"
35
+ "model": "whalecloud/s-deepseek-v4.1-flash"
36
36
  // The other two role model fields must be different trimmed IDs.
37
37
  ```
38
38
 
39
+ The shipped `.delphi-config.json.example` defaults to three cheap FLASH-tier
40
+ models on one WhaleCloud gateway, which is what most setups want:
41
+
42
+ | seat | model | purpose |
43
+ |------|-------|---------|
44
+ | architecture | `s-deepseek-v4.1-flash` | structure, boundaries, coupling |
45
+ | technical | `s-glm-5.3-flash` | correctness, implementation risk |
46
+ | feasibility | `g-ling-3.1-flash` | cost, schedule, operability |
47
+
48
+ Before trusting a profile, confirm the three ids resolve to three **distinct
49
+ backend** models on your gateway. Gateway aliases can map two different ids to
50
+ the same backend, which satisfies the "distinct ids" check while actually
51
+ running one model twice:
52
+
53
+ ```bash
54
+ # prints the backend each id really reached
55
+ for m in s-deepseek-v4.1-flash s-glm-5.3-flash g-ling-3.1-flash; do
56
+ curl -s https://YOUR_GATEWAY/v1/chat/completions \
57
+ -H "Authorization: Bearer $WHALECLOUD_API_KEY" -H 'Content-Type: application/json' \
58
+ -d "{\"model\":\"$m\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}],\"max_tokens\":5}" \
59
+ | python -c 'import sys,json; print(json.load(sys.stdin).get("model"))'
60
+ done
61
+ ```
62
+
63
+ `xp-gate doctor delphi` reports the configured seats, and every expert result
64
+ records the gateway-reported `resolved_model` so a silent alias collision shows
65
+ up in the review evidence rather than passing unnoticed.
66
+
39
67
  ### Step 3: Ensure provider configuration exists
40
68
 
41
69
  Your `opencode.json` must have the provider definitions. If you're using OpenCode's built-in providers (OpenAI, Anthropic, etc.), you just need API keys set in your environment.
@@ -3,7 +3,7 @@
3
3
  **Generated:** 2026-11-04
4
4
  **Commit:** eb2097b0
5
5
  **Branch:** sprint/2026-11-03-02
6
- **Version:** 0.36.1.0
6
+ **Version:** 0.37.1.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -3,7 +3,7 @@
3
3
  **Generated:** 2026-11-04
4
4
  **Commit:** eb2097b0
5
5
  **Branch:** sprint/2026-11-03-02
6
- **Version:** 0.36.1.0
6
+ **Version:** 0.37.1.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.