crud-proposal-comments-delete.md
markdown
sha256:f65847c6a4ae29872f3ccbc2420f91a8948949b84a06320bdaf2ac281c89ff8a
docs(F7b): governance sync — BUILT awaiting Gabriel; carry …
Human
patch
27 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
2 commits
sha256:f65847c6a4ae29872f3ccbc2420f91a8948949b84a06320bdaf2ac281c89ff8a
docs(F7b): governance sync — BUILT awaiting Gabriel; carry …
Human
patch
27 days ago
sha256:417c976b0b9320bb758749eb014d9087354fa3186e2abd2fc949e74a670237e7
merge(F7b B1): carry overseer provenance onto dev; resolve …
Human
minor
⚠
27 days ago