Skip to content

v2.0.0 — AST-граф, object-scoped инструменты, doc-карточки

Latest

Choose a tag to compare

@Arman-Kudaibergenov Arman-Kudaibergenov released this 09 Jun 12:33

Что нового в v2.0.0

Крупное обновление: точный AST-граф кода, object-scoped инструменты и карточки с doc-комментариями. Проверено на конфигурациях 20 000+ файлов (основная конфигурация + расширения).

Граф кода на tree-sitter (AST вместо regex)

  • Парсинг BSL через tree-sitter — 100% покрытие на реальном коде, без regex-fallback
  • Рёбра графа вызовов с разрешением по квалификатору (ОбщийМодуль.Метод → точная цель, а не матч по имени)
  • 3-уровневая таксономия нерезолвленного: call_dynamic (нужен вывод типа) / call_platform (глобалы платформы) / call_unresolved — честный «потолок» вместо общей кучи шума

Object-scoped инструменты — главная ценность

  • get_object_details, triggers_on_write — точный ответ «что срабатывает при записи/проведении объекта» (обработчики + подписки + движения регистров)
  • Дизамбигуация по объекту: read_function / context_for принимают аргумент object, чтобы выбрать нужное из N одноимённых определений — 1С переиспользует ОбработкаПроведения/ПередЗаписью в сотнях объектов
  • Оракулы verify_field / verify_call — проверка факта перед утверждением (анти-галлюцинация для ИИ-агента)
  • Исправлен undercount обратных вызовов: called_by собирался по имени и терял до сотен вызывающих → теперь по символу

Семантический discovery: карточки с doc-комментариями

  • Векторные карточки обогащены ведущим doc-комментарием функции + гуманизацией типовых обработчиков → заметный рост поиска «найди по смыслу, не зная имени»

Чистка набора инструментов (меньше «гадания» для агента)

  • В INDEXING_MODE=fast семантические инструменты скрыты — агент не делает ложных «не найдено»
  • code_grep: лимит по умолчанию 20 → 100 + сигнал _truncated (агент видит, что результат неполный)
  • context_forread_function (понятное «прочитать функцию целиком»; include_body=False = только граф вызовов, поглотил get_function_context)
  • Полный reindex убран из агентского меню; инкрементальный reindex_changed остаётся

Ещё

  • Парсеры управляемых форм и СКД (get_form_info, get_skd_info)
  • Eval-харнес + тесты (wave0/1/2)
  • Ускорение массовой индексации (bulk-load)

Обновление

docker compose pull && docker compose up -d

Полный список изменений: v1.2.0...v2.0.0