feat(registry): контракт-каталог surfacing-open-questions + регистрация в словаре

Узел 6 скила охотника (спека v6, раздел contract): карточка-контракт own-навыка,
токен closed-open-questions-ledger в capability-vocabulary, счётчик контрактов 153→154.
Реестр остаётся зелёным (vocab-rollout-full).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-06-21 09:54:55 +03:00
parent 4555d32241
commit 332ea25eb7
3 changed files with 31 additions and 1 deletions
+6
View File
@@ -769,6 +769,12 @@
"label": "discovery-brief",
"description": "FEATURE-бриф или SYSTEM-снимок. Выход discovery-interview."
},
{
"token": "closed-open-questions-ledger",
"category": "produced",
"label": "closed-open-questions-ledger",
"description": "Закрытый реестр открытых вопросов со штампом источника. Выход surfacing-open-questions."
},
{
"token": "knowledge-graph-answer",
"category": "produced",
@@ -0,0 +1,24 @@
{
"skill": "surfacing-open-questions",
"kind": "own",
"needs": [
"pre-design-task"
],
"produces": [
"closed-open-questions-ledger"
],
"constraints": [
"ручной вызов; заземление: владелец = воля, не истина; источник у каждого факта",
"блокер заземляется до закрытия; журнал append-only в карантине docs/observer/questions"
],
"preview-form": "outline",
"defaults": [
"передаёт закрытый реестр в brainstorming"
],
"key-decisions": [
"slug темы при старте"
],
"acceptance-criteria": [
"ноль открытых блокеров; каждое решение со штампом источника"
]
}
+1 -1
View File
@@ -20,7 +20,7 @@ describe('Phase 2b ИТОГ — весь реестр проходит замо
const { contracts, errors } = buildRegistry(entries, { vocabTokens: tokens });
expect(errors).toEqual([]);
expect(contracts.length).toBe(FILES.length);
expect(FILES.length).toBe(153);
expect(FILES.length).toBe(154);
});
it('граф непуст: рёбра рабочих цепочек существуют на полном наборе', () => {