From 6f6b3a7c1b6e21c88238f8d1095eec0893aef802 Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark (CryptoJones)" Date: Tue, 1 Sep 2026 08:11:53 -0500 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20backlog=20#292=20=E2=80=94=20edit-n?= =?UTF-8?q?ote=20guts=20a=20note=20on=20a=20`##=20`=20heading=20in=20detai?= =?UTF-8?q?ls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors the new issue into BACKLOG.md per the two-views rule, under a new "Bugs" subsection since every other Open entry is grouped by the review that produced it and this one came from hitting it in normal use. Found on 2026-08-31 while editing a project note through the MCP tool: content after the first `## ` in the details payload is reclassified as an extra section and re-emitted after `## References`, so `## Details` empties out, and a second edit leaves the stale copy alongside the new one. The note ended up asserting both a piece of guidance and its correction, with nothing failing at write time. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_0112ufce112zoeTEsrEJENbt --- BACKLOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BACKLOG.md b/BACKLOG.md index 00a966c..d202332 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -7,6 +7,10 @@ here so neither side drifts. ## Open +### Bugs + +- [ ] **`edit-note` silently guts a note when `details` contains a `## ` heading** ([#292](https://github.com/CryptoJones/omind/issues/292)) — _bug_ — content after the first `## ` is reclassified as an "extra" section and re-emitted after `## References`, leaving `## Details` empty; a second edit leaves the stale copy AND the new one in the file. Hit for real on 2026-08-31 through the MCP tool — a project note ended up with two contradictory bodies, including just-corrected guidance still reading as current, with a success return and a fresh version token both times. `###` is unaffected (`_H2_RE` requires whitespace after `##`). + ### From the 2026-08-27 multi-agent review (code round — fixes in the working tree) _A nine-slice review (memory core, MCP surface, mesh, enforcement, retrieval, From 45abca26508d7a1c0ea4625c3c5203574685a350 Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark (CryptoJones)" Date: Tue, 1 Sep 2026 08:17:50 -0500 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20backlog=20#294=20=E2=80=94=20mcp=20?= =?UTF-8?q?2.1.1=20masks=20ToolError=20messages,=20CI=20red=20on=20every?= =?UTF-8?q?=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found while waiting on CI for the #292 backlog PR: all 5 test matrix jobs fail on a markdown-only change. `mcp>=2.0.0,<3.0` resolves to 2.1.1 in CI, which replaces the underlying exception text with a generic "Error executing tool ", so the five test_server.py assertions that check WHY a call failed stop matching. Local venv is still on mcp 2.0.0, which is why it passes here and only CI sees it. Not caused by either backlog change — it will hit any PR opened today. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_0112ufce112zoeTEsrEJENbt --- BACKLOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BACKLOG.md b/BACKLOG.md index d202332..0cc1c00 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -11,6 +11,8 @@ here so neither side drifts. - [ ] **`edit-note` silently guts a note when `details` contains a `## ` heading** ([#292](https://github.com/CryptoJones/omind/issues/292)) — _bug_ — content after the first `## ` is reclassified as an "extra" section and re-emitted after `## References`, leaving `## Details` empty; a second edit leaves the stale copy AND the new one in the file. Hit for real on 2026-08-31 through the MCP tool — a project note ended up with two contradictory bodies, including just-corrected guidance still reading as current, with a success return and a fresh version token both times. `###` is unaffected (`_H2_RE` requires whitespace after `##`). +- [ ] **CI red on every PR: mcp 2.1.1 masks `ToolError` messages** ([#294](https://github.com/CryptoJones/omind/issues/294)) — _bug_ — `mcp>=2.0.0,<3.0` resolves to 2.1.1 in CI, which replaces the underlying exception text with a generic `Error executing tool `; 5 `test_server.py` assertions that check *why* a call failed now fail on every OS and Python version. Passes locally because the venv is still on mcp 2.0.0. Pinning `<2.1` unblocks; the real question is whether the specific message is still reachable by callers at all. + ### From the 2026-08-27 multi-agent review (code round — fixes in the working tree) _A nine-slice review (memory core, MCP surface, mesh, enforcement, retrieval,