Browse Source

Template: add project_memory_lifecycle

master
Serge Shutov 1 week ago
parent
commit
3a104a0b51
  1. 57
      memory/state.template.json

57
memory/state.template.json

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"updatedAt": "2026-11-07T06:24:40.735Z", "updatedAt": "2026-11-07T06:35:38.878Z",
"entries": [ "entries": [
{ {
"id": "0f90dcf0-5d43-4ca4-bf86-ad8b3ee20382", "id": "0f90dcf0-5d43-4ca4-bf86-ad8b3ee20382",
@ -17,8 +17,8 @@
"version": 2, "version": 2,
"createdAt": "2026-11-02T23:35:16.258Z", "createdAt": "2026-11-02T23:35:16.258Z",
"updatedAt": "2026-11-03T13:09:07.319Z", "updatedAt": "2026-11-03T13:09:07.319Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 1545 "bytes": 1545
}, },
{ {
@ -36,8 +36,8 @@
"version": 3, "version": 3,
"createdAt": "2026-11-02T23:35:16.258Z", "createdAt": "2026-11-02T23:35:16.258Z",
"updatedAt": "2026-11-07T06:22:42.557Z", "updatedAt": "2026-11-07T06:22:42.557Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 1506 "bytes": 1506
}, },
{ {
@ -55,8 +55,8 @@
"version": 2, "version": 2,
"createdAt": "2026-11-02T23:35:16.258Z", "createdAt": "2026-11-02T23:35:16.258Z",
"updatedAt": "2026-11-07T06:23:52.855Z", "updatedAt": "2026-11-07T06:23:52.855Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 2162 "bytes": 2162
}, },
{ {
@ -74,8 +74,8 @@
"version": 4, "version": 4,
"createdAt": "2026-11-02T23:35:16.258Z", "createdAt": "2026-11-02T23:35:16.258Z",
"updatedAt": "2026-11-07T06:23:55.861Z", "updatedAt": "2026-11-07T06:23:55.861Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 1488 "bytes": 1488
}, },
{ {
@ -95,8 +95,8 @@
"version": 7, "version": 7,
"createdAt": "2026-11-02T23:35:16.258Z", "createdAt": "2026-11-02T23:35:16.258Z",
"updatedAt": "2026-11-07T06:24:09.423Z", "updatedAt": "2026-11-07T06:24:09.423Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 2823 "bytes": 2823
}, },
{ {
@ -114,8 +114,8 @@
"version": 2, "version": 2,
"createdAt": "2026-11-02T23:35:16.258Z", "createdAt": "2026-11-02T23:35:16.258Z",
"updatedAt": "2026-11-02T23:51:10.669Z", "updatedAt": "2026-11-02T23:51:10.669Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 1487 "bytes": 1487
}, },
{ {
@ -136,8 +136,8 @@
"version": 1, "version": 1,
"createdAt": "2026-11-06T14:31:47.706Z", "createdAt": "2026-11-06T14:31:47.706Z",
"updatedAt": "2026-11-06T14:31:47.706Z", "updatedAt": "2026-11-06T14:31:47.706Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 1917 "bytes": 1917
}, },
{ {
@ -158,8 +158,8 @@
"version": 1, "version": 1,
"createdAt": "2026-11-07T03:58:24.727Z", "createdAt": "2026-11-07T03:58:24.727Z",
"updatedAt": "2026-11-07T03:58:24.727Z", "updatedAt": "2026-11-07T03:58:24.727Z",
"lastRecalled": "2026-11-07T06:13:58.509Z", "lastRecalled": "2026-11-07T06:30:49.448Z",
"recallCount": 5, "recallCount": 7,
"bytes": 1706 "bytes": 1706
}, },
{ {
@ -517,6 +517,29 @@
"lastRecalled": null, "lastRecalled": null,
"recallCount": 0, "recallCount": 0,
"bytes": 1874 "bytes": 1874
},
{
"id": "0b58af8d-6e1d-4803-bba3-6ff7398c7a52",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "project_memory_lifecycle",
"text": "Жизненный цикл памяти dsh-memory: архив, контракт протокола, порт из storage. Сделано 07.11.2026, коммиты b7558ea, 70f5f65, e616399, 5995fa1.\n\nПРОБЛЕМА. protocol_*-записи с always инжектились в каждый чат и врали: protocol_tools_and_rules говорил «dsh_bash блокирует метасимволы», а код уже спрашивал confirm. protocol_recovery вёл на несуществующий PART16. Директива описывала состояние на 03.11.2026. Поле state (active|done|archive) было в схеме, но getInjection его игнорировал — заархивировать always-запись было нельзя, только удалить.\n\nЧТО СДЕЛАНО. getInjection пропускает state=archive и state=done (bridge/memory.js). Три старые грабли заархивированы: pitfall_mjs_escaping, pitfall_crlf_mixed, pitfall_double_patch. Три протокола переписаны под текущий код: protocol_tools_and_rules (safe-list+confirm), protocol_pitfalls (большой oldText ломается и в SSE, CRLF нормализовать), protocol_recovery (актуальные файлы вместо PART16). Директива v5 — индекс файлов с датами. В protocol_memory_system v7 добавлено критическое правило: protocol_ с always = контракт с кодом, обновляется в том же коммите, расхождение = критический баг.\n\nПОРТ И CONFIRM. background.js и storage-bridge.js читают порт из chrome.storage (dshmem-bridge-port), дефолт 8766. В панели поле Port, сохраняется по change, требует F5. Health в логе пишет порт. confirm показывает команду dsh_bash (до 200 символов) или путь файлового инструмента, но не content/oldText (данные не показываются).\n\nГРАБЛИ. dsh_edit с большим oldText в README задвоил файл (1396 строк вместо 710) — откат через git checkout, замена скриптом по маркерам. Лимит 10 вызовов: пачки replace свыше 10 молча отбрасываются, версии не растут — проверять version после replace.",
"importance": "called",
"tags": [
"project",
"memory",
"archive",
"protocol"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-07T06:34:10.299Z",
"updatedAt": "2026-11-07T06:34:10.299Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 2539
} }
], ],
"chats": {} "chats": {}

Loading…
Cancel
Save