Releases: Coaden/synomem
Releases · Coaden/synomem
Release list
v0.6.0
[0.6.0] - 2026-09-07
Added
- Local workspace isolation is now real. A local workspace used to be a
--workspacelabel with nothing behind it — onlyeventscarried
workspace_id, reads never filtered on it, and several tables had no such
column at all. A local workspace is now a separate SQLite database in its
own home, the safer design given SQLite has no row-level security: on
Postgres a query that forgets to filter by workspace returns nothing
instead of another workspace's rows, and separate files make the local
equivalent of that mistake unwritable rather than merely unlikely. - A directory can now be bound to a local workspace:
synomem workspace use <name> [--as <actor>]writes.synomem/config.json, found by walking up
from the working directory the same way.gitor.nvmrcis. Every command
and every stdio MCP server started in that directory afterward resolves the
workspace — and, unless overridden per launch, the default actor — with no
flag repeated. This is what makes several harnesses opened in the same
repository share one workspace while each still writes as its own actor:
--workspace,SYNOMEM_WORKSPACE, and--homeall still win outright, in
that order, over the project file, and each harness's own--agent-idor
--actor-idalways wins over the file's default actor. synomem_agent_archiveandsynomem_agent_restoreMCP tools, closing the
gap where the CLI could archive or restore an agent identity but MCP could
not. Gated by a newallowAgentArchiveViaMcpcapability
(SYNOMEM_ALLOW_AGENT_ARCHIVE_VIA_MCP), off by default and mirroring
agentCreationViaMcpexactly, so runtime agents cannot silently disable
each other unless an operator opts in.
Fixed
- An agent created before handles existed (schema 7) made every write in its
workspace fail withUNSUPPORTED_EVENT: its storedagent.createdevent
carries an id and no handle, and the compatibility check that runs before
each write refused the whole event stream on that missing field. The reader
now widens to accept it — the id is the correct handle for those records —
rather than the append-only log being rewritten. - Renaming an agent's handle left its old projection directory behind,
strandingNOTES.md, the one file in there that belongs to the reader
rather than to Synomem and that a rebuild will never delete. The directory
is now moved to the new handle before projections are regenerated, so
hand-written notes arrive intact instead of being stranded.
Synomem v0.1.1
Fixed
- Respect configured
SYNOMEM_ACTOR_ID,SYNOMEM_ACTOR_KIND, andSYNOMEM_ACTOR_NAMEin CLI commands that previously used historical local defaults. - Preserve the existing local fallback identities when no actor environment is configured.
- Correct the README's stale pre-publication notice.
Published package: synomem@0.1.1
Synomem 0.1.0
Initial public release of Synomem: shared, durable coordination for AI agents. Includes event-sourced kudos, memos, private notes, consent-based todos, local SQLite storage, the TypeScript library, synomem CLI, synomem-mcp stdio server, portable agent skill, and remote-service client contracts. Published to npm as synomem@0.1.0.