refactor: drop 12 runtimes, keep Claude, Codex, OpenCode, Cursor, ZCode, Antigravity
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.
This commit is contained in:
@@ -12,9 +12,7 @@ const { runtimeFlags } = require('../msd-core/bin/lib/runtime-name-policy.cjs');
|
||||
const registry = require('../msd-core/bin/lib/capability-registry.cjs');
|
||||
|
||||
const EXPECTED_FLAGS = [
|
||||
'isOpencode', 'isKilo', 'isCodex', 'isCopilot', 'isAntigravity',
|
||||
'isCursor', 'isWindsurf', 'isAugment', 'isTrae', 'isQwen', 'isHermes',
|
||||
'isCodebuddy', 'isCline', 'isKimi', 'isKimiCode', 'isZcode', 'isPi',
|
||||
'isOpencode', 'isCodex', 'isAntigravity', 'isCursor', 'isZcode',
|
||||
];
|
||||
|
||||
// #2103: registry runtimes that are NEVER CLI-installed via bin/install.js
|
||||
@@ -51,12 +49,12 @@ test('runtimeFlags: claude / unknown / empty → all flags false (fail-closed)',
|
||||
}
|
||||
});
|
||||
|
||||
test('runtimeFlags: all 17 flags present + boolean + the object is frozen', () => {
|
||||
test('runtimeFlags: all 5 flags present + boolean + the object is frozen', () => {
|
||||
const flags = runtimeFlags('opencode');
|
||||
for (const f of EXPECTED_FLAGS) {
|
||||
assert.strictEqual(typeof flags[f], 'boolean', `${f} must be boolean`);
|
||||
}
|
||||
assert.deepStrictEqual(Object.keys(flags).sort(), [...EXPECTED_FLAGS].sort(), 'exactly the 17 flags');
|
||||
assert.deepStrictEqual(Object.keys(flags).sort(), [...EXPECTED_FLAGS].sort(), 'exactly the 5 flags');
|
||||
assert.ok(Object.isFrozen(flags), 'flags object must be frozen');
|
||||
});
|
||||
|
||||
@@ -87,5 +85,5 @@ test('#2103: vscode is registered but intentionally excluded from runtimeFlags (
|
||||
assert.strictEqual(flags[f], false, `runtime 'vscode': ${f} must be false (no isVscode flag exists)`);
|
||||
}
|
||||
assert.deepStrictEqual(Object.keys(flags).sort(), [...EXPECTED_FLAGS].sort(),
|
||||
'runtimeFlags(\'vscode\') must NOT introduce a new isVscode key — still exactly the 17 flags');
|
||||
'runtimeFlags(\'vscode\') must NOT introduce a new isVscode key — still exactly the 5 flags');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user