Skip to content

English | Русский

TAUSIK MCP — Справочник инструментов ​

147 инструмента для ИИ-агентов (актуальный счёт, проверено len(TOOLS)). MCP-surface покрывает всё, что агент делает день за днём. Несколько CLI-only команд намеренно не имеют MCP-аналога — это оператор/maintenance verbs, которым не место в agent-loop: skill rebuild, skill bundle, fts optimize, db prune, audit vendors/research, config set/show, push-ok, run, doc extract/constants, hud, suggest-model, hygiene archive --confirm. Для рабочего набора агента предпочитайте MCP-инструменты shell-вызовам — они атомарны, возвращают структурированные данные и держат контекст чище.

Опциональный сервер codebase-rag добавляет 7 инструментов (search_code, find_symbol, etc.). Он включается отдельно через bootstrap и НЕ входит в основной счёт 152 — итого с ним 154 инструментов.

В проекте живут два MCP-сервера:

  • tausik-project — project-scoped инструменты (147): tasks, sessions, knowledge, stacks, roles, gates, skills, exploration, audit, doctor, verify, usage logging, RENAR substrate (specs + adapts).

Опционально доступен codebase-rag сервер (документирован в конце).

Verify-First Contract (v1.5) ​

Тяжёлые quality gates (pytest, tsc, cargo, phpstan, javac, js-test, terraform-validate, helm-lint, kubeconform, hadolint, ansible-lint) живут на отдельном триггере verify. MCP workflow:

tausik_task_start(slug=…, package=true)      # QG-0 + bounded context одним результатом
… работа над кодом …
tausik_verify(task_slug=…)                   # тяжёлое: subprocess-гейты → кеш green
tausik_task_done(slug=…, ac_verified=True)   # лёгкое: lookup в кеше

tausik_task_done откажется закрывать задачу, если verify-кеш отсутствует или устарел — возвращает структурированный failure с явной remediation. Opt-out для CI: установите {"task_done": {"auto_verify": true}} в .tausik/config.json — тогда heavy гейты выполнятся внутри task_done как в релизах до v1.5.

Терминология: Глоссарий verify / QG — поддерживаемый opt-out, обход QG (для task_done недоступен), обход verify-кеша и pytest test shim.

Status, Health, Metrics ​

