gabriel / musehub public
crud-proposal-comments-delete.md markdown
32 lines 1.3 KB
Raw
sha256:bba4b69de173366aeb7d490d687ccffb6db9726374033addece89cf2b87642d8 docs: add production launch discovery report and infra laun… Sonnet 5 7 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 whatever issues.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.
  • --hard flag 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 list by default (same --include-deleted convention 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:bba4b69de173366aeb7d490d687ccffb6db9726374033addece89cf2b87642d8 docs: add production launch discovery report and infra laun… Sonnet 5 7 days ago
sha256:eb0928124669c933c0ef852bea1ad0c56649cf21bd7e9663c3b51004771b0591 docs: add MuseHub cloud identity/AWS operating model and Go… Sonnet 5 patch 8 days ago