@lcv-ideas-software/cross-review 4.0.1 → 4.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.
@@ -1,5 +1,5 @@
1
1
  import type { AppConfig, PeerId } from "./types.js";
2
- export declare const VERSION = "4.0.1";
2
+ export declare const VERSION = "4.0.2";
3
3
  export declare const RELEASE_DATE = "2026-05-15";
4
4
  export declare const DEFAULT_MAX_OUTPUT_TOKENS = 20000;
5
5
  export declare function getLastFileConfigResult(): import("./file-config.js").ApplyFileConfigResult | undefined;
@@ -17,7 +17,7 @@ function expandHome(rawPath) {
17
17
  }
18
18
  return rawPath;
19
19
  }
20
- export const VERSION = "4.0.1";
20
+ export const VERSION = "4.0.2";
21
21
  export const RELEASE_DATE = "2026-05-15";
22
22
  export const DEFAULT_MAX_OUTPUT_TOKENS = 20_000;
23
23
  const COST_RATE_ENV_PREFIX = {
@@ -72,10 +72,10 @@ export function selectFromCandidates(peer, candidates, fallback) {
72
72
  source_url: DOCS[peer],
73
73
  confidence: selected ? "verified" : candidates.length > 0 ? "unknown" : "inferred",
74
74
  reason: selected
75
- ? `Selected the first available advanced thinking model from the documented priority list: ${priority.join(" > ")}.`
75
+ ? `Validated availability of the canonical pin in the provider's model API: ${priority.join(", ")}.`
76
76
  : candidates.length > 0
77
- ? `Model API returned candidates, but none matched the advanced thinking priority list (${priority.join(" > ")}); using documented fallback ${fallback} so the run fails visibly if unavailable instead of silently downgrading.`
78
- : `Model API unavailable; using documented fallback ${fallback}.`,
77
+ ? `Model API returned candidates, but the canonical pin (${priority.join(", ")}) was not among them; keeping the canonical pin ${fallback} so the run fails visibly instead of silently downgrading (no-fallback policy, operator directive 2026-05-14).`
78
+ : `Model API unavailable; keeping the canonical pin ${fallback} (no-fallback policy).`,
79
79
  };
80
80
  }
81
81
  function overrideSelection(peer, value) {
@@ -95,8 +95,8 @@ function overrideSelection(peer, value) {
95
95
  source_url: DOCS[peer],
96
96
  confidence: known ? "verified" : "inferred",
97
97
  reason: known
98
- ? `${envOverrideName(peer)} is set; the explicit override has priority over automatic selection.`
99
- : `${envOverrideName(peer)}='${value}' is set but is not in the documented priority list (${PRIORITY[peer].join(" > ")}); honoring the operator override but flagging confidence=inferred so any provider 404 surfaces here.`,
98
+ ? `${envOverrideName(peer)} is set to the canonical pin; the explicit override is acknowledged but matches the canonical pin exactly.`
99
+ : `${envOverrideName(peer)}='${value}' is set and differs from the canonical pin (${PRIORITY[peer].join(", ")}); honoring the operator override (the only legitimate non-canonical path) but flagging confidence=inferred so any provider 404 surfaces here.`,
100
100
  };
101
101
  }
102
102
  async function openAIModels(config) {
@@ -229,7 +229,7 @@ export async function resolveBestModel(config, peer) {
229
229
  candidates: [],
230
230
  source_url: DOCS[peer],
231
231
  confidence: "inferred",
232
- reason: "API key is missing in the current process; using the documented fallback until the key is available.",
232
+ reason: "API key is missing in the current process; keeping the canonical pin until the key is available (no-fallback policy).",
233
233
  };
234
234
  }