ИнструментОписаниеОбязательные параметры
tausik_healthHealth check: версия, DB, таблицы—
tausik_self_checkСвежесть MCP-сервера: время старта, snapshot mtime watched-модулей vs текущие mtime на диске, флаг drift_detected, список stale-модулей с delta_seconds, число sibling MCP project-серверов. Вызывать из /start чтобы поймать предвестники тихих зависаний (gotchas #77/#79/#80).—
tausik_statusОбзор проекта: задачи, сессия, эпики. compact: true → один JSON без изменения текстового режима по умолчанию.compact (опционально)
tausik_doctor4-group health (venv + DB + MCP + skills + drift)—
tausik_metricsМетрики SENAR или компактный нативный расход при host=codex|kilohost?
tausik_usage_event_logРучная запись в usage_events (агрегаты сессии не трогает)tokens_input, tokens_output, tokens_total, cost_usd
tausik_searchПолнотекстовый поиск по задачам, памяти, решениямquery

Задачи ​

ИнструментОписаниеОбязательные параметры
tausik_task_addСоздать задачу (опционально в стори)slug, title
tausik_task_quickБыстрое создание с auto-slugtitle
tausik_task_startНачать работу; опционально вернуть bounded context тем же результатомslug, опционально package
tausik_task_doneЗавершить (QG-2: ac_verified=true, scoped pytest, verify cache). Возвращает structured JSON: blocking_failures, per-gate results, cache status.slug
tausik_task_showПолная информация или ограниченный контекст с mode=packageslug; опционально mode
tausik_task_listСписок с фильтрами (status enum: planning,active,blocked,review,done)—
tausik_task_updateОбновить поля (title/goal/AC/scope/notes/stack/complexity/role/tier/call_budget)slug
tausik_task_planЗадать шаги планаslug, steps[]
tausik_task_stepОтметить шаг выполненнымslug, step_num
tausik_task_logДобавить запись в журналslug, message
tausik_task_logsЧтение структурированных логов (фильтр по фазе)slug
tausik_reason_stepRENAR шаг рассуждения (intent|premise|action|verification)slug, kind, content
tausik_task_replayХронологический таймлайн задачи (logs + reasoning + events + verification)slug
tausik_task_blockЗаблокироватьslug
tausik_task_unblockРазблокироватьslug
tausik_task_reviewПеревести в reviewslug
tausik_task_deleteУдалитьslug
tausik_task_moveПереместить в другую сториslug, new_story_slug
tausik_task_nextВыбрать следующую задачу по score—
tausik_task_claimЗанять задачу (мульти-агент)slug, agent_id
tausik_task_unclaimОсвободитьslug

tausik_task_done параметры ​

  • ac_verified — обязательно для QG-2
  • evidence — inline AC verification log (заменяет отдельный task_log вызов)
  • no_knowledge — подтвердить отсутствие знаний для фиксации (подавляет warning)
  • relevant_files[] — изменённые файлы; драйвят scoped pytest gate (basename match → tests/test_<file>.py). Empty list при non-empty original → gate skipped (нет ложных срабатываний на full suite). Verify cache (10 min TTL) пропускает re-run при том же files_hash.

task_done не имеет --force — QG-2 нельзя байпаснуть. У task_start --force есть для байпаса session capacity, с audit trail.

tausik_task_done structured response ​

tausik_task_done возвращает JSON для агентных сценариев:

  • stage-флаги (plan_complete, ac_verified, gates_passed)
  • результаты по каждому gate (gates[])
  • blocking_failures[] с gate, files, output, remediation
  • warnings[], cache_status и итоговый ok

До v1.5 был параллельный alias tausik_task_done_v2 для structured-JSON варианта. v14b-task-done-rename-drop-v2 объединил оба в один tausik_task_done со structured JSON выше — суффикса _v2 больше нет. Verify-First Contract соблюдается на всех путях.

Сессии ​

ИнструментОписаниеОбязательные параметры
tausik_session_startНачать сессию—
tausik_session_endЗавершить сессию—
tausik_session_extendПоднять порог совета по active-time (совет, не ворота)—
tausik_session_currentТекущая активная сессия—
tausik_session_listСписок сессий—
tausik_session_handoffСохранить handoff datahandoff (object)
tausik_session_last_handoffЖивой handoff или handoff сессии session_idsession_id (опц.)
tausik_session_open (v1.5)Compound RPC: host-context policy + session start + status + handoff + active/blocked задачи + self_check в одном envelope. Питает Phase 1 в /start. host_context показывает повтор того же thread, доступность native usage, advisory/hard pressure и промпт нового окна. Session и self_check спроецированы; большой handoff — сводка до 4096 UTF-8 байт с явными пропусками и вызовом полного чтения. При _projection.requires_full_handoff=true сначала прочитайте полный handoff. Ограничение относится к секции handoff, а не ко всему envelope. Полная телеметрия: tausik_self_check; полный handoff: tausik_session_last_handoff.—

Лимит сессии — gap-based active time (паузится после 10-min idle gap), не wall clock. См. session-active-time.md.

Иерархия (эпики и стори) ​

ИнструментОписаниеОбязательные параметры
tausik_epic_addСоздать эпикslug, title
tausik_epic_listСписок эпиков; (stale: N) — задач создано после последней правки описания (отчёт, не гейт)—
tausik_epic_updateИзменить title и/или description эпика — замысел группы задач; хотя бы одно полеslug
tausik_epic_doneЗавершить эпикslug
tausik_epic_deleteУдалить (cascade: стори + задачи)slug
tausik_story_addСоздать стори в эпикеepic_slug, slug, title
tausik_story_listСписок стори; (stale: N) как у эпиков—
tausik_story_updateИзменить title и/или description стори; хотя бы одно полеslug
tausik_story_doneЗавершить сториslug
tausik_story_deleteУдалить (cascade: задачи)slug
tausik_roadmapДерево: epic → story → task—

RENAR substrate — SPEC + ADAPT (17 инструментов) ​

RENAR-подложка: формальные требования (SPEC) и интерпретация ТЗ (ADAPT, §7) с forward-интерпретациями, backward-findings и подписью архитектора (§7.5). Используется QG-0 для substantial/deep задач и tausik renar export/conformance. См. также tausik_reason_step (RENAR trace) в разделе «Задачи».

SPEC (8) ​

ИнструментОписаниеОбязательные параметры
tausik_spec_addСоздать SPEC-артефакт. type — закрытый список (ARCH/API/DATA/INT/PROC/UI/AI/SEC/OPS/TEST/DOC/UC; UC требует тела с role и ссылкой на утверждение в каждом шаге); новый тип = поправка к стандарту, не free-textslug, type, title, version
tausik_spec_listСписок SPEC, опц. фильтр по типу (JSON)—
tausik_spec_showSPEC + связанные задачи (JSON)slug
tausik_spec_updateПатч изменяемых полей (title/version/content_ref/status); type+slug иммутабельныslug
tausik_spec_deleteУдалить SPEC (cascade: task-линки)slug
tausik_spec_linkСвязать задачу со SPEC (оба должны существовать — нет тихих dangling-линков)task_slug, spec_slug
tausik_spec_unlinkСнять связь задача↔SPECtask_slug, spec_slug
tausik_spec_searchFTS5 по slug/title/content_ref (JSON)query

ADAPT (9) ​

ИнструментОписаниеОбязательные параметры
tausik_adapt_createСоздать заголовок ADAPT (§7); tz_ref (исходное ТЗ) обязателен; старт в draftslug, title, tz_ref
tausik_adapt_interpretForward-интерпретация (§7.4.3); tz_ref/citation/interpretation/scope_in/scope_out обязательныtz_ref, citation, interpretation, scope_in, scope_out (+ adapt)
tausik_adapt_findingBackward-finding; category — закрытый список 7 (contradiction/gap/hidden-assumption/feasibility/regulatory/terminology/scope)adapt_slug, category, description
tausik_adapt_signПодпись architect (§7.5): подписывает тело ed25519-ключом проекта ⇒ approved (§13.3.3 стр.77 — статус и подпись разные факты). role=client ОТКЛОНЯЕТСЯ — ADR-011 отозвал подпись клиента под ADAPT; то, что одобряет клиент, теперь живёт в ACTZadapt_slug, role, signed_by
tausik_adapt_showADAPT + forward-интерпретации, findings, подписи, линки (JSON)slug
tausik_adapt_listСписок ADAPT, опц. фильтр по статусу (закрытый перечень §7.8.1: draft/review/asked/answered/approved/frozen/superseded)—
tausik_adapt_deltaDelta-ADAPT, замещающий родителя (§7.6); родитель → superseded, поздний линк к нему = FATAL dangling (§7.6.4)parent_slug, new_slug, title, tz_ref
tausik_adapt_linkСвязать ADAPT с задачей/SPEC; target должен существовать; линк к superseded ADAPT = FATAL (§7.6.4)adapt_slug, target_type, target_slug
tausik_adapt_searchFTS5 по slug/title/tz_ref (JSON)query

ACTZ (15) ​

Контрактный протокол уточнения ТЗ (§5A, ADR-011) — в отличие от ADAPT обращён к клиенту: то, что клиент утверждает, живёт здесь. Жизненный цикл draft → sent → signed → superseded, вычисляется по покрытию ролей подписи. В проекте один ed25519-ключ, не по сторонам: architect подписывает по-настоящему; client записывает только signed_by+signed_at, без имитации независимой подписи. final_tz/orphans (§5A.4) — read-only проекции над подписанными пунктами ниже: производный эталон приёмки, а не третья копия текста.

ИнструментОписаниеОбязательные параметры
tausik_actz_createСоздать заголовок ACTZ (§5A); tz_ref обязателен; старт в draftslug, title, tz_ref
tausik_actz_pointДобавить нумерованный пункт; только пока draft (заморожено после первой подписи). tz_ref называет пункт исходного ТЗ (или предыдущего пункта ACTZ), который уточняетсяactz_slug, point_no, tz_ref, text
tausik_actz_signЗаписать подпись (§5.5.3): architect подписывает тело ed25519-ключом проекта; client — только signed_by+signed_at. Первая подпись ⇒ sent; обе роли ⇒ signedactz_slug, role, signed_by
tausik_actz_verifyПроверить подпись architect (ed25519) против текущего телаslug
tausik_actz_showACTZ + пункты, подписи, линки (JSON)slug
tausik_actz_listСписок ACTZ, опц. фильтр по статусу (draft/sent/signed/superseded)—
tausik_actz_deltaDelta-ACTZ, замещающий родителя; родитель → superseded, поздний линк к нему отклоняетсяparent_slug, new_slug, title, tz_ref, supersession_rationale
tausik_actz_linkСвязать ACTZ с задачей/SPEC; target должен существовать; линк к superseded ACTZ отклоняетсяactz_slug, target_type, target_slug
tausik_actz_unlinkСнять связь ACTZ↔задача/SPECactz_slug, target_type, target_slug
tausik_actz_deleteУдалить ACTZ (cascade: пункты/подписи/линки/decided-in)slug
tausik_actz_searchFTS5 по slug/title/tz_ref (JSON)query
tausik_actz_decided_inЗаписать: backward-finding ADAPT решён в пункте ПОДПИСАННОГО ACTZ, с provenance (linked_by); отклоняет неподписанную цельadapt_slug, finding_id, actz_slug, actz_point_no, linked_by
tausik_actz_decided_in_removeУдалить decided-in реброadapt_slug, finding_id, actz_slug, actz_point_no
tausik_actz_final_tzПроизводный эталон приёмки (§5A.4): по каждому пункту ТЗ — последний обеими сторонами подписанный пункт, с указанием, что он перекрыл. as_of (ISO-8601) — на прошлый момент—
tausik_actz_orphansПодписанные пункты, которые не отражены ни в одном ADAPT — обязательство вне требований (§5A.4, fatal), находится запросом—

AT (9) ​

Приёмочные тесты (§8A, ADR-012) — единственная проверка, которую трассируемость (TC → SR → ADAPT → ТЗ) структурно дать не может: неверная интерпретация проходит все TC. Эти инструменты ЗАПИСЫВАЮТ результат процедуры изолированной генерации (docs/en/at-generation-procedure.md) — ни один не генерирует ничего сам. tz_text (дословная цитата контракта) и generated_by обязательны при создании; check_freshness сравнивает с ЖИВЫМ final_tz_snapshot по tz_ref каждой записи и называет, что изменилось (§8A.2 — перегенерировать перед каждым испытанием). См. также warn-гейт at_freshness.

record_result/diagnose/release_readiness реализуют матрицу маршрутизации §8A.4/§10.4.3. У TAUSIK нет TC как самостоятельной сущности (открытая отдельная задача) — diagnose сам pytest/verification_runs не читает; tc_outcome передаёт вызывающий явно. release_readiness не требует TC вовсе: готовность наступает только когда исход каждого AT зелёный и свежий — отдельно от QG-4, который необязателен и меряет бизнес-результат.

ИнструментОписаниеОбязательные параметры
tausik_at_createЗаписать AT — результат процедуры изолированной генерации, не генераторslug, tz_ref, tz_text, scenario, source_as_of, generated_by
tausik_at_showПоказать запись AT (JSON)slug
tausik_at_listСписок AT, опц. фильтр по tz_ref (JSON)—
tausik_at_deleteУдалить запись ATslug
tausik_at_searchFTS5 по slug/tz_ref/tz_text/scenario (JSON)query
tausik_at_check_freshnessКакие AT устарели против текущего итогового ТЗ (§8A.2); без slug — проверка всех—
tausik_at_record_resultЗаписать один наблюдённый исход испытания (только добавление — повтор — новая строка)slug, outcome
tausik_at_diagnoseМаршрутизировать последний исход AT против переданного вызывающим tc_outcome (§8A.4/§10.4.3)slug, tc_outcome
tausik_at_release_readinessРелизный гейт §8A.4: готовность только когда каждый AT зелёный и свежий—

Знания ​

ИнструментОписаниеОбязательные параметры
tausik_memory_addСохранить в проектную память; provenance observed / inferred (по умолчанию) / toldtype, title, content
tausik_memory_searchПолнотекстовый поискquery
tausik_memory_listСписок (фильтр по типу)—
tausik_memory_showПоказать запись по IDid
tausik_memory_deleteУдалить записьid
tausik_memory_blockCompact markdown: recent decisions + conventions + dead ends (для /start re-injection)—
tausik_memory_compactAggregate recent task_logs (phases + top words + top files)—
tausik_memory_archive (v1.5)Soft-archive памяти старше duration (90d / 12w / 2m / 1y). Dry-run если нет confirm: true.before (string), confirm (bool, опционально)
tausik_memory_dedupe (v1.5)Список near-duplicate memory-пар выше порога similarity (read-only).threshold (float, опц.), limit (int, опц.)
tausik_decideЗаписать решение; необязательные rejected (список «вариант :: почему») и supersedes (id, причина в rationale)decision
tausik_decisions_listСписок решений—

Типы памяти: pattern, gotcha, convention, context, dead_end.

Графовая память ​

ИнструментОписаниеОбязательные параметры
tausik_memory_linkСоздать связь между узламиsource_type, source_id, target_type, target_id, relation
tausik_memory_unlinkSoft-invalidate связь (никогда не удаляет)edge_id
tausik_memory_relatedНайти связанные узлы (1–3 hops)node_type, node_id
tausik_memory_graphСписок связей с фильтрами—

Типы связей: supersedes, caused_by, relates_to, contradicts.

Тупики и исследования ​

ИнструментОписаниеОбязательные параметры
tausik_dead_endДокументировать неудачный подходapproach, reason
tausik_explore_startНачать time-boxed исследованиеtitle
tausik_explore_endЗавершить исследование—
tausik_explore_currentТекущее исследование—

Шлюзы качества и верификация ​

ИнструментОписаниеОбязательные параметры
tausik_gates_statusСтатус всех gates (по стеку)—
tausik_gates_enableВключить gatename
tausik_gates_disableВыключить gatename
tausik_verifyv1.5 Verify-First: запустить heavy gates (pytest, tsc, …) и закешировать green в verification_runs. После этого tausik_task_done использует кеш и закрывается мгновенно.task_slug

Доступные gates: pytest, ruff, mypy, bandit, tsc, eslint, go-vet, golangci-lint, cargo-check, clippy, phpstan, phpcs, javac, ktlint, filesize, class_surface, tdd_order. Stack-scoped gates авто-включаются по обнаруженному стеку; universal gates (filesize, class_surface, tdd_order) применяются ко всем стекам. class_surface работает по всему репозиторию, а не по скоупу: он ограничивает составную публичную поверхность класса после наследования, которую пофайловый строковый лимит видеть не может.

tdd_order отключён по умолчанию. Включите через tausik_gates_enable name=tdd_order.

Стеки ​

ИнструментОписаниеОбязательные параметры
tausik_stack_listСписок встроенных + custom стеков—
tausik_stack_showРезолвленный стек: gates per language + override infostack
tausik_stack_exportЭкспорт резолвленной декларации как JSONstack
tausik_stack_diffDiff между built-in и user overridestack
tausik_stack_resetУдалить user override в .tausik/stacks/<stack>/stack
tausik_stack_lintВалидировать user-override stack.json—
tausik_stack_scaffoldСоздать .tausik/stacks/<name>/{stack.json,guide.md} skeletonname

DEFAULT_STACKS: 25 записей (python, fastapi, django, flask, react, next, vue, nuxt, svelte, typescript, javascript, go, rust, java, kotlin, swift, flutter, laravel, php, blade, ansible, terraform, helm, kubernetes, docker). Custom-стеки через .tausik/config.json → custom_stacks.

Роли ​

ИнструментОписаниеОбязательные параметры
tausik_role_listСписок ролей—
tausik_role_showПрофиль ролиslug
tausik_role_createСоздать роль (опционально extends базовый профиль)slug, title
tausik_role_updateОбновить метаданныеslug
tausik_role_deleteУдалить рольslug
tausik_role_seedBootstrap из harness/roles/*.md + использования в задачах—

Хранение ролей гибридное: SQLite-метаданные + markdown-профиль harness/roles/{role}.md. Роли в задачах остаются свободным текстом.

Периодический аудит (SENAR Rule 9.5) ​

ИнструментОписаниеОбязательные параметры
tausik_audit_checkПросрочен ли аудит—
tausik_audit_markОтметить аудит выполненным—

Навыки ​

ИнструментОписаниеОбязательные параметры
tausik_skill_listСписок навыков: активные, vendored, доступные—
tausik_skill_installУстановить из репо (clone + copy + deps)name
tausik_skill_uninstallУдалить полностьюname
tausik_skill_activateАктивировать установленныйname
tausik_skill_deactivateДеактивировать (файлы остаются)name
tausik_skill_repo_addДобавить TAUSIK-совместимый репо (сторонний URL — force)url, опционально force
tausik_skill_repo_removeУдалить репоname
tausik_skill_repo_listСписок репозиториев и доступных skills—
tausik_skill_catalogDiscovery: список skills из настроенных/клонированных repos (name, category, description)опц. repo, опц. as_json

Cross-Project Queue (CQ) ​

ИнструментОписаниеОбязательные параметры
tausik_cq_publishОпубликовать cross-project eventpayload
tausik_cq_queryQuery cross-project queue—

Мульти-агент и обслуживание ​

ИнструментОписаниеОбязательные параметры
tausik_teamЗадачи сгруппированные по агентам—
tausik_eventsAudit log (events)—
tausik_update_claudemdОбновить динамическую секцию в CLAUDE.md—
tausik_fts_optimizeОптимизировать FTS5 индексы—

Codebase RAG (отдельный опциональный MCP-сервер) ​

ИнструментОписаниеОбязательные параметры
search_codeПоиск кода через RAG-индексquery
search_knowledgeПоиск в knowledge basequery
reindexРеиндексация кодбазыmode (incremental/full), max_seconds (soft limit, только для full). v1.5: stderr-прогресс каждые 100 файлов; truncated=true при таймауте.
rag_statusСтатус RAG-индекса—
archive_doneАрхивировать выполненные задачи—
cache_web_resultКешировать web-результатquery, content
search_web_cacheПоиск кешированных web-результатовquery

Эти не входят в основной счёт 147 — принадлежат опциональному codebase-rag серверу.

Область tool-поверхности (mcp.scope_tools_exposure) ​

Выключено по умолчанию. Когда вы ставите mcp.scope_tools_exposure: true в config.json, сервер сужает рекламируемый tool-list до того, что разрешено активной задаче: объединение объявленных задачей scope_tools (ACL SENAR Rule 2) и всегда-безопасного ядра — целиком семейства tausik_task_* и tausik_session_* плюс tausik_status, tausik_verify, tausik_doctor, tausik_self_check, tausik_update_claudemd и тулы *_search. Прочие тулы скрыты из списка, что сокращает и токен-стоимость определений тулов, и поверхность атаки.

Это fail-open: все тулы экспонируются, когда нет активной задачи, ни одна активная задача не объявила непустой scope_tools, или область не резолвится — включение никогда не оставляет без тулов проект, который не объявлял область. Сокрытие — это UX/токен-оптимизация, а не барьер безопасности: скрытый тул, вызванный напрямую, всё равно проходит существующий scope-энфорсмент, а write-гейт не тронут. Область пересчитывается каждый раз, когда хост запрашивает list_tools — то есть при каждом подключении к серверу с уже активной задачей.

Замер стоимости. Полная авторская поверхность — 147 тула ~ 62 КБ определений (~15.9k оценочных токенов; tests/test_mcp_tool_token_cost.py фиксирует это и держит храповиком). При отложенной загрузке Claude Code (ENABLE_TOOL_SEARCH) эагерно грузятся только имена, а каждое описание обрезается до 2 КБ — храповой тест держит каждое описание TAUSIK под этим лимитом, чтобы ничего не срезалось молча, и проверяет, что имена остаются уникальными и искомыми, чтобы диспетчер по имени по-прежнему находил нужный тул.

Запуск Tausik MCP-сервера ​

Bootstrap-шаг генерирует IDE-specific MCP-launchers под harness/<ide>/mcp/. Claude Code читает .claude/settings.json (auto-generated). Для регенерации запустите python .tausik-lib/bootstrap/bootstrap.py --refresh.

Экономия контекста: схемы по требованию ​

mcp.compact_tool_list в .tausik/config.json включается bootstrap, если проект не задал явное false. Без порождённого конфига сервер безопасно отдаёт полный список. Включённый флаг оставляет полные схемы только у ядра из 23 инструментов, а остальным 124 — имя и первые 60 символов описания. Схема любого из них добирается одним вызовом tausik_tool_schema(name=...); query ищет по подстроке, пустой аргумент отдаёт перечень имён.

На свежей stdio-поверхности из 147 инструментов 02.10.2026 minified UTF-8 список уменьшился с 54 566 до 33 752 байт (-38,1%). Выбор «60 символов» тоже основан на замере: только имя ещё меньше, но лишает модель признака, по которому выбирают, чью схему просить, и может потратить экономию на лишний ход. Полная раскладка проектного контекста приведена в context-economy.md.

Чтобы отказаться от сокращения, задайте false после проверки числа ходов на задачу. При отсутствующем, повреждённом или нечитаемом конфиге сервер всегда возвращает полный список.