Skip to content

[Feature]: Store each project memory database locally under .agents/ #85

Closed

Description

@ytvee

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

  1. ytvee commented on Oct 28, 2026

    @ytvee
    ContributorAuthor

    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.

  2. ytvee commented on Oct 28, 2026

    @ytvee
    ContributorAuthor

    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.

  3. reopened this on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions