Claude Code plugin, Claude Desktop .mcpb extension, and per-write provenance recording which
client produced each memory. All three share one store at ~/.awm/memory.db.
The plugin and the Desktop bundle are GENERATED from the same modules `awm setup` uses, and
check:release blocks if either has drifted — a hand-maintained copy of the hook wiring is the
failure 0.14.6 was about, and this would have been the third.
Installing needs no GitHub access: the npm package carries the marketplace, and `awm plugin`
prints the two lines to paste with the path resolved for that machine. Most users are on
Windows and will never clone the repo.
Verified at this tag: 786 tests on Windows and Linux, MCP smoke passing, 33 clean-room
install assertions, 12 Desktop clean-room assertions, a cross-surface end-to-end walk from a
packed .mcpb, and a live write through the real plugin returning client=claude-code.
Not covered: Claude Desktop's own install dialog, and whether Claude Code accepts a
node_modules path as a marketplace directory.