Repository navigation
Description
User problem
При работе с несколькими проектами хочется, чтобы память WebDev Kit физически находилась рядом с соответствующим проектом. Сейчас установленный learning.py выбирает пользовательский каталог состояния по ОС и создаёт experience.sqlite3 в нём. Отдельную БД внутри проекта проще находить, резервировать и обслуживать независимо от остальных проектов.
Desired outcome
По умолчанию создавать БД памяти отдельно для каждого проекта внутри его .agents/, например .agents/memory/experience.sqlite3. Конкретное имя подкаталога — деталь реализации; ключевое требование — локальное хранение в самом проекте.
Предлагаемые критерии приёмки:
- Два разных проекта используют разные локальные БД; чтение и запись работают с памятью выбранного проекта.
- CLI, capture hooks и команды структурированной памяти одинаково определяют путь относительно корня проекта, независимо от текущего рабочего каталога.
- Status показывает фактически используемый путь к БД.
- Обновление или переустановка Kit сохраняет локальную память.
- Для существующих установок предусмотрен явный безопасный перенос данных только выбранного проекта из прежнего хранилища, без потери истории и затрагивания других проектов.
- БД и её служебные файлы исключены из Git по умолчанию; хранение внутри проекта само по себе не означает публикацию памяти.
Evidence and examples
Прямой пользовательский запрос: перенести создаваемую БД памяти в каждый проект, в подкаталог .agents/.
Контекст: установленный Kit v1.8.0 (ada5293), Codex / Windows / PowerShell; точная версия клиента неизвестна. В установленном skills/agent-self-improvement/scripts/learning.py проверены выбор пользовательского каталога состояния и имя experience.sqlite3. Содержимое приватной БД не читалось. Это предложение улучшения; миграция и работа новой схемы не реализованы и не проверялись.
Scope and compatibility
Затрагивает хранение learning memory, разрешение путей и переход существующих установок на проектные БД. Решение должно учитывать поддерживаемые клиенты и ОС. Согласие на capture и существующие правила ручного обмена памятью должны сохраняться. Автоматическая синхронизация и изменение содержимого памяти не входят в запрос.
Alternatives considered
Сохранить общее пользовательское хранилище с логической изоляцией по project ID или сделать локальный путь лишь ручной настройкой. Предпочтение пользователя — проектное расположение по умолчанию.
Related issues and preliminary checks
- Проверены открытые и закрытые issues и ROADMAP.md.
- Описана пользовательская потребность и наблюдаемый результат.
Связанные задачи: #78 (закрыта; структура и обмен проектной памятью), #81 (закрыта; onboarding/capture), #84 (открыта; повторная обработка triage). Данный запрос касается отдельного физического расположения БД в .agents/ каждого проекта.
Activity
ytvee commentedon Oct 28, 2026
Implemented in PR #86 for v1.9.0 (not merged/published yet). Project-local .agents/learning state, shared parsed project resolution and visible status paths are in place. Verified selected-project migration with attachment/proposal bytes, decision history, unchanged legacy files and no other-project rows. All twelve archive extractions preserved existing memory/configuration hashes. Private state and staging are Git-ignored; updater instructions protect them. Keep the legacy store because external evidence references may still point to it. Evidence: docs/release/1.9.0-plan.md; Windows/Linux checks passed.
ytvee commentedon Oct 28, 2026
Reopened for acceptance review: literal STEM source transfer supersedes the prior candidate. Project-local migration exists, but revised parsed-project default resolution and added migration safeguards are no longer present. Prior closure evidence must not be applied to this candidate.