review-council 4.4.8 → 4.4.9

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
@@ -221,7 +221,10 @@ config and add `--retry-report original-report.json` with an explicit bounded
221
221
  `--retry-reason` and a fresh `--json-file` destination. RCL binds the exact original
222
222
  report, config, target, head, input, round, attempt, cycle and roster before deriving
223
223
  blocking-only health with the shared quorum policy. The new launch may review changed
224
- current inputs, but its original proof stays bound to those original identities. Healthy or ambiguous evidence refuses.
224
+ current inputs, but its original proof stays bound to those original identities. When
225
+ roles or verifier defaults have since changed, RCL reconstructs the producer version's
226
+ deterministic roster from that bound config; unknown, substituted or ambiguous identities
227
+ still refuse before a claim. Healthy or ambiguous evidence refuses.
225
228
  The 4.1.10 producer predates review cycles and is accepted only when the retained
226
229
  report, native state and attempt state all remain cycle-free.
227
230
  An unadmitted source retries its pending round; an exact latest admitted source
@@ -10,6 +10,7 @@ import { retainStaleFile } from './stale-report-storage.js';
10
10
  import { convergeRunStatePath } from './run-state.js';
11
11
  import { convergeAttemptStatePath, validateConvergeAttemptState } from './attempt-budget.js';
12
12
  import { retrySourceSchema } from './retry-source.js';
