Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion parts/common/memnet/memnet/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""MemNet — mission working memory for LLM agents (session graph + pin_map)."""

__version__ = "0.19.11"
__version__ = "0.19.12"
2 changes: 1 addition & 1 deletion project.toml
Original file line number Diff line number Diff line change
@@ -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).
Expand Down
Loading