# demarkus-soul journal — 2026-06-01 ## Plugin knowledge-quality enforcement — opened plan, shipped item 1 Hashed out how the demarkus-memory Claude Code plugin can *enforce* a high-quality knowledge system rather than merely advise one. Core diagnosis: the infra layer is solid and deterministic, but the entire knowledge-quality layer (session-guidance, the soul-memory skill, tagging/routing rules) is advisory prose the model executes on best effort — nothing verifies it. The single most damaging hole: a tagless `mark_publish` is accepted silently by the server and becomes permanently invisible to `mark_lookup`, so the whole recall half rots invisibly. Wrote the plan to [/plans/plugin-knowledge-quality.md](/plans/plugin-knowledge-quality.md) (7 items) and indexed it under Active Plans. **Item 1 implemented (pending Fritz commit):** a publish tag-gate. - `hooks/publish-gate.sh` — one dispatcher wired on both PreToolUse and PostToolUse for the plugin's own `mark_publish` (matcher `mcp__.*demarkus-memory__mark_publish`). Tagless publish (or `importance` outside [0,1]) → `warn` (default, PostToolUse `additionalContext` nudge) / `block` (PreToolUse deny) / `ask` (PreToolUse ask). - Strictness via `configured_strictness` in `lib.sh`: env `DEMARKUS_MEMORY_STRICTNESS` → `~/.demarkus/plugin-memory.strictness` file → `warn`. Kept in its own file so `setup.sh` conf rewrites never clobber it. Always-on check, severity-only knob (not an opt-in capability). - `tests/publish-gate_test.sh`, 14 cases, all green; `knowledge-join_test.sh` still 11/11. - Pins SERVER 0.17.13→0.17.14; plugin 0.3.0→0.4.0; session-guidance notes the gate. **Two correctness lessons worth keeping:** 1. The python3 fallback I first wrote used `python3 - <