13
+ import { authenticHistoricalRoster } from './legacy-roster.js';
13
14
  /**
14
15
  * 4.1.10 is the last guarded-launch producer before review cycles were added.
15
16
  * It already bound the exact roster, config digest, converge ordinals and
@@ -85,7 +86,8 @@ export async function inspectLegacyRetry(input, common, state, previous, attempt
85
86
  report.run.target.head_sha !== previous.headSha || report.run.converge?.target !== state.target ||
86
87
  report.run.converge?.round !== previous.round || report.run.converge?.attempt !== previous.attempt ||
87
88
  report.run.cycle_id !== state.cycle?.id || report.run.config_sha256 !== sha256Hex(configBytes) ||
88
- !isDeepStrictEqual(report.run.roster, input.roster) || report.run.provenance === 'backfill' ||
89
+ (!isDeepStrictEqual(report.run.roster, input.roster) && !authenticHistoricalRoster(report.run, input.config)) ||
90
+ report.run.provenance === 'backfill' ||
89
91
  !supportedLegacyRetryProducer(report, state, attempts) ||
90
92
  report.stats.totalReviews !== previous.totalReviews || report.stats.successfulReviews !== previous.successfulReviews ||
91
93
  report.reviews.length !== previous.totalReviews ||
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-launch-health.js","sourceRoot":"","sources":["../../src/converge/legacy-launch-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy-launch-health.js","sourceRoot":"","sources":["../../src/converge/legacy-launch-health.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Config } from '../config/schema.js';
2
+ import type { RosterEntry } from '../report/run-header.js';
3
+ interface LegacyRunIdentity {
4
+ rcl_version: string;
5
+ roster: RosterEntry[];
6
+ gating: {
7
+ mode: 'verified-consensus' | 'all-findings';
8
+ min_models: number;
9
+ verification_model?: string;
10
+ verification_reasoning_effort?: 'low' | 'medium' | 'high' | 'xhigh' | 'max';
11
+ verification_timeout_ms: number;
12
+ verification_pass_timeout_ms?: number;
13
+ };
14
+ spec?: unknown;
15
+ }
16
+ /** Authenticate a removed producer's deterministic roster without consulting today's role/default registry. */
17
+ export declare function authenticHistoricalRoster(run: LegacyRunIdentity, config: Config): boolean;
18
+ export {};
@@ -0,0 +1,180 @@
1
+ import { isDeepStrictEqual } from 'node:util';
2
+ const CATALOGS = {
3
+ '4.1.10': {
4
+ roles: [
5
+ 'general', 'security-auditor', 'performance-engineer', 'api-design',
6
+ 'test-coverage', 'dx-critic', 'architecture', 'bug-hunter',
7
+ 'accessibility-auditor', 'project-rules', 'spec-compliance',
8
+ 'regression-hunter', 'dead-code', 'dependency-hygiene', 'edge-case-hunter',
9
+ ],
10
+ defaultVerifier: 'google/gemini-3.8-flash',
11
+ },
12
+ '4.1.11': {
13
+ roles: [
14
+ 'general', 'security-auditor', 'performance-engineer', 'api-design',
15
+ 'test-coverage', 'dx-critic', 'architecture', 'bug-hunter',
16
+ 'accessibility-auditor', 'project-rules', 'spec-compliance',
17
+ 'regression-hunter', 'dead-code', 'dependency-hygiene', 'edge-case-hunter',
18
+ ],
19
+ defaultVerifier: 'google/gemini-3.8-flash',
20
+ },
21
+ '4.1.12': {
22
+ roles: [
23
+ 'general', 'security-auditor', 'performance-engineer', 'api-design',
24
+ 'test-coverage', 'dx-critic', 'architecture', 'bug-hunter',
25
+ 'accessibility-auditor', 'spec-compliance', 'regression-hunter',
26
+ 'dependency-hygiene', 'edge-case-hunter',
27
+ ],
28
+ defaultVerifier: 'openai/gpt-6-astra',
29
+ verificationReasoningEffort: 'high',
30
+ },
31
+ };
32
+ function historicalProvider(model) {
33
+ if (model.startsWith('anthropic/'))
34
+ return 'anthropic';
35
+ if (model.startsWith('openai/'))
36
+ return 'openai';
37
+ if (model.startsWith('google/'))
38
+ return 'google';
39
+ if (model.startsWith('openrouter/'))
40
+ return 'openrouter';
41
+ if (model.startsWith('openai-compat/'))
42
+ return 'openai-compat';
43
+ if (model.startsWith('claude'))
44
+ return 'anthropic';
45
+ if (/^(?:gpt|o1|o3|o4)/.test(model))
46
+ return 'openai';
47
+ if (model.startsWith('gemini'))
48
+ return 'google';
49
+ return 'openai-compat';
50
+ }
51
+ function roleDefinitions(config, catalog) {
52
+ const roles = new Map(catalog.roles.map(name => [name, { name, specialized: name !== 'general' }]));
53
+ for (const custom of config.customRoles ?? []) {
54
+ const builtin = roles.get(custom.name) ?? roles.get(custom.name.toLowerCase());
55
+ const role = builtin ?? { name: custom.name, specialized: true };
56
+ roles.set(role.name, role);
57
+ }
58
+ return roles;
59
+ }
60
+ function resolveRequestedRoles(config, catalog, hasSpec, projectRulesPresent) {
61
+ const definitions = roleDefinitions(config, catalog);
62
+ const requested = config.roles;
63
+ if (requested && requested.length > 0) {
64
+ const all = requested.some(name => name.toLowerCase() === 'all');
65
+ if (all && requested.length !== 1)
66
+ return undefined;
67
+ if (all) {
68
+ return [...definitions.values()].filter(role => (role.name !== 'project-rules' || projectRulesPresent) &&
69
+ (role.name !== 'spec-compliance' || hasSpec));
70
+ }
71
+ const resolved = [];
72
+ for (const name of requested) {
73
+ const role = definitions.get(name) ?? definitions.get(name.toLowerCase());
74
+ if (!role)
75
+ return undefined;
76
+ resolved.push(role);
77
+ }
78
+ return resolved.length > 0 ? resolved : undefined;
79
+ }
80
+ return [...definitions.values()].filter(role => (role.name !== 'project-rules' || projectRulesPresent) &&
81
+ (role.name !== 'spec-compliance' || hasSpec));
82
+ }
83
+ function historicalGating(config, catalog, rosterModels) {
84
+ const input = config.gating;
85
+ const mode = input?.mode ?? 'verified-consensus';
86
+ const minModels = input?.minModels ?? 2;
87
+ if (!Number.isSafeInteger(minModels) || minModels < 2)
88
+ return undefined;
89
+ let verificationModel = input?.verificationModel;
90
+ if (verificationModel?.startsWith('openrouter/'))
91
+ return undefined;
92
+ if (verificationModel === undefined) {
93
+ const providers = new Set(rosterModels.map(historicalProvider));
94
+ verificationModel = providers.has(historicalProvider(catalog.defaultVerifier))
95
+ ? catalog.defaultVerifier
96
+ : rosterModels.find(model => ['anthropic', 'openai', 'google'].includes(historicalProvider(model)));
97
+ }
98
+ const effort = input?.verificationReasoningEffort ??
99
+ (verificationModel === catalog.defaultVerifier ? catalog.verificationReasoningEffort : undefined);
100
+ if (effort !== undefined && (!verificationModel || historicalProvider(verificationModel) !== 'openai'))
101
+ return undefined;
102
+ const passTimeout = input?.verificationPassTimeout ?? 180_000;
103
+ const timeout = input?.verificationTimeout ?? passTimeout;
104
+ if (![passTimeout, timeout].every(value => Number.isFinite(value) && value > 0 && value <= 2_147_483_647))
105
+ return undefined;
106
+ return {
107
+ mode,
108
+ min_models: minModels,
109
+ ...(verificationModel ? { verification_model: verificationModel } : {}),
110
+ ...(effort ? { verification_reasoning_effort: effort } : {}),
111
+ verification_timeout_ms: timeout,
112
+ verification_pass_timeout_ms: passTimeout,
113
+ };
114
+ }
115
+ function buildRoster(config, roles, gating) {
116
+ if (!gating)
117
+ return undefined;
118
+ const models = config.models ?? [];
119
+ const secondaryModels = config.secondaryModels ?? [];
120
+ const asyncModels = (config.asyncModels ?? []).filter(model => !models.includes(model));
121
+ const definitions = new Map(roles.map(role => [role.name, role]));
122
+ let blocking;
123
+ if ((config.reviewers?.length ?? 0) > 0) {
124
+ blocking = config.reviewers.flatMap(pair => {
125
+ const role = definitions.get(pair.role) ?? definitions.get(pair.role.toLowerCase());
126
+ return role ? [{ model: pair.model, role: role.name, provider: historicalProvider(pair.model), lane: 'blocking' }] : [];
127
+ });
128
+ if (blocking.length === 0)
129
+ return undefined;
130
+ }
131
+ else {
132
+ const core = new Set(models);
133
+ blocking = [];
134
+ for (const model of models) {
135
+ for (const role of roles.filter(candidate => !candidate.specialized)) {
136
+ blocking.push({ model, role: role.name, provider: historicalProvider(model), lane: 'blocking' });
137
+ }
138
+ }
139
+ const allModels = [...new Set([...models, ...secondaryModels])];
140
+ if (allModels.length === 0 && roles.some(role => role.specialized))
141
+ return undefined;
142
+ roles.filter(role => role.specialized).forEach((role, index) => {
143
+ const model = allModels[index % allModels.length];
144
+ blocking.push({ model, role: role.name, provider: historicalProvider(model),
145
+ lane: core.has(model) ? 'blocking' : 'secondary' });
146
+ });
147
+ }
148
+ const async = config.reviewers?.length ? [] : asyncModels.flatMap(model => roles.filter(role => !role.specialized).map(role => ({ model, role: role.name,
149
+ provider: historicalProvider(model), lane: 'async' })));
150
+ const verification = gating.mode === 'verified-consensus' && gating.verification_model
151
+ ? [{ model: gating.verification_model, role: 'verification',
152
+ provider: historicalProvider(gating.verification_model), lane: 'verification' }]
153
+ : [];
154
+ return [...blocking, ...async, ...verification];
155
+ }
156
+ /** Authenticate a removed producer's deterministic roster without consulting today's role/default registry. */
157
+ export function authenticHistoricalRoster(run, config) {
158
+ if (!Object.hasOwn(CATALOGS, run.rcl_version))
159
+ return false;
160
+ const catalog = CATALOGS[run.rcl_version];
161
+ if (!catalog || !Array.isArray(run.roster) || run.roster.length === 0)
162
+ return false;
163
+ // A retained report has no authenticated source for either custom prompts or
164
+ // explicit reviewer selection. Preserve the current-roster path for those
165
+ // configurations, but never infer them from a historical default catalog.
166
+ if ((config.customRoles?.length ?? 0) > 0 || (config.reviewers?.length ?? 0) > 0)
167
+ return false;
168
+ const rosterModels = [...(config.models ?? []), ...(config.secondaryModels ?? []), ...(config.asyncModels ?? [])];
169
+ const gating = historicalGating(config, catalog, rosterModels);
170
+ if (!gating || !isDeepStrictEqual(run.gating, gating))
171
+ return false;
172
+ const projectVariants = catalog.roles.includes('project-rules') && !config.roles?.includes('project-rules')
173
+ ? [false, true] : [true];
174
+ return projectVariants.some(projectRulesPresent => {
175
+ const roles = resolveRequestedRoles(config, catalog, run.spec !== undefined, projectRulesPresent);
176
+ const roster = roles && buildRoster(config, roles, gating);
177
+ return roster !== undefined && isDeepStrictEqual(run.roster, roster);
178
+ });
179
+ }
180
+ //# sourceMappingURL=legacy-roster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-roster.js","sourceRoot":"","sources":["../../src/converge/legacy-roster.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "review-council",
3
- "version": "4.4.8",
3
+ "version": "4.4.9",
4
4
  "description": "Review Council — multi-model AI code review CLI",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",