import test from 'node:test'; import assert from 'node:assert/strict'; import { createPhase9GatewayTool, createPhase9Tools, PHASE9_SPECS } from '../skills/phase9-tools.js'; import { SKILLS } from '../skills/catalog.js'; test('Phase 9 exposes the complete local QVAC capability surface', () => { const tools = createPhase9Tools(); assert.ok(PHASE9_SPECS.length >= 25); assert.ok(tools.some((tool) => tool.name === 'embed')); assert.ok(tools.some((tool) => tool.name === 'imagine')); assert.ok(tools.some((tool) => tool.name === 'finetune_lora' && tool.permission === 'dangerous')); assert.ok(tools.some((tool) => tool.name === 'job_cancel')); assert.ok(SKILLS.some(([id]) => id === 'model-registry')); for (const tool of tools) assert.ok(tool.parameters?.type === 'object', tool.name); }); test('Phase 9 gateway keeps the complete capability surface within harness custom-tool limits', () => { const [gateway] = createPhase9GatewayTool(); assert.ok(gateway.parameters.properties.operation.enum.length >= PHASE9_SPECS.length); assert.ok(gateway.parameters.properties.operation.enum.includes('p2p_status')); });