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 |
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