Skip to content

v2.28.0 — Monomind Mesh step 1

Choose a tag to compare

@nokhodian nokhodian released this 24 Oct 16:53
· 80 commits to main since this release

[2.28.0] — 2026-10-24

Added

  • Monomind Mesh, step 1: agents on one host can find each other. A per-host hub (a Unix socket in ~/.monomind/mesh, started on first use and gone again when idle) tracks which agents are running right now, in which project, doing what. Three MCP tools — mesh_join (announce this session and keep its presence alive), mesh_who (list agents; defaults to this session's own project, allProjects: true or a project id looks further, truncated says when a page was cut) and mesh_leave. They are in the default advertised set (24 tools instead of 21, +1.7 KB of schema), so any session can see them. Messaging, comments and the master report are later steps.
    • Presence goes active → stale (30 s) → gone (90 s); a session whose process died is dropped within seconds. Ownership of an address is by a key the hub hands out and stores only as a hash, so another process cannot take over a live agent, also after a hub restart.
    • Bounds and safety: the mesh directory must be private to your user (hub and clients refuse anything else); the single-hub lock is named after a secret in that directory; agent-supplied text is sanitised and returned marked as untrusted; connections, line length, unread replies, rows per process and rows kept are all capped. Project isolation is advisory until authenticated identities exist (see the design's "Known limits of step 1").

Fixed

  • atomicWriteFile no longer leaves *.tmp files behind. Its temp name is now unique per call and removed when the write or rename fails (the cause of the registry.json.<pid>.tmp litter in ~/.monomind; existing leftovers can be deleted by hand). With concurrent writers there are no more stale or colliding temp files (a2946ac).

Changed

  • The default MCP roster grows from 21 to 24 tools (mesh_join, mesh_who, mesh_leave, 76064e1), adding about 1.7 KB of tool schema; the roster schema budget is raised to 18000 bytes (4293532).
  • Internal: mesh and atomic-write tests now create their directories under os.tmpdir() (957a864).