diff --git a/CHANGELOG.md b/CHANGELOG.md index b5d36a56..47f73a02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,9 +8,15 @@ This project uses Semantic Versioning as **interpreted for MemNet**: package `a. ## [Unreleased] ### Changed -- **Honesty `c` — skills: SSOT→code tracker; drop drifting code map** — Add `.cursor/skills/sysml-ssot-to-code/` (implementation ledger). Drop the duplicate `memnet-reference` code-map table (stale `cli/` path). Drop pack-only `sysml-allocate-generator` / hardware-generator teach from the relatives cache map (those folders are not vendored here). Route from `SKILL-GRAPH.md` / `AGENTS.md`. Same goldfish loop. No Hatch bump. -- **Honesty `c` — SSOT parts allocate to live code (one wheel, many hosts)** — `MemNetImplementation` `SoftwareAllocate` maps nested logical parts to Python modules in this checkout and **tracks implementation** (`ImplementationTracker`; derived map [`ssot-to-code-allocate-map.md`](sysml-models/outputs/ssot-to-code-allocate-map.md)). One Hatch `memnet-llm` wheel instantiates on droplet + devices (`oneWheelManyHosts`). MemNet MCP module stays tip/ops (`tipIsFace=false`). Cousin `sysmledge` is not in the wheel (`sysmlEdgeInWheel=false`; `CousinSysMLEdgeNotInRepo`; `mustNotInventUploadBind`; `sysmlEdgeTracked=false`). `MN-REQ-06.7` / `MN-VER-06-S04`. Engine/MCP behaviour unchanged. Not N-server (#47). Same goldfish loop. No Hatch bump. See [`sysml-models/outputs/ssot-to-code-allocate-case-study.md`](sysml-models/outputs/ssot-to-code-allocate-case-study.md). -- **Honesty `c` — device MemNet services, one MemNet MCP at the droplet (tip≠face)** — Ops fleet modelled outside `MemNetSystem`: `DropletHost` hosts the one `MemNetMcpServer` (MemNet tip/ops engine face; `tipIsFace=false`; `mcpCount=1`). Product invent face is cousin SysMLEdge (`sysmledge`; `mustNotInventUploadBind`). `MemNetDeviceHost[1..*]` run `MemNetCoreLibrary`; `mcpNested=false` means no **product** MCP nested; tip `memnet-mcp` on Pi for ops is legal (`tipMcpLegal=true`). Dual-MCP remeter: product Q → `sysmledge`; MemNet tip/ops → droplet MemNet MCP and/or Pi tip. `MN-REQ-06.6` / `MN-VER-06-S03`. Not N-server federation (#47). Same goldfish loop. No Hatch bump. See [`sysml-models/outputs/device-fleet-one-mcp-case-study.md`](sysml-models/outputs/device-fleet-one-mcp-case-study.md). + +## [0.19.12] - 2026-09-21 + +### Changed +- **Honesty `c` — skills: SSOT→code tracker; drop drifting code map (#171)** — Add `.cursor/skills/sysml-ssot-to-code/` (implementation ledger). Drop the duplicate `memnet-reference` code-map table (stale `cli/` path). Drop pack-only `sysml-allocate-generator` / hardware-generator teach from the relatives cache map (those folders are not vendored here). Route from `SKILL-GRAPH.md` / `AGENTS.md`. Same goldfish loop. +- **Honesty `c` — SSOT parts allocate to live code (one wheel, many hosts) (#171)** — `SoftwareAllocate` + `ImplementationTracker` (`MN-REQ-06.7` / `MN-VER-06-S04`). One Hatch `memnet-llm` wheel; MemNet MCP tip/ops (`tipIsFace=false`); cousin `sysmledge` not in the wheel (`mustNotInventUploadBind`). Not N-server (#47). +- **Honesty `c` — device MemNet services, one MemNet MCP at the droplet (tip≠face) (#170)** — `MemNetOpsFleet` outside `MemNetSystem`; one MemNet tip/ops MCP at droplet; Pi tip MCP allowed for ops; product invent face = `sysmledge`. Dual-MCP remeter: product Q → `sysmledge`. `MN-REQ-06.6` / `MN-VER-06-S03`. Not #47. +- **Package identity 0.19.12** — Hatch / `project.toml` / `memnet.__version__` honesty cut on **0.19** so #170+#171 tip can upload (0.19.11 already on PyPI). + - **Honesty `c` — configurable `session save` on TTL expiry** — Off unless ``MEMNET_SAVE_ON_EXPIRE``. Then explicit `session save --file` writes an expired in-RAM session (drops the id; `@WRN: session_expired_saved`). ``MEMNET_EXPIRE_SNAPSHOT_DIR`` auto-writes `{session_id}.snap` on purge/get expire. Default off: `session_expired` as before. Not Neo4j. Same goldfish loop. No Hatch bump. - **Honesty `c` — SysML expire-save + nest review** — `SnapshotStore` / `CapsPolicy` / `CmdSessionSave` / `CmdSessionLoad` / `EvExpireTtl` match configurable TTL file save (default off; RAM drop; file until user drop; load restores; not Neo4j). `MN-VER-01-S03`. Leftover archive still off `ProjectMemNet` load; dashboard still look-only. No Hatch bump. - **Honesty `c` — leftover archive off ProjectMemNet load** — leftover_* / TierACodec / LegacyPipe* honesty moved to `sysml-models/models/archive.sysml` (`MemNetArchive`). `config.yaml` omits that file; `root.sysml` MUST NOT import it. Product nest uses leftover flags only (not leftover_* parts under Schema / GraphStore). One-page nest: [`sysml-models/outputs/product-nest-one-page.md`](sysml-models/outputs/product-nest-one-page.md). Teach path stays GQL; dashboard remains look-only (`httpImplemented=false`, `tipIsFace=false`). Same goldfish loop. No Hatch bump. diff --git a/parts/common/memnet/memnet/__init__.py b/parts/common/memnet/memnet/__init__.py index 664a7b74..67bfa181 100644 --- a/parts/common/memnet/memnet/__init__.py +++ b/parts/common/memnet/memnet/__init__.py @@ -1,3 +1,3 @@ """MemNet — mission working memory for LLM agents (session graph + pin_map).""" -__version__ = "0.19.11" +__version__ = "0.19.12" diff --git a/project.toml b/project.toml index 4804a108..72910fce 100644 --- a/project.toml +++ b/project.toml @@ -1,7 +1,7 @@ [project] name = "memnet" repo = "MemNet" -version = "0.19.11" +version = "0.19.12" description = "Mission working memory for LLM agents: session graph + pin_map, not a RAG corpus" # No pcba-libs pins — software-only system (see LAYOUT.md).