@lcv-ideas-software/cross-review 4.2.1 → 4.2.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/CHANGELOG.md +42 -0
- package/README.md +13 -9
- package/dist/scripts/provider-refresh-smoke.d.ts +1 -0
- package/dist/scripts/provider-refresh-smoke.js +56 -0
- package/dist/scripts/provider-refresh-smoke.js.map +1 -0
- package/dist/scripts/smoke.js +127 -17
- package/dist/scripts/smoke.js.map +1 -1
- package/dist/src/core/config.d.ts +2 -2
- package/dist/src/core/config.js +14 -13
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/orchestrator.d.ts +24 -0
- package/dist/src/core/orchestrator.js +200 -1
- package/dist/src/core/orchestrator.js.map +1 -1
- package/dist/src/core/status.js +13 -0
- package/dist/src/core/status.js.map +1 -1
- package/dist/src/core/types.d.ts +2 -1
- package/dist/src/core/types.js +3 -3
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/peers/errors.js +3 -3
- package/dist/src/peers/errors.js.map +1 -1
- package/dist/src/peers/grok.js +5 -5
- package/dist/src/peers/grok.js.map +1 -1
- package/dist/src/peers/model-selection.js +6 -8
- package/dist/src/peers/model-selection.js.map +1 -1
- package/dist/src/peers/perplexity.js +3 -3
- package/dist/src/peers/perplexity.js.map +1 -1
- package/docs/api-keys.md +3 -3
- package/docs/apresentacao-cross-review.md +770 -0
- package/docs/apresentacao.md +572 -0
- package/docs/architecture.md +2 -0
- package/docs/caching.md +9 -8
- package/docs/costs.md +11 -0
- package/docs/model-selection.md +37 -29
- package/package.json +6 -3
package/docs/model-selection.md
CHANGED
|
@@ -36,28 +36,29 @@ unavailable, the round retries on the same model or skips that peer
|
|
|
36
36
|
hatch is an explicit operator override via `CROSS_REVIEW_<PROVIDER>_MODEL`
|
|
37
37
|
env-var per host — a deliberate decision, never a silent downgrade.
|
|
38
38
|
|
|
39
|
-
| Peer | Pin
|
|
40
|
-
| ---------------- |
|
|
41
|
-
| OpenAI/Codex | `gpt-5.5`
|
|
42
|
-
| Anthropic/Claude | `claude-opus-4-
|
|
43
|
-
| Google/Gemini | `gemini-
|
|
44
|
-
| DeepSeek | `deepseek-v4-pro`
|
|
45
|
-
| xAI/Grok | `grok-4
|
|
46
|
-
| Perplexity | `sonar-reasoning-pro`
|
|
39
|
+
| Peer | Pin | Override env-var |
|
|
40
|
+
| ---------------- | ------------------------ | ------------------------------- |
|
|
41
|
+
| OpenAI/Codex | `gpt-5.5` | `CROSS_REVIEW_OPENAI_MODEL` |
|
|
42
|
+
| Anthropic/Claude | `claude-opus-4-8` | `CROSS_REVIEW_ANTHROPIC_MODEL` |
|
|
43
|
+
| Google/Gemini | `gemini-3.1-pro-preview` | `CROSS_REVIEW_GEMINI_MODEL` |
|
|
44
|
+
| DeepSeek | `deepseek-v4-pro` | `CROSS_REVIEW_DEEPSEEK_MODEL` |
|
|
45
|
+
| xAI/Grok | `grok-4.3` | `CROSS_REVIEW_GROK_MODEL` |
|
|
46
|
+
| Perplexity | `sonar-reasoning-pro` | `CROSS_REVIEW_PERPLEXITY_MODEL` |
|
|
47
47
|
|
|
48
48
|
Haiku and other low-capacity Anthropic models are intentionally excluded —
|
|
49
49
|
the cross-review role requires advanced reasoning depth.
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
`gemini
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
Google's deprecation schedule lists `gemini-2.5-pro` for shutdown on
|
|
52
|
+
2026-10-16 and recommends `gemini-3.1-pro-preview` as the replacement.
|
|
53
|
+
Workspace policy remains: only `gemini-*-pro` variants >= 2.5 are permitted
|
|
54
|
+
for this peer; no `*-flash` variants and no models below 2.5. Operators can
|
|
55
|
+
still override the pin explicitly, but the default/canonical path follows the
|
|
56
|
+
documented replacement.
|
|
56
57
|
|
|
57
|
-
`GROK_API_KEY` is the canonical auth variable for xAI. The pinned
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
`GROK_API_KEY` is the canonical auth variable for xAI. The pinned `grok-4.3`
|
|
59
|
+
model accepts explicit `reasoning.effort` values through `high`; the adapter
|
|
60
|
+
clamps the shared effort scale so unsupported `xhigh`/`max` requests do not
|
|
61
|
+
reach the wire.
|
|
61
62
|
|
|
62
63
|
`PERPLEXITY_API_KEY` is the canonical auth variable for Perplexity Sonar.
|
|
63
64
|
Sonar billing has a 3rd dimension: per-1000-requests fee that scales with
|
|
@@ -70,11 +71,17 @@ to skip search for the synthesis step.
|
|
|
70
71
|
Cross-review is optimized for correctness over latency and cost. Provider adapters explicitly request thinking/reasoning where the official APIs support it:
|
|
71
72
|
|
|
72
73
|
- OpenAI/Codex: Responses API with reasoning effort `xhigh` by default.
|
|
73
|
-
- Anthropic/Claude: adaptive thinking with omitted thinking display plus `output_config.effort=xhigh` by default on Opus 4.
|
|
74
|
-
- Google/Gemini:
|
|
74
|
+
- Anthropic/Claude: adaptive thinking with omitted thinking display plus `output_config.effort=xhigh` by default on Opus 4.8.
|
|
75
|
+
- Google/Gemini: high thinking level for the pinned Gemini 3.1 Pro Preview
|
|
76
|
+
model; the adapter keeps the Gemini 3 thinking path explicit because this
|
|
77
|
+
peer is used for complex reasoning and coding review.
|
|
75
78
|
- DeepSeek: `thinking.type=enabled` with `reasoning_effort=max` by default.
|
|
76
|
-
- Grok: the pinned `grok-4
|
|
77
|
-
the
|
|
79
|
+
- Grok: the pinned `grok-4.3` model accepts explicit `reasoning.effort`;
|
|
80
|
+
unsupported shared-scale values are clamped to the nearest supported value.
|
|
81
|
+
- Perplexity: the pinned `sonar-reasoning-pro` model accepts an explicit
|
|
82
|
+
`reasoning_effort` enum (`minimal`/`low`/`medium`/`high`, `high` by default);
|
|
83
|
+
`clampEffortForPerplexity` narrows the shared effort scale into that range
|
|
84
|
+
(`none`/`minimal` → `minimal`; `xhigh`/`max` → `high`).
|
|
78
85
|
|
|
79
86
|
## Historical Documentation Refresh — 2026-05-05
|
|
80
87
|
|
|
@@ -85,18 +92,19 @@ above and enforced by `src/peers/model-selection.ts`.
|
|
|
85
92
|
- OpenAI: GPT-5.5 is the current recommended frontier model for complex
|
|
86
93
|
reasoning/coding, with Responses API reasoning effort values through `xhigh`
|
|
87
94
|
and 1M context / 128K output.
|
|
88
|
-
- Anthropic: Claude Opus 4.
|
|
89
|
-
agentic-coding default; current docs
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
95
|
+
- Anthropic: Claude Opus 4.8 supersedes Opus 4.7 as the current
|
|
96
|
+
complex-reasoning and agentic-coding default; current docs retain the same
|
|
97
|
+
regular price tier as 4.7.
|
|
98
|
+
- Google Gemini: Gemini 3.1 Pro Preview is the documented replacement for
|
|
99
|
+
Gemini 2.5 Pro. Gemini 3 Pro Preview was deprecated/shut down and must stay
|
|
100
|
+
out of current pins and downgrade chains.
|
|
93
101
|
- DeepSeek: DeepSeek-V4 exposes `deepseek-v4-pro` and `deepseek-v4-flash`;
|
|
94
102
|
legacy `deepseek-chat` and `deepseek-reasoner` were scheduled for
|
|
95
103
|
discontinuation on 2026-07-24 and must stay out of current pins and
|
|
96
104
|
downgrade chains.
|
|
97
|
-
- xAI Grok: historical Grok notes covered explicit-effort models
|
|
98
|
-
the current `grok-4
|
|
99
|
-
|
|
105
|
+
- xAI Grok: historical Grok notes covered aliases and explicit-effort models
|
|
106
|
+
that predate the current concrete `grok-4.3` pin. Current runtime behavior
|
|
107
|
+
is defined above: send clamped explicit `reasoning.effort` for `grok-4.3`.
|
|
100
108
|
|
|
101
109
|
## Important
|
|
102
110
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lcv-ideas-software/cross-review",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.3",
|
|
4
4
|
"description": "API-first MCP server for multi-model cross-review with unanimous convergence gates.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/mcp/server.js",
|
|
@@ -24,11 +24,12 @@
|
|
|
24
24
|
"dev": "tsx src/mcp/server.ts",
|
|
25
25
|
"dashboard": "tsx src/dashboard/server.ts",
|
|
26
26
|
"smoke": "tsx scripts/smoke.ts",
|
|
27
|
+
"provider-refresh-smoke": "tsx scripts/provider-refresh-smoke.ts",
|
|
27
28
|
"runtime-smoke": "npm --registry=https://registry.npmjs.org run build && tsx scripts/runtime-smoke.ts",
|
|
28
29
|
"runtime-default-smoke": "tsx scripts/runtime-default-smoke.ts",
|
|
29
30
|
"api-streaming-smoke": "tsx scripts/api-streaming-smoke.ts",
|
|
30
31
|
"release:verify-registry": "node scripts/verify-registry-dist.mjs",
|
|
31
|
-
"test": "npm --registry=https://registry.npmjs.org run build && npm --registry=https://registry.npmjs.org run smoke && npm --registry=https://registry.npmjs.org run runtime-smoke",
|
|
32
|
+
"test": "npm --registry=https://registry.npmjs.org run build && npm --registry=https://registry.npmjs.org run provider-refresh-smoke && npm --registry=https://registry.npmjs.org run smoke && npm --registry=https://registry.npmjs.org run runtime-smoke",
|
|
32
33
|
"lint": "eslint . --max-warnings=0",
|
|
33
34
|
"format": "prettier --write .",
|
|
34
35
|
"format:check": "prettier --check .",
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
"check": "npm --registry=https://registry.npmjs.org run format:check && npm --registry=https://registry.npmjs.org run lint && npm --registry=https://registry.npmjs.org run biome && npm --registry=https://registry.npmjs.org run typecheck"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
|
-
"@anthropic-ai/sdk": "^0.
|
|
44
|
+
"@anthropic-ai/sdk": "^0.100.1",
|
|
44
45
|
"@google/genai": "^2.5.0",
|
|
45
46
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
46
47
|
"openai": "^6.38.0",
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
"@types/node": "^25.9.1",
|
|
59
60
|
"@types/proper-lockfile": "^4.1.4",
|
|
60
61
|
"eslint": "^10.4.0",
|
|
62
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
63
|
"prettier": "^3.8.3",
|
|
62
64
|
"tsx": "^4.22.3",
|
|
63
65
|
"typescript": "^6.0.3",
|
|
@@ -90,6 +92,7 @@
|
|
|
90
92
|
"deepseek",
|
|
91
93
|
"grok",
|
|
92
94
|
"xai",
|
|
95
|
+
"perplexity",
|
|
93
96
|
"api"
|
|
94
97
|
]
|
|
95
98
|
}
|