Skip to content

docs(claude.md): steer Claude toward soul_observe for facts (post-#231)#252

Merged
prakashUXtech merged 1 commit into
devfrom
chore/post-231-followups
May 23, 2026
Merged

docs(claude.md): steer Claude toward soul_observe for facts (post-#231)#252
prakashUXtech merged 1 commit into
devfrom
chore/post-231-followups

Conversation

@prakashUXtech
Copy link
Copy Markdown
Contributor

@prakashUXtech prakashUXtech commented May 23, 2026

What this PR changes

One line in .claude/CLAUDE.md, the agent-facing memory guide for this repo.

The "During work" section was telling Claude to use soul_remember for "facts that should persist across sessions." Post-#231 that's wrong. soul_remember writes through MemoryManager.add() with no reconcile_fact, no contradiction check, no significance gate, so repeated calls with similar text just pile up. Issue #251 caught what that looks like in practice: one soul ended up roughly 51% duplicates before someone noticed and ran soul cleanup by hand.

The updated guidance points Claude at soul_observe for facts that come out of real user/agent turns, since observe runs the full pipeline including reconcile_fact. soul_remember is now scoped to blunt writes where the agent has already decided dedup is wrong (short episodic events, unique timestamped log lines). The bullet also flags that the CLI sibling soul remember is on a deprecation path toward soul note (#231 phase 2, currently PR #236) and that the MCP layer will pick up the dedup-aware variant once it ships.

Task 1 finding: the CLI deprecation warning is already in flight

The brief asked me to verify whether the post-#231 deprecation of soul remember had actually landed (no warning fires today) and to add a DeprecationWarning if the project clearly meant to ship one. Before touching code I read the history:

Adding a second warning here would clobber that active community PR mid-review, so I skipped it. No new tracking issue needed either, since #231 (Phase 2) and #236 already cover the question.

One nuance at the runtime layer that's easy to misread: Soul.note()'s docstring describes remember() as "a blunt append," and note() itself falls through to remember() for episodic and dedup=False. The two coexist by design inside the runtime (note is the smart wrapper that calls remember underneath for the no-dedup paths). The deprecation lives at the CLI layer, which is where #236 is doing the work.

Why ship the docs update separately

The MCP recommendation is wrong today regardless of when #236 merges. The agent guide pointing at soul_remember for facts is what produced the #251 bloat in the first place. Once #236 merges and a soul_note MCP tool follow-up lands, this guide can be tightened again.

Verification

  • Pure docs change, no Python touched, no test impact.
  • git diff --stat confirms one file changed (.claude/CLAUDE.md, +2/-2).
  • Read Soul.remember() (src/soul_protocol/runtime/soul.py:1391) and Soul.note() (src/soul_protocol/runtime/soul.py:1432) to confirm the runtime semantics described above. Read the soul_remember and soul_observe MCP definitions (src/soul_protocol/mcp/server.py:621, :574) to confirm no soul_note MCP tool exists yet.

Refs

Local testing

$ git diff --stat origin/dev...HEAD
 .claude/CLAUDE.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

$ git log --oneline origin/dev..HEAD
c2e5c49 docs(claude.md): steer Claude toward soul_observe for facts (post-#231)

Update the agent-facing memory guide so the MCP recommendation
matches the post-#231 reality:

- soul_observe is the dedup-aware path: it runs the full pipeline
  (extraction + reconcile_fact + self-model update), so facts pulled
  out of real user/agent turns collapse onto existing entries rather
  than appending duplicates.
- soul_remember is now scoped to blunt forced writes — short episodic
  events, or cases where dedup is explicitly wrong. The bullet calls
  out that the CLI sibling 'soul remember' is on a deprecation path
  toward 'soul note' (#231 phase 2 / PR #236) and that the dedup-aware
  MCP variant will follow once it ships.

Pure docs change. No runtime behavior or test impact.

Refs #231, #251.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 23, 2026

All quality checks passed. Thanks for the clean PR!

@prakashUXtech prakashUXtech merged commit 4f1610f into dev May 23, 2026
4 checks passed
@prakashUXtech prakashUXtech deleted the chore/post-231-followups branch May 23, 2026 09:20
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