@korrlabs/mnemospi 4.1.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/README.ru.md +9 -0
- package/integrations/skills/mnemos-context-lifecycle.md +20 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -114,7 +114,7 @@ One local server — and a connected agent harness gets the full memory stack.
|
|
|
114
114
|
| **Lifecycle hooks** | `pre_llm_call` context injection, `on_session_start`, `post_tool_call` auto-compression of tool outputs |
|
|
115
115
|
| **Publication v3.0.0** | Entries visible immediately after save, background refinement with seamless swap, quarantine with neutral retraction |
|
|
116
116
|
| **Self-protection** | Injection / secret detectors on input and publication, every output scanned, full per-entry audit |
|
|
117
|
-
| **Auto-pipeline** | Background processor: clustering, deduplication, quality gate, publication |
|
|
117
|
+
| **Auto-pipeline** | Background processor: clustering, deduplication, quality gate, publication. Entries awaiting refinement sit at `pipeline_state=pending` until the processor runs — in CLI-only deployments (no daemon) start it with `mnemos processor start`; `mnemos doctor` reports the pending-queue depth |
|
|
118
118
|
|
|
119
119
|
Autonomy for an arbitrary harness and LLM-driven enrichment are partial — the
|
|
120
120
|
full, honest map lives in [docs/en/features.md](docs/en/features.md).
|
|
@@ -142,6 +142,15 @@ control surfaces, and a storage layer you can read with your own eyes.
|
|
|
142
142
|
SQLite for metadata, a local numpy + SQLite vector index for recall, and an Obsidian-compatible vault
|
|
143
143
|
for the humans in the loop.
|
|
144
144
|
|
|
145
|
+
**Where this is going.** The shipped, measured rung is *stores and finds*. The next rungs —
|
|
146
|
+
*collapse with checks* (session → project → cross-project synthesis: automatic by default, but never
|
|
147
|
+
unconditional in authority — every derivative traces back to its sources, nothing pins without an
|
|
148
|
+
operator) and, later, *builds understanding* — open only as pre-registered experiments prove them
|
|
149
|
+
([ADR-0025](docs/project/adr/0025-memory-meta-level-lanes.md)). The invariant on that road is
|
|
150
|
+
**zero silent losses**: a fact is either retained, or its loss is visible. And the shape of the
|
|
151
|
+
ambition is a *nervous system, not a conductor* — memory that surfaces the right thing at the right
|
|
152
|
+
moment, never one that conducts the agent.
|
|
153
|
+
|
|
145
154
|
---
|
|
146
155
|
|
|
147
156
|
## 🤝 Connect any harness
|
|
@@ -303,3 +312,27 @@ Apache-2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE). Source: [github.com/
|
|
|
303
312
|
|
|
304
313
|
Contributions are welcome — [CONTRIBUTING.md](CONTRIBUTING.md) has the development setup, the branch
|
|
305
314
|
and commit conventions, and the quality gate a change must pass.
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## 🛠 CI / Релизы — кластерный конвейер `release-pipeline`
|
|
319
|
+
|
|
320
|
+
Этот проект подключён к общему кластерному конвейеру релизов
|
|
321
|
+
([Korrnals/release-pipeline](https://github.com/Korrnals/release-pipeline),
|
|
322
|
+
K3s `abyss-ai-agent`, namespace `release-pipeline`). GitHub Actions не
|
|
323
|
+
используется (биллинг аккаунта заблокирован) — конвейер и есть штатный путь
|
|
324
|
+
релизов. Релизный артефакт подписывается трёхслойно: SHA256 → SBOM → cosign → GPG.
|
|
325
|
+
|
|
326
|
+
**Релиз новой версии:**
|
|
327
|
+
1. `VERSION` → релизный коммит (конвенция репо) → тег `vX.Y.Z` → push.
|
|
328
|
+
2. Обновить версию проекта в `projects[]` файла `~/.cache/release-pipeline-values.yaml` и применить:
|
|
329
|
+
```bash
|
|
330
|
+
helm upgrade --install release-pipeline \
|
|
331
|
+
~/LABs/Projects/Project-Umbra/release-pipeline/chart/release-pipeline \
|
|
332
|
+
--kube-context abyss-ai-agent -n release-pipeline \
|
|
333
|
+
-f ~/.cache/release-pipeline-values.yaml
|
|
334
|
+
```
|
|
335
|
+
3. Наблюдение: `kubectl --context abyss-ai-agent -n release-pipeline get jobs`,
|
|
336
|
+
логи: `kubectl ... logs -f job/release-<proj>-<ver>`.
|
|
337
|
+
|
|
338
|
+
Подробности (типы проектов, kaniko-контейнеры, teardown): README конвейера.
|
package/README.ru.md
CHANGED
|
@@ -142,6 +142,15 @@ mnemos search "помнит между сессиями"
|
|
|
142
142
|
SQLite для метаданных, локальный векторный индекс на numpy + SQLite для recall и Obsidian-совместимый
|
|
143
143
|
vault для людей в контуре.
|
|
144
144
|
|
|
145
|
+
**Куда это движется.** Отгруженная и измеренная ступень — *хранит и находит*. Следующие ступени —
|
|
146
|
+
*свёртка с чеками* (синтез сессия → проект → кросс-проект: автоматическая по умолчанию, но никогда
|
|
147
|
+
безусловная по авторитету — каждый итог возводим к исходникам, ничто не пиннится без оператора) и
|
|
148
|
+
позже *строит понимание* — открываются только по мере подтверждения предрегистрированными
|
|
149
|
+
экспериментами ([ADR-0025](docs/project/adr/0025-memory-meta-level-lanes.md)). Инвариант этого
|
|
150
|
+
пути — **ноль тихих потерь**: факт либо сохранён, либо потеря видна. А форма амбиции — *нервная
|
|
151
|
+
система, а не дирижёр*: память, которая поднимает нужное в нужный момент, но никогда не дирижирует
|
|
152
|
+
агентом.
|
|
153
|
+
|
|
145
154
|
---
|
|
146
155
|
|
|
147
156
|
## 🤝 Подключение любого харнеса
|
|
@@ -28,6 +28,10 @@ rewrite lifecycle.
|
|
|
28
28
|
- **Tool output compression (hooks.post_tool_call)** — a tool returned a
|
|
29
29
|
huge output you want substituted by a zero-loss CCR marker, with
|
|
30
30
|
provenance stamped for strict marker validation.
|
|
31
|
+
- **Re-assembly (mid-session)** — only when memory changed materially (a
|
|
32
|
+
new decision, a rewritten context block that must surface). The
|
|
33
|
+
assembled block is prefix-stable by design; gratuitous re-assembly
|
|
34
|
+
rewrites the prefix and discards the cache the session was building.
|
|
31
35
|
|
|
32
36
|
## STEPS
|
|
33
37
|
|
|
@@ -92,6 +96,22 @@ rewrite lifecycle.
|
|
|
92
96
|
project/agent/session/supersedes/content), so re-delivery cannot
|
|
93
97
|
duplicate writes.
|
|
94
98
|
|
|
99
|
+
6. **Keep assembly cache-friendly** (provider-agnostic cache discipline):
|
|
100
|
+
|
|
101
|
+
- Assemble the context once per session, or on material memory
|
|
102
|
+
change; mid-session re-assembly is reserved for significant
|
|
103
|
+
changes only.
|
|
104
|
+
- The assembled mnemos text is per-call conversation content (tail),
|
|
105
|
+
NOT a standing prefix — never inject mnemos blocks into the system
|
|
106
|
+
prompt.
|
|
107
|
+
- Do not change the MCP tool set or tool schemas mid-session; a tool
|
|
108
|
+
change invalidates the provider's cache for the entire session.
|
|
109
|
+
- Prefer append-over-rewrite on compaction: append the new summary
|
|
110
|
+
after the stable prefix rather than rewriting the prefix.
|
|
111
|
+
- Align system prompts once, at assembly time
|
|
112
|
+
(`mnemos_align_prefix`); dynamic values (timestamps, counters,
|
|
113
|
+
volatile state) go to the tail, never the prefix.
|
|
114
|
+
|
|
95
115
|
## DISCIPLINE
|
|
96
116
|
|
|
97
117
|
- **Never assemble context by hand.** The pipeline stages (context filter,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@korrlabs/mnemospi",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "Mnemos memory & knowledge server — Pi extension. Spawns `mnemos mcp-server` over stdio and exposes every mnemos_* tool as a native Pi tool, plus the mnemos skill pack.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|