e98ba1e527
Эпик роутер-реестр, спека v2 §2. Развёрнут самый маленький комок-зонтик в 2 отдельные карточки-навыка ради точного подбора роутером. Пилот выверил конвенцию для остальных 11 комков. - 2 карточки: claude-md-management__claude-md-improver + __revise-claude-md; поле skill = плагин:навык, kind external, zero-hash source - nodes.yaml: узел #33 развёрнут в дочерние #33a/#33b; ссылка L12 обновлена - schema.json: паттерн id расширен на дочерний суффикс #NNa - registry-load.test: счётчики узлов 89 в 90, active 81 в 82 - splitting-inventory.md: инвентаризация 12 комков + выверенная конвенция - тест-сторож split-pilot-claude-md + план пилота Регрессия свода: 4361 passed, 0 failed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
881 B
JavaScript
23 lines
881 B
JavaScript
import { describe, it, expect } from 'vitest';
|
|
import { loadRegistry } from './skill-contract-registry.mjs';
|
|
|
|
const DIR = 'docs/registry/contracts';
|
|
|
|
describe('пилот разворачивания claude-md-management', () => {
|
|
const reg = loadRegistry({ dir: DIR });
|
|
const skills = reg.contracts.map((c) => c.skill);
|
|
|
|
it('весь каталог контрактов формо-валиден (нет ошибок сборки)', () => {
|
|
expect(reg.errors).toEqual([]);
|
|
});
|
|
|
|
it('зонтик claude-md-management удалён', () => {
|
|
expect(skills).not.toContain('claude-md-management');
|
|
});
|
|
|
|
it('оба под-навыка заведены с адресацией плагин:навык', () => {
|
|
expect(skills).toContain('claude-md-management:claude-md-improver');
|
|
expect(skills).toContain('claude-md-management:revise-claude-md');
|
|
});
|
|
});
|