Комментарии 3
Выбор грепа вместо вектора на таких объемах спорным не выглядит, а вот ручное правило «одно понятие, один файл» — самое хрупкое место конструкции: оно держится на дисциплине и в команде из пяти человек размывается первым. Тут просится проверка в CI: у каждого файла в memory/ есть строка в индексе, каждая строка индекса ведет на существующий файл, дублей заголовков нет — дешевле, чем ловить расхождения глазами на ревью. Такой линтер у вас уже есть, или согласованность индекса и файлов пока целиком на аккуратности автора?
Спасибо, предложение по делу! Линтера пока нет - согласованность целиком
на аккуратности автора, и вы указали ровно на ту цену подхода, которую
озвучена в статье. Первые два инварианта (у каждого файла
есть строка в индексе, каждая строка ведет на существующий файл) - прямо
напрашиваются в pre-commit. А вот семантические дубли - когда два файла
на одно понятие названы по-разному - линтер не поймает, это остается на ревью.
Индекс намеренно не уникальный ключ: на стыке общего и частного модель
открывает оба файла, так что структурный линтер отсечет идентичный дубль,
но близкие по смыслу заголовки развести не сможет.
Раз код хорошо ищется регулярками почему не использовать сразу нужные инструменты.
https://github.com/Graphify-Labs/graphify
https://github.com/ast-grep/ast-grep
JetBrains MCP https://medium.com/@giuseppetrisciuoglio/jetbrains-mcp-pi-coding-agent-e99db8e9684b
И тому подобное.

У Claude Code уже есть такая память. Тогда зачем я держу свою?