feat(registry): токенизация needs/produces — группа tools/MCP, ЭТАП 2b ЗАВЕРШЁН (роутер-реестр)

Phase 2b группа C (финал): 51 атомарный инструмент (MCP-серверы + линтеры/
тулинг) переведены на токены словаря. Словарь +98, всего 265 токенов, v0.6.0.

ИТОГ ЭТАПА 2b: ВСЕ 153 контракта needs/produces на токенах словаря.
- замок словаря проходит на полном наборе (0 unknown) — готовность к 2d;
- граф ожил: A8-цепочка, superpowers, knowledge-work, кросс-плагинные мосты
  (write-spec->writing-plans, frontend-design->design-handoff).

Тест: финальный замок-тест всего реестра (153 контракта + рёбра графа).
Регрессия 4373 passed, exit 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-06-19 10:27:39 +03:00
parent 88fc55b4a5
commit 4dee49e4a1
53 changed files with 1869 additions and 358 deletions
@@ -1,12 +1,30 @@
{
"skill": "perplexity-mcp",
"kind": "external",
"needs": ["вопрос веб-разведки: актуальные практики/нормы/конкуренты — нужен ответ-с-источниками"],
"produces": ["ранжированный web-ответ с цитатами (sonar): search/ask/research/reason"],
"constraints": ["READ-ONLY MCP, живой веб", "платный API (sonar-*), ключ PERPLEXITY_API_KEY только в env — без авто-расхода без нужды", "НЕ SDK-доки (context7 #60); НЕ внутренний граф проекта (graphify #86)"],
"needs": [
"web-research-question"
],
"produces": [
"web-answer-cited"
],
"constraints": [
"READ-ONLY MCP, живой веб",
"платный API (sonar-*), ключ PERPLEXITY_API_KEY только в env — без авто-расхода без нужды",
"НЕ SDK-доки (context7 #60); НЕ внутренний граф проекта (graphify #86)"
],
"preview-form": "none",
"defaults": ["ранжированный ответ-с-источниками, не сырой список ссылок"],
"key-decisions": ["search vs ask vs research vs reason; глубина (reasoning_effort)"],
"acceptance-criteria": ["получен ответ с цитируемыми источниками по запросу веб-разведки"],
"source": { "version": "n/a", "hash": "0000000000000000000000000000000000000000000000000000000000000000", "path": "" }
"defaults": [
"ранжированный ответ-с-источниками, не сырой список ссылок"
],
"key-decisions": [
"search vs ask vs research vs reason; глубина (reasoning_effort)"
],
"acceptance-criteria": [
"получен ответ с цитируемыми источниками по запросу веб-разведки"
],
"source": {
"version": "n/a",
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
"path": ""
}
}