docs(personas): define v2 memory schema baseline

This commit is contained in:
Codex Local
2026-03-25 22:34:00 +01:00
parent 9ac151a59d
commit 085eb06d49
6 changed files with 91 additions and 18 deletions
+2 -2
View File
@@ -10,13 +10,13 @@ Updated: 2026-03-25T19:34:59Z
- Checks: npm run check, npm run test:v2
- Summary: Done: persistence per-file, merge legacy partiel -> per-file, loaders retryables, clones defensifs, tests de non-regression, scripts smoke/build alignes.
## lot-202-memory-schema [pending]
## lot-202-memory-schema [in_progress]
- Description: Formaliser un schema memory persona v2 avec working memory et archival memory
- Depends on: lot-201-runtime-hardening
- Owner: Personas
- Execution: manual
- Checks: npm run check, npm run test:v2
- Summary: A lancer apres hardening du store local.
- Summary: Schema v2 et layout cibles documentes; migration douce du runtime memory reste a implementer.
## lot-203-memory-policy [pending]
- Description: Ajouter un moteur de policies pour extraction, summarization, pruning et evaluation memory
+3 -3
View File
@@ -10,13 +10,13 @@ Updated: 2026-03-25T19:34:59Z
- Open tasks: none
## lot-202-memory-schema
- Status: pending
- Status: in_progress
- Owner: Personas
- Execution: manual
- Checks: npm run check, npm run test:v2
- Open tasks:
- schema-v2 [pending] (P1, Personas)
- storage-layout [pending] (P1, Backend API)
- schema-v2 [done] (P1, Personas)
- storage-layout [done] (P1, Backend API)
- migration-soft [pending] (P2, Coordinateur)
## lot-203-memory-policy
+2 -2
View File
@@ -12,8 +12,8 @@ Updated: 2026-03-25T19:34:59Z
- [x] docs-sync (done) | owner: Coordinateur | severity: P2
## lot-202-memory-schema
- [ ] schema-v2 (pending) | owner: Personas | severity: P1
- [ ] storage-layout (pending) | owner: Backend API | severity: P1
- [x] schema-v2 (done) | owner: Personas | severity: P1
- [x] storage-layout (done) | owner: Backend API | severity: P1
- [ ] migration-soft (pending) | owner: Coordinateur | severity: P2
## lot-203-memory-policy
@@ -0,0 +1,73 @@
# lot-202-memory-schema
- Date: 2026-03-25T19:34:59Z
- Owner: Personas
- Status: in_progress
## Etat actuel
- La memoire persona active reste hors runtime v2-local:
- stockage: `data/persona-memory/{Nick}.json`
- schema: `{ nick, facts[], summary, lastUpdated }`
- Les consommateurs actifs sont encore couples a ce schema:
- `apps/api/src/ws-persona-router.ts`
- `apps/api/src/ws-conversation-router.ts`
- `apps/api/src/ws-commands-info.ts`
- `apps/api/src/ws-commands-chat.ts` (`/memory-wipe`)
- Le stockage est adresse par `nick`, pas par `personaId`.
## Schema cible v2
```ts
interface PersonaMemoryRecordV2 {
version: 2;
personaId: string;
personaNick: string;
updatedAt: string;
workingMemory: {
facts: string[];
summary: string;
lastSourceMessages: string[];
};
archivalMemory: {
facts: Array<{
text: string;
firstSeenAt: string;
lastSeenAt: string;
source: "chat";
}>;
summaries: Array<{
text: string;
createdAt: string;
}>;
};
compat: {
facts: string[];
summary: string;
lastUpdated: string;
};
}
```
## Layout cible
- Nouveau dossier: `data/v2-local/persona-memory/`
- Un fichier par persona: `data/v2-local/persona-memory/{personaId}.json`
- La vue `compat` sert de pont temporaire pour `/memory`, `/stats` et `withPersonaMemory()`
## Migration douce recommandee
1. Introduire un repo/shared module `persona-memory-store.ts`
2. Faire lire ce module a `ws-persona-router.ts`
3. Migrer automatiquement `data/persona-memory/{Nick}.json` vers `data/v2-local/persona-memory/{personaId}.json` au premier load
4. Basculer `/memory-wipe` vers ce module au lieu d ecrire le fichier a la main
5. Garder la vue `compat` pendant la transition puis retirer l ancien schema
## Sous-taches cloturees
- `schema-v2`: done
- `storage-layout`: done
## Sous-tache restante
- `migration-soft`: pending
@@ -25,15 +25,15 @@
{
"id": "lot-202-memory-schema",
"description": "Formaliser un schema memory persona v2 avec working memory et archival memory",
"summary": "A lancer apres hardening du store local.",
"status": "pending",
"summary": "Schema v2 et layout documentes; migration douce du runtime memory encore pending.",
"status": "in_progress",
"owner": "Personas",
"execution": "manual",
"checks": ["npm run check", "npm run test:v2"],
"depends_on": ["lot-201-runtime-hardening"],
"tasks": [
{ "id": "schema-v2", "query": "Definir les blocs working memory et archival memory par persona", "status": "pending", "owner": "Personas", "severity": "P1" },
{ "id": "storage-layout", "query": "Etablir le layout de persistance memory sans recroiser la source editoriale", "status": "pending", "owner": "Backend API", "severity": "P1" },
{ "id": "schema-v2", "query": "Definir les blocs working memory et archival memory par persona", "status": "done", "owner": "Personas", "severity": "P1" },
{ "id": "storage-layout", "query": "Etablir le layout de persistance memory sans recroiser la source editoriale", "status": "done", "owner": "Backend API", "severity": "P1" },
{ "id": "migration-soft", "query": "Preparer une migration douce depuis les structures runtime actuelles", "status": "pending", "owner": "Coordinateur", "severity": "P2" }
]
},
+7 -7
View File
@@ -52,22 +52,22 @@
}
},
"lot-202-memory-schema": {
"status": "pending",
"status": "in_progress",
"depends_on": [
"lot-201-runtime-hardening"
],
"owner": "Personas",
"tasks": {
"schema-v2": {
"status": "pending",
"attempts": 0,
"output": "",
"status": "done",
"attempts": 1,
"output": "ops/v2/personas-runtime-20260325/outputs/lot-202-memory-schema/summary.md",
"last_error": ""
},
"storage-layout": {
"status": "pending",
"attempts": 0,
"output": "",
"status": "done",
"attempts": 1,
"output": "ops/v2/personas-runtime-20260325/outputs/lot-202-memory-schema/summary.md",
"last_error": ""
},
"migration-soft": {