Skip to content

Releases: Korrnals/mnemos

4.1.0

Choose a tag to compare

@Korrnals Korrnals released this 06 Sep 12:25
3d281d0

4.1.0 — universal behavioral pack + MCP SDK in core

Every target now gets always-on memory instructions — including a brand-new opencode target — and the base install speaks MCP out of the box: mcp>=2.0,<3.0 moved into core dependencies, so one plain install is all an agent harness needs (ADR-0023).

Highlights

  • Universal behavioral pack, new opencode target (#231/#232) — a new agents_md deployment kind injects a stamped, additive always-on digest of the three instruction files (recall at session start; checkpoint before compaction and session end; tag contract on every write; memory ops are PRIORITY tools) into each harness's native standing-instructions file: ~/.agents/AGENTS.md for the agents target (the one AGENTS.md-standard channel — Claude Code included), ~/.zcode/AGENTS.md for ZCode, and ~/.config/opencode/AGENTS.md for the NEW opencode target (OpenCode reads it natively; nested skills to ~/.config/opencode/skills/; MCP registered via an additive merge into ~/.config/opencode/opencode.json that preserves other servers and user-tuned values). The pi target receives the same pack as a standing system-prompt hint injected by the shipped bridge extension. The block engine never touches user content: deploy appends around it, update replaces only the stamped region, uninstall strips only the block; deploy/update/uninstall/verify report missing/stale/version-drift/content-drift. Fully backward compatible — copilot/cursor/hermes/generic-copilot/pi deploy maps unchanged.
  • MCP SDK in core dependencies (ADR-0023, #234)mcp>=2.0,<3.0 (bare; the upstream [cli] extra only added already-core deps) joined project.dependencies; the mcp extra remains as an empty compatibility alias. Before this change the base install could not run mnemos mcp-server — the primary agent-harness surface — and every fresh base install got a guaranteed mnemos doctor FAIL on MCP transport. Binding conditions implemented: an AST import-isolation guard pins the SDK to mnemos.mcp_server (a subprocess test proves the CLI import path never loads it), and the pip-audit/SBOM gate covers the unified profile. Net-new transitive deps ~1 MiB; doctor remediation strings and the EN/RU docs sweep now name the plain package everywhere.
  • Docs overhaul: three-command quick start + RU admin mirrors — the README quick start is now three one-command steps (install the server → mnemos integration setup connects the harness AND deploys the behavioral pack → mnemos doctor), with every install variant delegated to the extended EN/RU getting-started guide — the <!-- version:… --> release-marker blocks moved there too, and sync-readme-version.sh follows them since #236. A docs-vs-code accuracy pass reconciled every operational doc against the real Typer CLI registrations, config/env forms, MCP tool registry and FastAPI routes (22/22 CLI subcommands and 26/26 MCP tools documented, ~80 broken anchors/links fixed), and the three EN admin pages that had no Russian counterpart are now mirrored 1:1 (EN/RU documentation synchronous).
  • ADRs recordedADR-0023: MCP SDK moves into core dependencies as bare mcp>=2.0,<3.0 (implemented in this release; binding: lazy-import guard test, unified pip-audit/SBOM). ADR-0024: all harness connection consolidates into mnemos connect [harness] over the existing targets.yaml registry in three phases (4.1.0 alias + detect-all listing; 4.2 cursor/windsurf/claude-code targets + doctor on the registry; 4.3 Codex TOML-merge + legacy deprecation), with binding security controls.

Note on artifacts: no build assets are attached to this release and PyPI still carries 3.2.0 — distribution publication is a separate owner decision.

Full changelog: CHANGELOG.md — 4.1.0

v4.0.0 — bundled nano-embedder major: chromadb removed, zero-config memory

Choose a tag to compare

@Korrnals Korrnals released this 03 Sep 20:57
8808b3d

Re-cut 2026-09-03 (ADR-0022, owner decision): this release now ships under Apache-2.0 (was tagged MIT on 2026-09-03 19:43, before any installable artifacts existed). The original MIT tag and its auto-generated source archives remain MIT (per-version license fixity). All versions ≤ 3.2.0 remain MIT. See ADR-0022.

v4.0.0 — bundled nano-embedder major

Fully local memory out of the box: bundled mnema-embed-v1 (29.6 MB int8 ONNX, RU+EN, 384d) as the default embedding model; chromadb removed from the runtime (−3 CVEs, −250 MB install). No downloads, no API keys, no network — install → first search offline.

Highlights

  • NM-1c+1d (ADR-0021, epic #197) — bundled mnema-embed-v1 as default embedder (distilled in-project, RU 49% corpus, cos 0.958 to teacher); onnxruntime/tokenizers/huggingface_hub promoted to direct deps; legacy chromadb configs migrate with a deprecation warning; external providers (onnx, ollama, sentence-transformers) remain the quality escape hatch. S1m re-baseline: recall@5 0.929 → 0.875 on the 192-query corpus — the accepted −5.5 pp trade for full autonomy.
  • BF-2/3/4 benchmark framework (ADR-0020, epic #169) — S3 long-lived-session stand (fact-retention gates the future refiner), S4 availability-probe stand (read-only invariant, quarantine exclusion), S2 nightly mode with measured noise bands, 192-query judged corpus (McNemar p=4.3e-07), one-page owner report (make bench-report) with F1–F7 traffic lights.
  • License: Apache-2.0 (ADR-0022) — niche norm (mem0/letta/cognee/chroma/qdrant), explicit patent grant, trademark carve-out, NOTICE documents model provenance. Monetization model: open core; closed GUI (mnemos-eyes) planned; FSL only if triggers fire (10k stars / 25k downloads/mo / GA−1mo / first external contributor → CLA).
  • NM-1d final namingmnema-embed-v1 (was nano-embed-v1); docs sweep 28+4 mentions.

Note on the re-cut: the v4.0.0 git tag was re-created on the Apache-2.0 commit; the original MIT-tagged snapshot (7574c47) and its auto-generated source archives remain publicly reachable and MIT-licensed. No installable artifacts (PyPI/npm/wheel/container) were ever published for the MIT cut — PyPI's mnemos-memory-server carries 3.2.0 (MIT), and 4.0.0 goes to PyPI under Apache-2.0.

Full changelog: CHANGELOG.md 4.0.0

v3.2.0 — context lifecycle skill (mnemos_assemble_context, mnemos_context_rewrite, mnemos_hooks)

Choose a tag to compare

@Korrnals Korrnals released this 01 Sep 11:08
v3.2.0 — mnemos-context-lifecycle skill (closes #209): cover mnemos_a…

v3.1.0 — pi distribution channel + integration stamp fix

Choose a tag to compare

@Korrnals Korrnals released this 01 Sep 11:08
  • 2026-09-01

MINOR — two additive, non-breaking changes: the npm/π distribution channel (new package surface, no core changes) and an integration stamp-placement fix (self-heal after frontmatter). No API breaks; no migration required.

Added

  • npm/π distribution channelmnemos-pi package published under three names (mnemos-pi, @korrlabs/mnemospi, @korrlabs/mnemos-pi) via OIDC trusted publishing (no long-lived npm token). package.json declares the π extension entry points; scripts/sync-version.mjs keeps package.json version synced from pyproject.toml (single source of truth); scripts/publish-all.mjs publishes all three names idempotently; .github/workflows/publish-npm.yml triggers on v* tags.
  • LICENSE — MIT license file added for npm packaging.

Fixed

  • Integration stamp placement — the self-heal stamp is now placed after frontmatter in integration templates (integrations/instructions/*, integrations/skills/*), closing the skill-loading bug where frontmatter parsing broke on stamp-injected files. src/mnemos/cli/integration.py refactored for correct stamp insertion; tests/test_integration.py extended with coverage for the stamp-after-frontmatter case.

v3.0.0 — the publication-engine major

Choose a tag to compare

@Korrnals Korrnals released this 30 Aug 23:26
c959956

The publication-engine major — ADR-0019 semantics: immediate visibility by default, fail-closed danger gates, the async refine engine, reason-neutral retraction, terminal quarantine. Engine content details: see CHANGELOG [2.15.0].

New since 2.15.0:

  • Release-pipeline integration (#179) — connected in local symlink mode (scripts/run-release-local.sh); the standalone local release script is deprecated.
  • Living dev-plan (#187) — per-wave progress snapshot + changelog discipline.
  • Issue-tracker practice — Phase 2 backlog runs in the tracker; the known mcp-SDK bug is tracked in #185.

Versioning policy v2 (directive 5a5ac447): majors mark engine landmarks; plan completions arrive as minors. The earlier v3.0.0 → 2.15.0 rollback was SemVer-incorrect; 2.15.0 stays published as the historical minor, this major supersedes it.

No binaries attached (honest line): CI lock in effect, pipeline gates #180 / #181 / #182 / #183 are open — a full artefact run is currently impossible. Artefacts ship from 3.1.0 once the gates close.

v2.15.0 — in-process Hermes, immediate visibility, ADR-0019 pipeline

Choose a tag to compare

@Korrnals Korrnals released this 30 Aug 20:55
e0c177f

Minor release — two migration-relevant changes since 2.14.1. Read the migration notes below before upgrading.

Version note: minor per owner policy — major reserved for full roadmap completion (ADR-0019 Phase C/D + benchmark waves pending); the Hermes plugin carries its own breaking-change signal at plugin.yaml 3.0.0.

Breaking changes

  • Hermes plugin 3.0.0 — in-process adapter. The Hermes MemoryProvider plugin is now a thin shim over the new in-process adapter mnemos.adapters.hermes (ADR-0017 D1 contract). Config keys base_url / api_key / totp_secret are removed; the plugin embeds the memory server in-process and requires the mnemos package importable in the Hermes Python environment. New keys: data_dir, vault_path, publish_on_write, sync_min_user_chars. The 15 mnemos_* tool names/params are unchanged.
  • Immediate visibility by default. New mnemos.visibility policy knob (immediate | curated); immediate is now the default (ADR-0019 Phase B2b) — entries are visible on write, with async refinement instead of a publish-gated pipeline.

Also in this release

  • ADR-0017 Phases 0-1 (24 PRs): zero-config loopback profile, universal integration targets (zcode, agents), MCP presets + adapter template, the assemble_context provider contract (recall → filter → mandatory secret scan → CacheAligner → budget, provenance on every block), lifecycle hooks + MnemosSDK facade, D5 golden-set measurement baseline, Hermes migrated onto the contract.
  • ADR-0018 security tracks: scan-at-issuance on every surfaced channel (search/recall/filter/title paths, <REDACTED:pattern> with per-item redactions), CCR project scoping, strong-form marker validation (existence + issuer ledger + integrity), tiered FTS5 snippet scanning.
  • ADR-0019 complete: enumerated danger detectors, fail-closed publish/ingest gates, the refine loop (CAS intake, transactional projection swap, failure lanes), quarantine mechanics, reason-neutral retraction across surfaces.
  • ADR-0020: memory benchmark framework.

Test suite: 2181 passed.

Full changelog: https://github.com/Korrnals/mnemos/blob/main/CHANGELOG.md

Note: CI is disabled by owner decision (billing) — no wheel/container assets are attached to this release (same posture as v2.14.1); build from source or the PyPI pipeline when re-enabled.

v2.14.0

Choose a tag to compare

@Korrnals Korrnals released this 31 Jul 00:55

[2.14.0] - 2026-07-31

New user-visible feature release — the mnemos_workflow MCP tool + workflow_status entity + state machine (mnemos #96), the workflow lifecycle layer. Separates mutable workflow state from the append-only tag classification. New MCP tool + entity + REST + CLI = MINOR bump per SemVer.

Added

  • workflow_status entity + state machine (mnemos #96) — a mutable lifecycle layer for a memory, distinct from the append-only tag classification. Six states (open, in-progress, blocked, resolved, done, withdrawn) with a server-enforced state machine: blocked → done is forbidden (a stuck dependency must go through resolved first — blocked → resolved → done); done / withdrawn are terminal (no outgoing edges); open has no edge to blocked (a memory must enter in-progress before it can be blocked). Backed by a SQLite migration (memory_workflow_status projection + memory_workflow_history audit table). Implemented in MemoryManager.workflow_set / workflow_get / workflow_history with five guardrails: G1 audit log (rejected transitions write no audit row — the log records state changes, not attempts), G2 stale-lock auto-release (default 24h), G3 idempotent transitions (same-status is a no-op, no write, no audit row), G4 force-unlock (requires reason), G5 per-memory rate limit (default 30/min — per-memory, not per-actor: churn on one memory is throttled regardless of which actor drives it). Phase 1 ships weak identityactor is a free-form string with NO authn/authz; the guardrails are the only protection until a future phase binds actor to an authenticated principal.
  • mnemos_workflow MCP tool (#96) — grouped lifecycle tool via an action: enum [set, get, history] dispatch, reusing the action: enum pattern proven by mnemos_tags (#97, ArchCom 2026-07-18 session 2). action="set" transitions the status (requires memory_id, to, actor); action="get" returns the current status + lock owner; action="history" returns the audit trail. Thin wrapper over the manager — the state machine and guardrails CANNOT be bypassed from the MCP layer.
  • Nested REST endpoints (#96)GET / POST / DELETE /api/v1/memories/{memory_id}/workflow (nested under the memory, not a top-level /status — per ArchCom 2026-07-18 session 2). POST returns 409 on a guardrail violation; GET returns 404 if the memory is missing. DELETE is a cancel / withdraw (terminal withdrawn, irreversible) — it is not a lock-release-to-resumable; the state machine has no edge back to open.
  • CLI workflow subcommand (#96)mnemos workflow get|set|history thin wrappers over the manager; ValueError (guardrail / state-machine violation) surfaces as a red error line + exit 1, mirroring the MCP / REST surfacing.
  • Docs (EN + RU) — full mnemos_workflow reference in mcp-tools.md (states diagram, input/output tables, guardrail table, lock semantics, REST equivalent, Phase 1 weak-identity note).

Install: pip install mnemos==2.14.0 · Container: ghcr.io/korrnals/mnemos:2.14.0

Branch chain (git-workflow-mnemos): feat/96-workflow-statusdev-workflow-status (squash) → release/2.14.0main (merge-commit + tag v2.14.0)

Full changelog: see CHANGELOG.md

v2.13.0 — mnemos_tags MCP tool (pilot #97)

Choose a tag to compare

@Korrnals Korrnals released this 30 Jul 20:59

New user-visible feature release — the mnemos_tags MCP tool (pilot #97), the proof-of-concept for grouped MCP tool consolidation per ArchCom 2026-07-18 session 2. New MCP tool = SemVer MINOR bump (2.12.1 → 2.13.0).

Added

  • mnemos_tags MCP tool (pilot #97) — grouped bulk tag operations via an action: enum [rename, remove, add] dispatch. action: enum + flat properties chosen over oneOf/discriminated unions (render unreliably in MCP clients) and over dot-notation. action="rename" is identical to mnemos_tags_rename; action="remove" drops exact tags (or, with wildcard=true, prefix-matched tags); action="add" appends tags to memories matching a project/agent filter. Shared _commit_tags path + FTS5-safe UPDATE keeps the external-content index consistent. Contract validation is strict for remove/add (rejects contract-breaking results per memory with an errors entry, write skipped) and lax for rename. dry_run=true by default. mnemos_tags_rename kept as a non-breaking alias. Docs EN+RU: tag-contract.md (+ catalogue rows in mcp-tools.md).

Install

  • pip: pip install https://github.com/Korrnals/mnemos/releases/download/v2.13.0/mnemos-2.13.0-py3-none-any.whl (when the local-release build publishes the wheel)
  • container: ghcr.io/korrnals/mnemos:2.13.0

Full changelog: v2.12.1...v2.13.0

v2.12.1 — Federation hotfix + hardening + local-release pipeline

Choose a tag to compare

@Korrnals Korrnals released this 28 Jul 08:21

Full Changelog: v2.12.0...v2.12.1

mnemos 2.12.0 — Federation

Choose a tag to compare

@Korrnals Korrnals released this 22 Jul 07:11
2b5209e

Federation stack: Phase 1/2 HTTP/A2A + M1 mesh contract + M3 Python client + M4.0 MnemosCore server + ADR-0016 threat model + auto-cron bridge + contract sync regression test. See CHANGELOG.md for details.