crud-proposal-comments-delete.md
markdown
sha256:21d532d9fcaea5c4780bd2bd39eac38756266a551a372642c56842a6caed8c5b
docs: track issues #141/#142/#143 (CRUD/delete parity) plan…
Sonnet 5
11 days ago
Proposal comments: wire the existing is_deleted field end-to-end
Child of musehub#141 (parent: framework-wide CRUD/delete idiom).
Background
MusehubProposalComment (musehub/db/musehub_social_models.py:344-390)
already has an is_deleted column — but nothing uses it. muse hub proposal comment only has list and create subcommands; there is no
delete endpoint, no CLI command. Compare to MusehubIssueComment, which
has the identical field and a fully wired muse hub issue comment-delete command.
Confirmed hitting this directly during #139's cleanup: 7 test comments added to a real proposal for layout verification cannot be removed.
Goal
- Add the delete endpoint (soft-delete, sets
is_deleted) mirroring whateverissues.py's comment-delete route does today. muse hub proposal comment delete <proposal-id> --comment-id <id>— soft-deletes by default, matching #141's framework-wide idiom.--hardflag for actual row removal, same guard/authorization pattern as the issues child ticket (#142) and #141's parent idiom.- Soft-deleted comments excluded from
comment listby default (same--include-deletedconvention as #142, for consistency).
Out of scope
- Any change to issue comments' existing delete path — it already works and is the reference implementation for this ticket, not something to touch.
File History
1 commit
sha256:21d532d9fcaea5c4780bd2bd39eac38756266a551a372642c56842a6caed8c5b
docs: track issues #141/#142/#143 (CRUD/delete parity) plan…
Sonnet 5
11 days ago