235
235
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"model-selection.js","sourceRoot":"","sources":["../../../src/peers/model-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-selection.js","sourceRoot":"","sources":["../../../src/peers/model-selection.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,4DAA4D;IACnE,MAAM,EAAE,kEAAkE;IAC1E,MAAM,EAAE,8CAA8C;IACtD,QAAQ,EAAE,uCAAuC;IACjD,IAAI,EAAE,gEAAgE;IACtE,kEAAkE;IAClE,yDAAyD;IACzD,0DAA0D;IAC1D,gEAAgE;IAChE,kEAAkE;IAClE,UAAU,EAAE,mDAAmD;CAC/B,CAAC;AAEnC,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,wEAAwE;AACxE,gEAAgE;AAChE,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,MAAM,QAAQ,GAA6B;IACzC,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,MAAM,EAAE,CAAC,iBAAiB,CAAC;IAC3B,MAAM,EAAE,CAAC,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,gEAAgE;IAChE,qEAAqE;IACrE,+DAA+D;IAC/D,0DAA0D;IAC1D,iCAAiC;IACjC,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,UAAU,EAAE,CAAC,qBAAqB,CAAC;CACpC,CAAC;AAEF,SAAS,eAAe,CAAC,IAAY;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,2BAA2B,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,8BAA8B,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,2BAA2B,CAAC;QACrC,KAAK,UAAU;YACb,OAAO,6BAA6B,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,yBAAyB,CAAC;QACnC,KAAK,YAAY;YACf,OAAO,+BAA+B,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAiB,EAAE,IAAY;IACjD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,UAA4B,EAC5B,QAAgB;IAEhB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;QACvC,UAAU;QACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QAClF,MAAM,EAAE,QAAQ;YACd,CAAC,CAAC,4EAA4E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACpG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrB,CAAC,CAAC,yDAAyD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD,QAAQ,gHAAgH;gBACzP,CAAC,CAAC,oDAAoD,QAAQ,wBAAwB;KAC3F,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,uEAAuE;IACvE,2DAA2D;IAC3D,gEAAgE;IAChE,mEAAmE;IACnE,qEAAqE;IACrE,iEAAiE;IACjE,kEAAkE;IAClE,wCAAwC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;QACtB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;QAC3C,MAAM,EAAE,KAAK;YACX,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,4GAA4G;YACtI,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,KAAK,gDAAgD,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gJAAgJ;KAChQ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAiB;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,IAAI,CAAC,IAAI;SACb,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAc;QACtB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KAC/D,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAiB;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,KAAc;QACtB,QAAQ,EAAE;YACR,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAiB;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAChE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAAE,SAAS;QACrD,UAAU,CAAC,IAAI,CAAC;YACd,EAAE;YACF,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,gBAAgB,EAAE,SAAS;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAiB;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAc;QACtB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KAC/D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,UAAU,CAAC,MAAiB;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAc;QACtB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KAC/D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,sEAAsE;AACtE,+DAA+D;AAC/D,sEAAsE;AACtE,qEAAqE;AACrE,kDAAkD;AAClD,KAAK,UAAU,gBAAgB,CAAC,MAAiB;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAiB,EAAE,IAAY;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB,EAAE,IAAY;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,IAAI,WAAW;QAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;YACtB,UAAU,EAAE,UAAU;YACtB,MAAM,EACJ,uHAAuH;SAC1H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;YACtB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,qEAAqE,OAAO,EAAE;SACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAc,CAAC,GAAG,CAC1C,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAU,CACtE,CACF,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAA4C,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;QACzC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -114,5 +114,9 @@ Raw chain-of-thought is not persisted. Session continuity is represented through
114
114
 
115
115
  ## Stable Rename
116
116
 
117
- Stable version `2.1.0` renamed the active product to `cross-review`. The earlier development
118
- name remains only in historical changelog or memory notes.
117
+ The v4.0.0 release on 2026-05-15 renamed the product from `cross-review-v2` to
118
+ `cross-review` (npm package, GitHub repo, GitHub Pages domain, MCP server key
119
+ in host configs, env-var prefix, binaries). The companion `cross-review-v1`
120
+ package was discontinued and archived on the same date. Prior names remain
121
+ only in dated historical changelog entries and memory notes; all active
122
+ surfaces describe the product as `cross-review`.
@@ -1,21 +1,30 @@
1
1
  # Model Selection
2
2
 
3
- The server uses automatic model selection unless an explicit environment override is present.
3
+ The server pins each peer to ONE canonical model per the no-downgrade policy
4
+ (operator directive 2026-05-14). The runtime never silently chains a
5
+ multi-model fallback. An explicit operator override via
6
+ `CROSS_REVIEW_<PROVIDER>_MODEL` env-var is the only way to deviate from the
7
+ canonical pin.
4
8
 
5
9
  ## Rules
6
10
 
7
- 1. Query the provider's official model API using the current API key.
11
+ 1. Query the provider's official model API using the current API key to
12
+ validate that the canonical pin is currently available.
8
13
  2. Keep only models that can perform text generation for the peer role.
9
- 3. Exclude known non-thinking, low-capacity or deprecated models from cross-review priority lists.
10
- 4. Compare returned model IDs against the documented priority list.
11
- 5. Select the first available model in that priority list.
12
- 6. Persist the selected model, candidate list, source URL, confidence and reason in the session snapshot.
13
-
14
- If a provider returns models but none match the advanced thinking priority list, the runtime keeps the documented advanced fallback instead of silently downgrading to a weaker random candidate. That makes availability problems visible in probes and review rounds.
14
+ 3. Exclude known non-thinking, low-capacity or deprecated models they
15
+ never become the canonical pin.
16
+ 4. Compare returned model IDs against the canonical pin documented below.
17
+ 5. If the canonical pin is in the API response, select it; if the canonical
18
+ pin is NOT in the response, KEEP the canonical pin anyway (no silent
19
+ downgrade) so any provider availability problem surfaces visibly in
20
+ probes and review rounds instead of mutating into a weaker model behind
21
+ the operator's back.
22
+ 6. Persist the selected model, candidate list, source URL, confidence and
23
+ reason in the session snapshot.
15
24
 
16
25
  The no-downgrade behavior is covered by `scripts/smoke.ts`: when a provider
17
- returns only a weak/deprecated candidate such as `claude-haiku-4-5`, selection
18
- stays on the documented advanced fallback and records `confidence=unknown`.
26
+ returns only a weak/deprecated candidate such as `claude-haiku-4-5`,
27
+ selection stays on the canonical pin and records `confidence=unknown`.
19
28
 
20
29
  ## Current Canonical Pins (no-fallback policy, operator directive 2026-05-14)
21
30
 
@@ -90,6 +99,6 @@ repair:
90
99
 
91
100
  ## Important
92
101
 
93
- The priority list is intentionally code-level configuration, not hidden behavior. Provider model catalogs and deprecation schedules change often, so this file and `src/peers/model-selection.ts` must be reviewed against official provider documentation whenever defaults change.
102
+ The canonical pin per peer is intentionally code-level configuration, not hidden behavior. Provider model catalogs and deprecation schedules change often, so this file and `src/peers/model-selection.ts` must be reviewed against official provider documentation whenever a pin changes.
94
103
 
95
104
  The redacted real-API capability smoke for the current default models is recorded in `docs/reports/cross-review-api-capability-smoke-2026-04-30.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lcv-ideas-software/cross-review",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
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",