Removes kilo, kimi, kimi-code, copilot, windsurf, augment, trae, qwen, hermes, cline, codebuddy and pi end to end: capability descriptors, installer branches and converters (bin/install.js 14.9k -> 11.2k lines), TypeScript converters, hook surfaces and runtime homes, review lanes qwen/kimi-code, the two pi migrations, Kimi payload normalization in the hook guards, dead hostBehaviors vocabulary, launcher home probes, fixtures, runtime-specific tests and the prose that presented them as supported. Installer output for the six kept runtimes is byte-identical to before the prune. The Kimi tool-vocabulary tests in workflow-guard, read-guard and read-injection-scanner are left in place pending a decision.
68 lines
2.2 KiB
JavaScript
68 lines
2.2 KiB
JavaScript
'use strict';
|
|
|
|
const { describe, test } = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const {
|
|
resolveReviewerSelection,
|
|
} = require('../msd-core/bin/lib/review-reviewer-selection.cjs');
|
|
|
|
describe('review default reviewers resolution (#3079)', () => {
|
|
test('no flags + config defaults selects configured subset', () => {
|
|
const result = resolveReviewerSelection({
|
|
detected: ['opencode', 'codex', 'claude'],
|
|
explicitFlags: [],
|
|
allFlag: false,
|
|
configuredDefaultReviewers: ['opencode', 'codex'],
|
|
});
|
|
|
|
assert.strictEqual(result.source, 'config_default');
|
|
assert.deepStrictEqual(result.selected, ['codex', 'opencode']);
|
|
assert.deepStrictEqual(result.errors, []);
|
|
});
|
|
|
|
test('--all ignores configured defaults', () => {
|
|
const result = resolveReviewerSelection({
|
|
detected: ['opencode', 'codex', 'claude'],
|
|
explicitFlags: [],
|
|
allFlag: true,
|
|
configuredDefaultReviewers: ['opencode'],
|
|
});
|
|
|
|
assert.strictEqual(result.source, 'all_flag');
|
|
assert.deepStrictEqual(result.selected, ['claude', 'codex', 'opencode']);
|
|
});
|
|
|
|
test('explicit flags win over config defaults', () => {
|
|
const result = resolveReviewerSelection({
|
|
detected: ['opencode', 'codex', 'claude', 'cursor'],
|
|
explicitFlags: ['cursor'],
|
|
allFlag: false,
|
|
configuredDefaultReviewers: ['opencode', 'codex'],
|
|
});
|
|
|
|
assert.strictEqual(result.source, 'explicit_flags');
|
|
assert.deepStrictEqual(result.selected, ['cursor']);
|
|
});
|
|
|
|
test('unknown configured slugs warn and all-undetected known slugs error', () => {
|
|
const result = resolveReviewerSelection({
|
|
detected: ['opencode'],
|
|
explicitFlags: [],
|
|
allFlag: false,
|
|
configuredDefaultReviewers: ['unknown_slug', 'codex'],
|
|
});
|
|
|
|
assert.strictEqual(result.source, 'config_default');
|
|
assert.ok(
|
|
result.warnings.some((msg) => msg.includes('unknown reviewer slug') && msg.includes('unknown_slug')),
|
|
`expected warning for unknown slug, got: ${JSON.stringify(result.warnings)}`
|
|
);
|
|
assert.ok(
|
|
result.errors.some((msg) => msg.includes('all configured default reviewers are unavailable')),
|
|
`expected unavailable error, got: ${JSON.stringify(result.errors)}`
|
|
);
|
|
});
|
|
});
|
|
|