From 4da7c55a7e94f64c28528b6c3d1c0825a969c05e Mon Sep 17 00:00:00 2001 From: wolverinaton Date: Tue, 23 Jun 2026 22:12:29 -0300 Subject: [PATCH 1/2] =?UTF-8?q?release:=20v4.1.0=20=E2=80=94=20local-files?= =?UTF-8?q?ystem=20(Everything)=20bridge=20+=20LLM=20Atlas=20extractor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Surfaces the previously-merged-but-undocumented work since v4.0.0: - #161 local-filesystem search bridge (resolve_project, Everything ES.exe, path redaction) - #166 LLM typed-entity Atlas extractor - #162 detect-first installer; #165 steward tiers-every-cycle; #163 CI conftest; #164 IP scrub README Key features + CHANGELOG now document the Everything integration. --- CHANGELOG.md | 41 +++++++++++++++++++++++++++++++++++++++++ README.md | 2 ++ pyproject.toml | 2 +- 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c04b67b..ff5e42a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [4.1.0] - 2026-06-24 + +**Local-filesystem awareness + LLM life-knowledge extraction.** Agents can now +resolve real on-disk paths privately, and ingested evidence becomes typed, cited +claims via an LLM instead of a keyword matcher. + +### Added + +- **Local-filesystem search bridge** (#161): `resolve_project()` does + **memory-first, [Everything](https://www.voidtools.com/) (`ES.exe`)-second** + path resolution with explainable, evidence-weighted confidence. Confident, + non-sensitive matches are written back as governed `reference` claims, so the + next lookup is memory-only. Absolute paths are redacted to root-relative tokens + (`redact.py`) — usernames and internal directory structure are never stored. + Backend-agnostic `LocalSearchProvider` Protocol in + `memorymaster/bridges/local_search/` (`EverythingProvider` today; + `plocate`/`fd`/`mdfind` can drop in later). All filesystem I/O is read-only. +- **LLM typed-entity Atlas extractor** (#166): + `extract-atlas-claims --extractor llm` turns evidence (WhatsApp / email / + notes) into typed, cited life-knowledge claims + (`person`/`project`/`commitment`/`decision`/`event`/…) with strict subject and + type validation — the `subject` is always the real named entity, never the + source app. Replaces the deterministic keyword matcher (kept as + `--extractor deterministic`). +- **Detect-first, brownfield-aware installer** (#162): the setup flow detects + existing hooks/MCP/config and is idempotent, with + `--extractor`/`--yes`/`--full-stack`/`--json`/`--verify-only` flags and a + no-Docker fallback. Malformed config files are backed up before any rewrite. + +### Fixed + +- **Steward tiers every cycle** (#165): `recompute_tiers` now runs on every + `run_cycle`, so `core`/`working`/`peripheral` tiers stay current instead of + drifting between manual `recompute-tiers` invocations. +- **Test import path** (#163): a repo-root `conftest.py` restores + `from scripts import ...` under the scoped editable install, fixing CI. + +### Security + +- **Scrubbed maintainer home-lab IP** (#164) from the tracked repository. + ## [4.0.0] - 2026-06-20 **The v4 consolidation — MemoryMaster becomes a top-tier governed memory layer.** diff --git a/README.md b/README.md index eee770d..ba57d20 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ recent PR status, and sensitivity-filter invariants. - **Auto-redaction** at ingest: JWT, GitHub tokens, Bearer, AWS keys, SSH keys, custom patterns - **LLM Wiki**: compiled-truth + append-only timeline articles with progressive-disclosure frontmatter, `explored: true|false` operator-review marker, and inline `> [!contradiction]` Obsidian callouts - **Atlas Inbox V1** (new in v3.13.0): WhatsApp ingestion → source/evidence/action proposal lifecycle → Super-Productivity export. Versioned API/CLI contract for downstream consumers (LifeAgent, etc.) — see [`docs/atlas-api-contract-v1.md`](docs/atlas-api-contract-v1.md). Real provider adapters (`OpenAIWhisperTranscriptionProvider`, `TesseractOcrProvider`) behind `Protocol`s; mock providers stay default. +- **Local-filesystem awareness** (new in v4.1.0): `resolve_project()` gives an agent the real on-disk path of a project/file via a **memory-first, Everything-second** lookup — it checks the brain's `reference` claims first, then falls back to the [Everything](https://www.voidtools.com/) `ES.exe` index for an instant, read-only whole-machine search, and writes confident matches back with the path **redacted to a root-relative token** (usernames / internal structure are never stored). Backend-agnostic `LocalSearchProvider` Protocol (`memorymaster/bridges/local_search/`) so `plocate`/`fd`/`mdfind` backends can drop in later. +- **LLM typed-entity Atlas extractor** (new in v4.1.0): turns ingested evidence (WhatsApp / email / notes) into *typed*, cited life-knowledge claims (`person`/`project`/`commitment`/`decision`/`event`/…) via an LLM with strict subject/type validation — replacing the deterministic keyword matcher. The `subject` is always the real named entity, never the source app. - **Dual backend**: SQLite (zero-config) and Postgres (full feature parity with pgvector) - **Dream Bridge** for bidirectional sync with Claude Code's Auto Dream - **7-hook stack**: recall, classify, validate-wiki, session-start, auto-ingest, precompact, steward-cron diff --git a/pyproject.toml b/pyproject.toml index d8f447e..cb22761 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "memorymaster" -version = "4.0.0" +version = "4.1.0" description = "Production-grade memory reliability system for AI coding agents. Lifecycle-managed claims with citations, conflict detection, steward governance, and MCP integration." license = {text = "MIT"} authors = [{name = "wolverin0"}] From ba9b3ceb0f1a6e5d78a986f293ae4206008ea5bf Mon Sep 17 00:00:00 2001 From: wolverinaton Date: Tue, 23 Jun 2026 22:42:35 -0300 Subject: [PATCH 2/2] =?UTF-8?q?docs(release):=20frame=20local-search=20hon?= =?UTF-8?q?estly=20=E2=80=94=20optional,=20Windows/Codex-focused,=20gracef?= =?UTF-8?q?ul-degrade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Re-verified the Everything bridge works end-to-end (es.exe 1.1.0.27): resolve-project finds real projects with explainable scoring, memory-first cache hits on repeat, paths redacted. But the value is narrow (path-resolution for weak-file-search agents + cross- session recall), not a headline; speed is sub-second either way. Docs now say so. --- CHANGELOG.md | 4 ++++ README.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff5e42a..49262d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ claims via an LLM instead of a keyword matcher. Backend-agnostic `LocalSearchProvider` Protocol in `memorymaster/bridges/local_search/` (`EverythingProvider` today; `plocate`/`fd`/`mdfind` can drop in later). All filesystem I/O is read-only. + **Optional and Windows-focused:** requires Everything + its ES CLI with + `MEMORYMASTER_EVERYTHING_ES_PATH` set, and degrades to a no-op when absent. + Most useful for agents without strong native file search (e.g. Codex); + marginal for clients that already have a good file-glob. - **LLM typed-entity Atlas extractor** (#166): `extract-atlas-claims --extractor llm` turns evidence (WhatsApp / email / notes) into typed, cited life-knowledge claims diff --git a/README.md b/README.md index ba57d20..b2ddf6b 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ recent PR status, and sensitivity-filter invariants. - **Auto-redaction** at ingest: JWT, GitHub tokens, Bearer, AWS keys, SSH keys, custom patterns - **LLM Wiki**: compiled-truth + append-only timeline articles with progressive-disclosure frontmatter, `explored: true|false` operator-review marker, and inline `> [!contradiction]` Obsidian callouts - **Atlas Inbox V1** (new in v3.13.0): WhatsApp ingestion → source/evidence/action proposal lifecycle → Super-Productivity export. Versioned API/CLI contract for downstream consumers (LifeAgent, etc.) — see [`docs/atlas-api-contract-v1.md`](docs/atlas-api-contract-v1.md). Real provider adapters (`OpenAIWhisperTranscriptionProvider`, `TesseractOcrProvider`) behind `Protocol`s; mock providers stay default. -- **Local-filesystem awareness** (new in v4.1.0): `resolve_project()` gives an agent the real on-disk path of a project/file via a **memory-first, Everything-second** lookup — it checks the brain's `reference` claims first, then falls back to the [Everything](https://www.voidtools.com/) `ES.exe` index for an instant, read-only whole-machine search, and writes confident matches back with the path **redacted to a root-relative token** (usernames / internal structure are never stored). Backend-agnostic `LocalSearchProvider` Protocol (`memorymaster/bridges/local_search/`) so `plocate`/`fd`/`mdfind` backends can drop in later. +- **Optional local-path resolution** (new in v4.1.0): `resolve-project` / `local-search` (CLI + MCP) turn a fuzzy project/file name into its real on-disk path and cache it as a recallable `reference` claim. Most useful for agents **without** strong native file search (e.g. Codex on Windows) and for cross-session "where was project X?" — for clients that already have a good file-glob this is marginal. Backed by [Everything](https://www.voidtools.com/)'s read-only `ES.exe` CLI via a backend-agnostic `LocalSearchProvider` Protocol (`memorymaster/bridges/local_search/`; `plocate`/`fd`/`mdfind` can drop in later). **Requires Everything + the ES CLI with `MEMORYMASTER_EVERYTHING_ES_PATH` set; degrades to a no-op when absent.** Paths are redacted to root-relative tokens so usernames/structure are never stored. - **LLM typed-entity Atlas extractor** (new in v4.1.0): turns ingested evidence (WhatsApp / email / notes) into *typed*, cited life-knowledge claims (`person`/`project`/`commitment`/`decision`/`event`/…) via an LLM with strict subject/type validation — replacing the deterministic keyword matcher. The `subject` is always the real named entity, never the source app. - **Dual backend**: SQLite (zero-config) and Postgres (full feature parity with pgvector) - **Dream Bridge** for bidirectional sync with Claude Code's Auto Dream