# 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 --comment-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.