feat: разворачивание комка product-management — 8 навыков (роутер-реестр)
Эпик роутер-реестр, спека v2 §2, этап 1. Зонтик product-management развёрнут в 8 карточек-навыков + 8 под-узлов #42a..#42h. - 8 карточек: write-spec, roadmap-update, metrics-review, product-brainstorming, sprint-planning, stakeholder-update, synthesize-research, competitive-brief - nodes.yaml: узел #42 → #42a..#42h; триггеры (planning/prd→write-spec, роадмап→roadmap-update, метрики→metrics-review); ссылка L9 обновлена - product-management:competitive-brief отличён от marketing:competitive-brief (та самая коллизия имён, ради которой имя файла несёт плагин) - зонтик убран; registry-load.test: 117 узлов / 109 active Регрессия (без 5 pre-existing node:test файлов): 4361 passed, exit 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,9 +5,9 @@ import { loadRegistry, clearCache, findByClassification, findByKeyword, findActi
|
||||
describe('registry-load', () => {
|
||||
beforeEach(() => clearCache());
|
||||
|
||||
it('loads registry (110 nodes: разворачивание #33/#19/#57/#36 комков 18.06.2026)', () => {
|
||||
it('loads registry (117 nodes: разворачивание #33/#19/#57/#36/#42 комков 18.06.2026)', () => {
|
||||
const r = loadRegistry();
|
||||
expect(r.nodes).toHaveLength(110);
|
||||
expect(r.nodes).toHaveLength(117);
|
||||
expect(r.version).toBe('0.1.0');
|
||||
});
|
||||
|
||||
@@ -46,9 +46,9 @@ describe('registry-load', () => {
|
||||
it('findActiveNodes excludes non-active (nodes.yaml registry)', () => {
|
||||
const r = loadRegistry();
|
||||
const active = findActiveNodes(r);
|
||||
// 110 nodes total; #1 historic, #17 dormant, #44/#50/#54/#67/#82/#83 deferred;
|
||||
// развёрнуты комки: #33→2, #19→14, #57→7, #36 adr-kit→2 (active +1+13+6+1) → 102 active
|
||||
expect(active).toHaveLength(102);
|
||||
// 117 nodes total; #1 historic, #17 dormant, #44/#50/#54/#67/#82/#83 deferred;
|
||||
// развёрнуты комки: #33→2, #19→14, #57→7, #36→2, #42 pm→8 (active +1+13+6+1+7) → 109 active
|
||||
expect(active).toHaveLength(109);
|
||||
expect(active.map(n => n.id)).toContain('#18');
|
||||
expect(active.map(n => n.id)).toContain('#19a');
|
||||
expect(active.map(n => n.id)).not.toContain('#1');
|
||||
|
||||
Reference in New Issue
Block a user