chore(cli): deprecate soul remember in favor of soul note (phase 2 #231)#236
chore(cli): deprecate soul remember in favor of soul note (phase 2 #231)#236AnshulPatil2005 wants to merge 2 commits into
Conversation
|
once this is done i can move to phase 3 |
prakashUXtech
left a comment
There was a problem hiding this comment.
Phase 2 is scoped tightly and the doc updates landed in both places (cli-reference + README) so nothing drifted.
Four small things to land before this merges:
-
CHANGELOG entry. Add a line under
## DeprecatedinCHANGELOG.mdso 0.4.x → 0.5.0 upgraders see this called out. -
Removal horizon in the deprecation message. The warning says "use
soul noteinstead" but doesn't say whenrememberactually goes away. Pick a target version (something like "scheduled for removal in 0.7.0") and put it in both the warning text and the docs section. Without a horizon, deprecations linger indefinitely. -
Docs section header. Change
### \soul remember`to### `soul remember` (deprecated)indocs/cli-reference.md` so the TOC reflects the state, not just the body text. -
Test sharpening (optional). The existing test asserts the deprecation text appears. Also assert
result.exit_code == 0and that the memory actually got stored, so the test verifies "warns AND still works" rather than just "warns."
Two style notes for your own reference:
stacklevel=2is correct, but inside a Click command it doesn't point anywhere useful (the caller is Click internals, not user code). It's a no-op here, not wrong.- The
console.print+warnings.warndouble-notification looks redundant but is actually right. Python silencesDeprecationWarningfrom__main__by default, so theconsole.printis what most CLI users will see.
Approving once the CHANGELOG + horizon are in. Good Phase 2 close.
on it |
|
@prakashUXtech I think merging #242 first would be useful it adds pytest CI to dev-targeting PRs, which would give #236 real test signal instead of the current 'no checks' state. I've already addressed all four items from the review in the follow-up commit (CHANGELOG, removal horizon, doc header, memory-stored assertion) the one remaining gap is adding assert result.exit_code == 0 to the test, which I'll push. Let me know if #242 needs any changes on your end. |
… (#252) 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.
|
This PR has been automatically marked as stale because it has not had activity in the last 14 days. It will be closed in 7 days if no further activity occurs. If you're still working on this, please push an update or leave a comment. |
Summary
This PR covers only Phase 2 of #231 and targets
dev(where Phase 1 was already merged in #233).Changes
DeprecationWarningwhensoul rememberis invoked, pointing tosoul note <path> <fact>.--no-dedupguidance for callers that need raw append behavior.soul rememberto mark it deprecated and point tosoul note.soul note.rememberoutput includes deprecation messaging.Out of scope
Validation
PYTHONPATH=src pytest tests/test_cli/test_cli.py -k remember_command -qPYTHONPATH=src python -m py_compile src/soul_protocol/cli/main.py tests/test_cli/test_cli.pyRefs #231