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:
Jakub Zych
2026-10-06 20:02:40 +02:00
parent 12ee75a509
commit 6cfa0c55d2
509 changed files with 1869 additions and 47737 deletions

View File

@@ -923,16 +923,16 @@ describe('#3719: applyAgentPathRewrites must restore @-anchored $HOME refs to ti
assert.strictEqual(out, 'echo "@$HOME/.claude/x"\n');
});
test('row 7 [CONTROL] — a noPathRewrite runtime (copilot) is untouched', () => {
test('row 7 [CONTROL] — a noPathRewrite runtime (antigravity) is untouched', () => {
const src = '@~/.claude/msd-core/references/mandatory-initial-read.md\n';
const out = applyAgentPathRewrites(src, 'copilot', globalHomePrefix);
const out = applyAgentPathRewrites(src, 'antigravity', globalHomePrefix);
assert.strictEqual(out, src, 'noPathRewrite runtimes must be returned unchanged (no substitutions at all)');
});
// #3719 review (MINOR 2): row 7 (copilot) returns early at the
// #3719 review (MINOR 2): row 7 (antigravity) returns early at the
// `noPathRewrite` check and never reaches the `if (runtime === 'claude')`
// restore guard at all — zero coverage of the guard itself. Cursor and
// Kilo are NOT noPathRewrite, so they exercise the base `.claude/` ->
// OpenCode are NOT noPathRewrite, so they exercise the base `.claude/` ->
// pathPrefix substitution AND then hit the guard, which must suppress the
// `@~` restore because they are not `claude`.
test('row 10 [CONTROL] — cursor (non-claude, non-noPathRewrite) keeps @$HOME/.cursor/…, does not restore to tilde', () => {
@@ -942,11 +942,11 @@ describe('#3719: applyAgentPathRewrites must restore @-anchored $HOME refs to ti
'cursor must keep the @$HOME/.cursor/ form — the runtime guard must suppress the claude-only tilde restore');
});
test('row 11 [CONTROL] — kilo (non-claude, non-noPathRewrite) keeps @$HOME/.kilo/…, does not restore to tilde', () => {
test('row 11 [CONTROL] — opencode (non-claude, non-noPathRewrite) keeps @$HOME/.config/opencode/…, does not restore to tilde', () => {
const src = '@~/.claude/msd-core/references/mandatory-initial-read.md\n';
const out = applyAgentPathRewrites(src, 'kilo', '$HOME/.kilo/');
assert.strictEqual(out, '@$HOME/.kilo/msd-core/references/mandatory-initial-read.md\n',
'kilo must keep the @$HOME/.kilo/ form — the runtime guard must suppress the claude-only tilde restore');
const out = applyAgentPathRewrites(src, 'opencode', '$HOME/.config/opencode/');
assert.strictEqual(out, '@$HOME/.config/opencode/msd-core/references/mandatory-initial-read.md\n',
'opencode must keep the @$HOME/.config/opencode/ form — the runtime guard must suppress the claude-only tilde restore');
});
// ── boundary rows ──