Skip to content

Single-writer memory + host-layer reconciliation (v1.1.0)#1

Merged
Kielov merged 1 commit into
mainfrom
feature/single-writer-memory
Jun 27, 2026
Merged

Single-writer memory + host-layer reconciliation (v1.1.0)#1
Kielov merged 1 commit into
mainfrom
feature/single-writer-memory

Conversation

@Kielov

@Kielov Kielov commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

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 canonical memory/ 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 owned memory/*.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; /checkup and /sync documented in Commands.
  • wick-consolidate-memory skill — now cross-layer aware (reads both stores).
  • README / WICK-INTEGRATION / CHANGELOG / wick-meta updated (16 commands, 4 scanners). Also fixed pre-existing stale counts (README said 14 commands / 8 skills).

Verification

  • All four scanners green locally: wick-scrub, wick-public-readiness, wick-identity-audit (59 files, 0 anchors), wick-path-audit (18 files, 0 paths).
  • wick-meta.json valid JSON; version 1.0.6 → 1.1.0.

Needs a maintainer hand

  • CI step for the 4th scanner is NOT in this PR. Pushing .github/workflows/ changes needs the workflow OAuth scope, which the pushing token lacks. Add this step to public-readiness.yml via the GitHub UI (or gh auth refresh -h github.com -s workflow then push):
        - name: Run path audit (portability)
          run: node tools/wick-path-audit.mjs

Follow-ups (optional)

  • No memory/.buffer-manifest.md template (created on first /sync, same pattern as catalog/).
  • No v1.1.0 training pairs added to the fine-tune corpus yet.

🤖 Generated with Claude Code

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>
@Kielov
Kielov merged commit 627509e into main Jun 27, 2026
2 checks passed
@Kielov
Kielov deleted the feature/single-writer-memory branch June 27, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant