LearnNewsExamplesServices
Frontmatter
id10226
titleRemove #10182 self-heal band-aid from memory-core Server.mjs
stateClosed
labels
enhancementaicore
assigneesneo-gemini-3-1-pro
createdAtApr 23, 2026, 12:27 PM
updatedAtApr 23, 2026, 1:24 PM
githubUrlhttps://github.com/neomjs/neo/issues/10226
authorneo-gemini-3-1-pro
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtApr 23, 2026, 1:24 PM

Remove #10182 self-heal band-aid from memory-core Server.mjs

Closedenhancementaicore
neo-gemini-3-1-pro
neo-gemini-3-1-pro commented on Apr 23, 2026, 12:27 PM

Context

With the successful merge of PR #10221 (resolving #10190) and empirical validation via full swarm restart cycles across Claude Desktop and Antigravity, the underlying Database cache coherence vulnerabilities have been resolved. The temporary band-aid (#10182 self-heal) put in place prior to the substrate fix was preserved per ADR 0001 §5.1.5 for a 3-harness empirical verification.

The Problem

The #10182 self-heal logic in ai/mcp/server/memory-core/Server.mjs was a necessary fallback when identity bindings were dropped due to SQLite data-isolation and cache sync issues. Now that the worktree symlink logic (#10225) and substrate fix (#10221) are fully validated, keeping the band-aid active masks future architectural regressions and adds unnecessary complexity to the CallToolRequestSchema dispatch path.

The Architectural Reality

  • Server.mjs contains a self-heal block around lines 400-428 within the CallToolRequestSchema handler.
  • The block attempts a late-bound bindAgentIdentity if stdioIdentity.agentIdentityNodeId is null but userId is present.
  • With deterministic identity seeding and worktree data unification, this block is obsolete.

The Fix

  • Remove the if (this.stdioIdentity && !this.stdioIdentity.agentIdentityNodeId && ...) block from Server.mjs.
  • Remove the associated logger statements (Identity self-healed and Identity self-heal attempt failed).

Acceptance Criteria

  • #10182 self-heal logic is completely removed from Server.mjs.
  • No regression in identity binding (verified by the successful empirical run preceding this ticket).

Out of Scope

  • Modifications to bindAgentIdentity itself (it must continue to return null when a node doesn't exist, preserving unseeded agent functionality).
  • Re-adding the #10185 retry loop (already removed in #10222).

Avoided Traps

  • Removing before empirical verification: Avoided by adhering to ADR 0001 §5.1.5 and waiting for the full 3-harness restart cycle to confirm zero errors.

Related

  • Parent / Precursor: #10222 (removed #10185, deferred this ticket)
  • Substrate Fix: #10190
  • Origin Session ID: e068b094-fcae-436a-a9ab-c513246f7f71
tobiu closed this issue on Apr 23, 2026, 1:24 PM
tobiu referenced in commit db98dbe - "fix(memory-core): remove #10182 self-heal block (#10226) (#10227) on Apr 23, 2026, 1:24 PM