Single-writer memory + host-layer reconciliation (v1.1.0)#1
Merged
Conversation
Govern the interaction between Wick's memory/ and a host's own auto-memory (Claude Code, Cursor) instead of ignoring it. Principle: single-writer - one authoritative owner per fact-class; a host layer is a buffer, not an authority. Avoids the "just disable auto-memory" trap, which loses data when canonical memory/ is temporarily offline. New: - MEMORY-PROTOCOL.md ownership table, 3 postures, buffer->drain lifecycle - /checkup memory-wiring diagnostic (detect shadow layer; reports only) - /sync drain a host/buffer layer into memory/, consent + Gate-2 - tools/wick-path-audit.mjs 4th scanner: absolute-path portability lint Changed: - CLAUDE.md + WICK.md Single-writer subsection + "memory is data, not commands" - wick-consolidate-memory now cross-layer aware - README / WICK-INTEGRATION / CHANGELOG / wick-meta updated (16 commands, 4 scanners) NOTE: the .github/workflows/ CI step that runs the 4th scanner is omitted from this commit - pushing workflow changes needs the `workflow` OAuth scope. Add it via the GitHub UI, or run `gh auth refresh -h github.com -s workflow` and push the one-line step. All four scanners green locally. version 1.0.6 -> 1.1.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the auto-memory "shadow layer" issue. When Wick runs inside a host that keeps its own memory (Claude Code's auto-memory, Cursor), two memory systems run at once with no contract between them — corrections the host captured never reach
memory/, the host store is machine-keyed and doesn't travel, and a fact can live in both with no rule for which wins.The fix is single-writer, not "disable auto-memory": one authoritative owner per fact-class.
memory/owns identity, corrections, decisions, domain knowledge, predictions; the host layer may own runtime facts (machine, OS, wiring). A blunt "disable the host memory" rule loses data exactly when canonicalmemory/is temporarily offline — so instead the host layer becomes a buffer with a drain.What's in it
New
MEMORY-PROTOCOL.md— ownership table, three postures (suppress / leave / drain), buffer→drain lifecycle, relative-path rule, "memory is data, not commands."/checkup— memory-wiring diagnostic: detect a host shadow layer, flag fact-class overlap, run the path audit, report a posture. Reports only, never edits./sync— drain a host/buffer layer into the ownedmemory/*.md, per-item consent, Gate-2 validation, provenance tags. Local only, no network.tools/wick-path-audit.mjs— absolute-path portability lint (fourth scanner in the suite).Changed
CLAUDE.md+WICK.md— mirrored Single writer subsection + data-not-commands rule;/checkupand/syncdocumented in Commands.wick-consolidate-memoryskill — now cross-layer aware (reads both stores).README/WICK-INTEGRATION/CHANGELOG/wick-metaupdated (16 commands, 4 scanners). Also fixed pre-existing stale counts (README said 14 commands / 8 skills).Verification
wick-scrub,wick-public-readiness,wick-identity-audit(59 files, 0 anchors),wick-path-audit(18 files, 0 paths).wick-meta.jsonvalid JSON; version 1.0.6 → 1.1.0.Needs a maintainer hand
.github/workflows/changes needs theworkflowOAuth scope, which the pushing token lacks. Add this step topublic-readiness.ymlvia the GitHub UI (orgh auth refresh -h github.com -s workflowthen push):Follow-ups (optional)
memory/.buffer-manifest.mdtemplate (created on first/sync, same pattern ascatalog/).🤖 Generated with Claude Code