Patch release.
What's new
Feature: Rule subtype for permanent preferences (#37)
Adds a subtype: 'rule' semantic on Preference (or any) nodes for permanent constraints — "never X" / "always Y" with no expected sunset.
Rule-subtype nodes and their anchor edges are exempt from:
- Time-based decay (node confidence and edges touching them)
- Low-confidence pruning
- Orphan pruning (a stranded rule should be reconnected, not deleted)
- Edge-weight pruning when either endpoint is a rule
The anchor edge (typically Person -[PREFERS]-> Rule) is held at weight 1.0 and exempt from edge decay so the rule never drifts loose.
Extractor prompts (dream + graph-capture) updated to recognize hard "never/always" statements and emit them as Rules rather than soft Preferences.
Backward compatible. All existing nodes have subtype = null and are unaffected — the new filters are no-ops for them. Existing tenants need no migration. To convert an existing Preference into a Rule on your own tenant, run:
MATCH (s:Entity {tenant_id: '<your-tenant>', id: 'steve'})-[r:PREFERS]->(n:Entity {id: '<rule-id>'})
SET n.subtype = 'rule', n.confidence = 1.0, n.last_seen = datetime(),
r.weight = 1.0, r.last_confirmed = datetime()Bug fix: Force LF on shell scripts and Dockerfile (#38)
Adds a .gitattributes that pins *.sh, Dockerfile, and *.cypher to LF regardless of core.autocrlf settings.
Why: Windows clients with core.autocrlf=true (Git for Windows default) convert *.sh to CRLF on checkout. The entrypoint shim then ships into the Linux container with #!/usr/bin/env bash\r, producing /usr/bin/env: 'bash\r': No such file or directory and a 502 from the MCP. Anyone doing a fresh Windows clone + build would hit this. Now fixed at the repo level.
Image
ghcr.io/stevepridemore/graph-memory-mcp:v0.3.1ghcr.io/stevepridemore/graph-memory-mcp:latest(same digest)
Upgrade
docker compose pull
docker compose up -d --force-recreate graph-memory-mcpNotes for future
The release workflow emitted a deprecation warning: docker/build-push-action@v6, docker/login-action@v3, and docker/setup-buildx-action@v3 still run on Node.js 20, which is being forced to Node.js 24 by GitHub Actions on June 2, 2026 and removed September 16, 2026. Worth bumping these action versions in the next chore PR.
🤖 Generated with Claude Code