agentscope-ai / agentscope-ai/ReMe

feat(memory): scope procedural memory by project

Abierto
#378 3 comentarios 0 reacciones 1 asignado Asignado a @ployts Ver en GitHub
Lenguaje dominante
Python
Estrellas
3.4k
Forks
298
Merge medio
19 h 52 min
PR fusionados (30 d)
55

Descripción

## Background

ReMe currently records conversation memory into daily notes by date and identifies each source conversation with a stable `session_id`. Different coding projects normally produce different session IDs, so the daily layer does not need to be reorganized by project. However, a session ID alone does not preserve the project context known by coding-agent hosts such as QwenPaw, Codex, and Claude Code.

Without explicit project metadata, Auto Dream extracts changed daily notes globally and may consolidate project-specific operational experience into the same procedural-memory namespace. Similar procedures from unrelated repositories can then be merged or recalled across project boundaries.

This issue follows up on #374 with a narrower scope: preserve the existing daily/session layout and add project scoping only to procedural memory.

## Proposed Changes

- Add optional project context to `auto_memory` and `auto_memory_cc`:
- `source_agent`
- `project_name`
- `project_path`
- Normalize the project root and derive a stable, filename-safe `project_id`.
- Persist the project context in daily-note frontmatter while keeping the existing `daily//.md` organization.
- Carry project context through Auto Dream extraction for procedure units.
- Store project-specific procedures under:
- `digest/procedure/projects//.md`
- Keep existing flat procedure nodes as global procedures:
- `digest/procedure/.md`
- Scope procedure deduplication and recall to the current project plus global procedures, excluding procedures from other projects.
- Update the QwenPaw, Codex, and Claude Code integrations to pass their current repository/project root when invoking memory recording.
- Preserve backward compatibility for callers that do not provide project context.

## Expected Behavior

- Project-specific build steps, debugging experience, repository conventions, and runbooks remain isolated under the originating project.
- Procedures explicitly identified as reusable across projects may still be integrated into the existing global procedure namespace.
- Daily memory remains organized by date and session ID.
- `digest/wiki/` remains a global knowledge namespace and does not gain project subdirectories.

## Out of Scope

- Reorganizing daily notes by project.
- Adding project-specific namespaces under `digest/wiki/`.
- Treating project name alone as a stable identity; duplicate project names must remain distinguishable.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.