Прежний комментарий утверждал, что Global\ требует отдельной привилегии —
ревью опровергло это эмпирически (мьютекс создался без ошибок под тем же
непривилегированным пользователем). Настоящая причина: плагин ставится на
чужие незнакомые машины, где политика безопасности может отличаться, и отказ
Global\ был бы фатальным для запуска сервера, тогда как остаточный риск
сессионного mutex (лишняя повторная загрузка при параллельных сессиях)
ограничен и не портит установку.
- AgentAssets.psm1 и sync-agent-assets.ps1 пересохранены в UTF-8 с BOM:
powershell.exe читает файлы без BOM в системной ANSI-кодировке и ломает
парсинг на кириллических строковых литералах (pwsh 7 работал за счёт
автодетекта и маскировал баг).
- Copy-Item в ветке -AllowCopy получил -ErrorAction Stop: без него ошибка
копирования писалась как non-terminating и функция возвращала 'Copied'
при частично скопированном каталоге, если вызывающий не выставил
$ErrorActionPreference='Stop' сам.
- Test-AgentSkillLink сравнивает пути через
[string]::Equals(...,OrdinalIgnoreCase) явно, а не через регистронезависимый -eq.
- Добавлены тесты: отсутствующий SourcePath, перелинковка на другой
источник (старый target остаётся нетронутым) и AllowCopy-регрессия
(мок Copy-Item с [CmdletBinding()], чтобы корректно эмулировать
ErrorAction реального cmdlet).
Инкремент 9. 83 инструмента, 331 тест. + заметка о ревью реализации в спеке
(Codex + pi/glm-5.1 + pi/kimi-k2.6).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- проверка возврата AddBranchByPoint/SetBranchTextPosition (bool) — ранняя диагностика
вместо позднего RPC_E_SERVERFAULT (Codex, glm)
- RU-алиасы в сообщении ShelfDirections.Parse и в описании инструмента (glm, kimi)
- интеграционный тест направления полки параметризован Right/Left/Up/Down — покрывает
всю поверхность ToKompas на реальном COM (glm, kimi)
- отклонено (обоснование): unit ToKompas (граница проекта), e2e tool-обёртки (тонкая),
angleDeg (нет Angle у ILeader), default text у AddText (вне объёма)
331 тест зелёный, сборка Release чистая.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Инкремент 8. 82 инструмента, 308 тестов. + заметка о ревью реализации в спеке
(Codex + pi/glm-5.1 + pi/kimi-k2.6; K1 снят спайком — КОМПАС сам выводит ориентацию user).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- K1 (kimi, Major): спайк подтвердил — для User КОМПАС САМ выводит VerticalOrientation
из W/H (игнорирует флаг, W/H не свопает); read-back корректен, правка не нужна —
задокументировано комментарием + тесты на Landscape (500×300→альбомная, 300×500→книжная)
- K2: ValidateFormatDimensions называет точный нарушивший параметр (width/height)
- тесты: A1 в Parse (C3), A4 landscape со свопом 297×210 (G2), sheetNumber=0 (C2/G3)
- отклонено (нит): алиасы в описании (G4), сообщение NaN (G5), тип исключения standard (K5)
308 тестов зелёных, сборка Release чистая.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Дизайн и план реализации нового навыка kompas-fdm-design — методика
проектирования деталей под FDM-печать (правила DFM + лёгкий гео-аудит),
отдельный от kompas-3d, без слайсера, экспорт через export_step.
Выверено консультациями pi (glm-5.1, kimi-k2.6) и 6 ревью (spec x3, план x3).
Сам навык (SKILL.md + references/) по плану — РЕАЛИЗАЦИЯ ПРЕДСТОИТ.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Флаг associate у диаметрального/радиального — привязка к спроецированной окружности
через BaseObject (значение из геометрии). 81 инструмент, 278 тестов зелёных.
Инкремент 7. 81 инструмент (associate — флаг существующих), 278 тестов.
CLAUDE.md также включает структурную чистку (делегирование каталога/дорожной карты/
бэклога в README/ARCHITECTURE/TODO без дублирования).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Каталог инструментов из «Current state» свёрнут в указатель на README
§Инструменты (единый источник правды); дубль-каталог «are done» / «not yet
done» убран в пользу ARCHITECTURE §10 и TODO.md. Уникальные COM-гочи из
него перенесены в структурированный bullet про Drawing. В bullets
«don't relearn» подрезан boilerplate (имена файлов, DI, валидаторы) —
все COM-цепочки и эмпирика сохранены. Исправлена модель субагента
kompas-sdk-research: Sonnet на Haiku (рассинхрон с определением агента).
Включает текущие инкрементальные правки (счётчики тестов, заметка об
ассоциативной привязке размеров).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- свободный путь (associate=false) берёт только ISymbols2DContainer (как раньше) —
IDrawingContainer запрашивается лишь при associate=true (не расширяем поверхность отказа)
- XML-доки диаметрального/радиального уточнены: при associate значение из геометрии
16 тестов привязки+регрессии зелёные, сборка Release чистая.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Консолидация дорожной карты по классам (2D-чертёж/сборки/деталь) + сквозное/тех.долг
со статусами (☐/▣/⛔). Ссылки из CLAUDE.md и NEXT-SESSION.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kompas-sdk-research и docs-maintainer почти не вызывались (по транскриптам:
2 и 1 раз против 40 у general-purpose). Причина — описания ждали явной
реплики пользователя, а в автономном цикле NEXT-SESSION её нет.
- Триггеры переписаны на проактивные, от лица Opus, с привязкой к шагу цикла
(SDK-лукап — перед кодом; доки — перед коммитом, после реализации).
- kompas-sdk-research: «(Sonnet)» → «(Haiku, read-only)» (соответствие model:),
снят барьер делегирования (ответ дёшев, перепроверяется рефлексией по interop),
добавлены негативные границы (не геометрия, не KsAPI).
- docs-maintainer: в охват явно добавлены CLAUDE.md и OPEN_QUESTIONS.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>