You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Шаблон в dapi/memory-bank задаётся всем деревом template/, а не фиксированным набором известных файлов. Сейчас memory-bank-cli init и update рассматривают payload только в template/memory-bank/ и игнорируют остальные элементы template/.
Цель
Сделать template/ полным каноническим source payload: CLI должен согласованно учитывать, планировать и безопасно переносить все отслеживаемые файлы и вложенные каталоги из него при init и update; будущая команда push должна использовать ту же модель в обратном направлении.
Основной инвариант
Логика не должна содержать allowlist, denylist или перечисление конкретных имён файлов/директорий в template/. Любой новый отслеживаемый обычный файл, добавленный в это дерево (включая dotfiles и файлы в dot-directories), автоматически становится частью template payload без изменения кода CLI.
Требования
Явно определить общее, детерминированное отображение путей из всего template/ в downstream-репозиторий; для template/memory-bank/** сохранить совместимое назначение memory-bank/**.
Рекурсивно обрабатывать все обычные отслеживаемые Git-файлы template/, включая скрытые имена, без специальных правил для отдельных путей.
Сохранять режимы 100644/100755; отклонять symlink и другие неподдерживаемые Git entries с понятной диагностикой.
Включить все managed template-файлы в ownership lock, digest и план обновления, чтобы drift обнаруживался и обновления были идемпотентны.
Не создавать и не считать значимыми пустые директории (Git их не версионирует).
Сохранить безопасную обработку конфликтов и пользовательских изменений: managed-файл с локальным drift не должен молча перезаписываться.
Определить миграцию для существующих downstream locks, созданных при старой модели payload, без ложного удаления или перезаписи файлов.
Контекст
Шаблон в
dapi/memory-bankзадаётся всем деревомtemplate/, а не фиксированным набором известных файлов. Сейчасmemory-bank-cli initиupdateрассматривают payload только вtemplate/memory-bank/и игнорируют остальные элементыtemplate/.Цель
Сделать
template/полным каноническим source payload: CLI должен согласованно учитывать, планировать и безопасно переносить все отслеживаемые файлы и вложенные каталоги из него приinitиupdate; будущая командаpushдолжна использовать ту же модель в обратном направлении.Основной инвариант
Логика не должна содержать allowlist, denylist или перечисление конкретных имён файлов/директорий в
template/. Любой новый отслеживаемый обычный файл, добавленный в это дерево (включая dotfiles и файлы в dot-directories), автоматически становится частью template payload без изменения кода CLI.Требования
template/в downstream-репозиторий; дляtemplate/memory-bank/**сохранить совместимое назначениеmemory-bank/**.template/, включая скрытые имена, без специальных правил для отдельных путей.100644/100755; отклонять symlink и другие неподдерживаемые Git entries с понятной диагностикой.pushиз feat: добавить команду push для публикации изменений Memory Bank в upstream через PR #23 так, чтобы он отбирал и публиковал всё canonical-деревоtemplate/; добавление/удаление файлов в нём не должно требовать изменения push-логики.Вне scope
template/.Зависимость
Реализация этой задачи заблокирована #23: сначала должна появиться команда
pushи её базовая модель публикации upstream-изменений.