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:
@@ -272,14 +272,12 @@ const { transformContentToHyphen } = require(path.join(REPO_ROOT, 'scripts', 'fi
|
||||
// Snapshot of all runtime IDs in the layout table at the time of this fix.
|
||||
// Keep these two sets covering: any runtime listed in
|
||||
// runtime-artifact-layout.cjs MUST appear in exactly one bucket.
|
||||
const HYPHEN_NAME_AGENT_RUNTIMES = ['claude', 'qwen', 'hermes'];
|
||||
const HYPHEN_NAME_AGENT_RUNTIMES = ['claude'];
|
||||
const SELF_CONVERTING_OR_COLON_RUNTIMES = [
|
||||
'codex', 'copilot', 'antigravity', 'cursor', 'windsurf', 'augment',
|
||||
'trae', 'codebuddy', 'cline',
|
||||
'opencode', 'kilo',
|
||||
'codex', 'antigravity', 'cursor', 'opencode',
|
||||
];
|
||||
|
||||
describe('bug #3677 — agent body colon-namespace leak (Claude / Qwen / Hermes)', () => {
|
||||
describe('bug #3677 — agent body colon-namespace leak (Claude)', () => {
|
||||
|
||||
describe('A — install.js exports the pure predicate + helper', () => {
|
||||
test('A1: shouldNormalizeHyphenNamespaceInAgentBody is an exported function', () => {
|
||||
@@ -354,22 +352,10 @@ describe('bug #3677 — agent body colon-namespace leak (Claude / Qwen / Hermes)
|
||||
assert.ok(out.includes('msd-sdk query commit'), 'msd-sdk (CLI binary) must not be touched');
|
||||
});
|
||||
|
||||
test('C2: qwen — same transform applies', () => {
|
||||
const out = normalizeAgentBodyForRuntime(inputBody, 'qwen', cmdNames);
|
||||
assert.ok(out.includes('/msd-execute-phase'));
|
||||
assert.ok(!out.includes('/msd:execute-phase'));
|
||||
});
|
||||
|
||||
test('C3: hermes — same transform applies', () => {
|
||||
const out = normalizeAgentBodyForRuntime(inputBody, 'hermes', cmdNames);
|
||||
assert.ok(out.includes('/msd-execute-phase'));
|
||||
assert.ok(!out.includes('/msd:execute-phase'));
|
||||
});
|
||||
|
||||
test('C5: self-converting runtime (copilot) — body returned unchanged at this layer', () => {
|
||||
const out = normalizeAgentBodyForRuntime(inputBody, 'copilot', cmdNames);
|
||||
// Copilot has its own convertClaudeAgentToCopilotAgent that handles
|
||||
// namespace — the normalize layer is a no-op for it.
|
||||
test('C5: self-converting runtime (codex) — body returned unchanged at this layer', () => {
|
||||
const out = normalizeAgentBodyForRuntime(inputBody, 'codex', cmdNames);
|
||||
// Codex has its own agent converter that handles namespace — the
|
||||
// normalize layer is a no-op for it.
|
||||
assert.strictEqual(out, inputBody);
|
||||
});
|
||||
});
|
||||
@@ -1274,12 +1260,10 @@ describe('bug #3683 — workflow/reference colon-namespace leak (Claude local in
|
||||
// picker renders and therefore the deployed contract itself.
|
||||
const {
|
||||
convertClaudeCommandToClaudeSkill,
|
||||
convertClaudeCommandToClineSkill,
|
||||
} = require(path.join(ROOT, 'bin', 'install.js'));
|
||||
|
||||
const converters = [
|
||||
['claude', convertClaudeCommandToClaudeSkill],
|
||||
['cline', convertClaudeCommandToClineSkill],
|
||||
];
|
||||
|
||||
const offenders = [];
|
||||
|
||||
Reference in New Issue
Block a user