Skip to main content

Syntax

sudocode feedback dismiss <feedback-id> [<feedback-id>...]

Description

The feedback dismiss command marks feedback as resolved or addressed. Dismissed feedback:
  • Remains in the database (not deleted)
  • Is marked with dismissed: true
  • Updates the updated_at timestamp
  • Appears grayed out in feedback list
  • Can be filtered with --dismissed true
  • Preserves full audit trail
Use this command when:
  • You’ve addressed the feedback by updating the spec
  • The feedback is no longer relevant
  • A question has been answered
  • A suggestion has been implemented or declined
  • An implementation note has been reviewed
Dismissing is a soft operation - feedback remains in the database for historical reference. There is no way to delete feedback permanently.

Arguments

feedback-id
string
required
One or more feedback IDs to dismissExample: FB-001 or FB-001 FB-002 FB-003You can dismiss multiple feedback entries in a single command.

Examples

Dismiss Single Feedback

Mark one feedback as addressed:
sudocode feedback dismiss FB-001
✓ Dismissed feedback FB-001

Dismiss Multiple Feedback

Mark several feedback entries as resolved:
sudocode feedback dismiss FB-001 FB-002 FB-003
✓ Dismissed feedback FB-001
✓ Dismissed feedback FB-002
✓ Dismissed feedback FB-003

Dismiss After Spec Update

After updating a spec to address feedback:
# Update the spec
vim .sudocode/specs/authentication-system.md

# Dismiss the feedback
sudocode feedback dismiss FB-001
✓ Dismissed feedback FB-001

Dismiss Non-Existent Feedback

Attempt to dismiss feedback that doesn’t exist:
sudocode feedback dismiss FB-999
✗ Failed to dismiss feedback
Feedback not found: FB-999

JSON Output

Get machine-readable output:
sudocode --json feedback dismiss FB-001
{
  "id": "FB-001",
  "issue_id": "ISSUE-001",
  "spec_id": "SPEC-001",
  "feedback_type": "request",
  "content": "Token expiration policy not specified. Should we use fixed or sliding window?",
  "agent": "alice",
  "anchor": {
    "line_number": 42,
    "section_heading": "Authentication Flow",
    "text_snippet": "Token expiration policy",
    "anchor_status": "valid",
    "context_before": "...",
    "context_after": "..."
  },
  "dismissed": true,
  "created_at": "2025-10-29T10:15:00Z",
  "updated_at": "2025-10-29T14:30:00Z"
}
Notice dismissed: true and the updated updated_at timestamp.

What Happens When You Dismiss

1

Dismissed flag set

The dismissed field is set to true in the database
2

Timestamp updated

The updated_at timestamp is set to the current time
3

Database updated

Changes are written to the SQLite database
4

JSONL exported

The dismissal is recorded in feedback.jsonl (if feedback export is enabled)
5

Appearance changes

Feedback appears grayed out in feedback list output

What Doesn’t Change

Dismissing feedback does NOT:
  • Delete the feedback entry
  • Change the feedback content
  • Modify the anchor location
  • Remove the feedback from the spec
  • Affect the source issue
  • Change creation timestamp
Dismissed feedback remains fully accessible and searchable.

Common Workflows

Address Feedback and Dismiss

1

Review feedback

sudocode feedback show FB-001
2

View spec

sudocode spec show SPEC-001
3

Update spec

Edit the spec to address the feedback
vim .sudocode/specs/authentication-system.md
4

Dismiss feedback

sudocode feedback dismiss FB-001
5

Commit changes

git add .sudocode/
git commit -m "Address feedback: clarify token expiration policy"

Bulk Dismiss After Spec Update

Dismiss all feedback for a spec you’ve updated:
1

Update spec

Make comprehensive spec improvements
2

List feedback

sudocode feedback list --spec SPEC-001 --dismissed false
3

Review and dismiss

sudocode feedback dismiss FB-001 FB-002 FB-003

Dismiss Obsolete Feedback

Remove feedback that’s no longer relevant:
1

Find stale or outdated feedback

sudocode feedback list --spec SPEC-001
2

Review details

sudocode feedback show FB-005
3

Dismiss if obsolete

sudocode feedback dismiss FB-005

Dismiss Implementation Notes

After reviewing implementation feedback:
# List implementation notes
sudocode feedback list --type comment --spec SPEC-001

# Review and acknowledge
sudocode feedback show FB-002

# Dismiss after review
sudocode feedback dismiss FB-002

Scripting Examples

Dismiss All Feedback for a Spec

# Dismiss all active feedback for a spec
sudocode --json feedback list --spec SPEC-001 --dismissed false | \
  jq -r '.[] | .id' | \
  xargs sudocode feedback dismiss
Be careful with bulk dismissals - review feedback first to ensure it’s been addressed.

Dismiss All Comment-Type Feedback

# Dismiss all informational comments (already reviewed)
sudocode --json feedback list --type comment --dismissed false | \
  jq -r '.[] | .id' | \
  xargs sudocode feedback dismiss

Conditional Dismiss

# Dismiss feedback from a specific issue
sudocode --json feedback list --issue ISSUE-001 --dismissed false | \
  jq -r '.[] | .id' | \
  while read fb_id; do
    echo "Dismiss $fb_id? (y/n)"
    read answer
    if [[ "$answer" == "y" ]]; then
      sudocode feedback dismiss "$fb_id"
    fi
  done

Generate Dismissal Report

# Show what was dismissed today
today=$(date '+%Y-%m-%d')
sudocode --json feedback list --dismissed true | \
  jq --arg today "$today" '.[] | select(.updated_at | startswith($today))'

Dismiss vs Delete

Dismiss (Available)

Marks as addressed
  • Feedback retained in database
  • Full audit trail preserved
  • Can be viewed later
  • Appears in filtered lists
  • Reversible (manually update DB)

Delete (Not Available)

Permanent removal
  • Not supported by CLI
  • Would lose audit trail
  • No way to recover
  • Breaks historical context
  • Not recommended for feedback
Best practice: Always dismiss rather than delete. Feedback provides valuable historical context for how specs evolved.

Viewing Dismissed Feedback

1

List dismissed feedback

sudocode feedback list --dismissed true
2

Show details

sudocode feedback show FB-001
The status will show “Dismissed”
3

View in spec

sudocode spec show SPEC-001
Dismissed feedback may be hidden or grayed out

”Un-dismissing” Feedback

There’s no dedicated command to reactivate dismissed feedback. If needed:

Manual Database Update

# WARNING: Direct database manipulation - use with caution
sqlite3 .sudocode/sudocode.db "UPDATE feedback SET dismissed = 0 WHERE id = 'FB-001'"

# Then export to JSONL
sudocode sync
Direct database updates are not recommended. Consider adding new feedback instead.

Better Alternative

Add new feedback instead:
sudocode feedback add ISSUE-010 SPEC-001 \
  --type request \
  --content "Follow-up on previous feedback..." \
  --line 42

Common Questions

Not through the CLI. You would need to manually update the database:
sqlite3 .sudocode/sudocode.db "UPDATE feedback SET dismissed = 0 WHERE id = 'FB-001'"
Better approach: Add new feedback if still relevant.
No, sudocode doesn’t have built-in notifications. Dismissals are tracked via git commits.
Always dismiss. There’s no delete command because feedback should be preserved for audit trail.
Dismissed feedback remains linked to specs but may be hidden or grayed out in spec show output.
No, the command doesn’t accept a reason parameter. Document dismissal reasons in git commit messages:
sudocode feedback dismiss FB-001
git commit -m "Dismiss FB-001: token policy now specified in section 3.2"
Check git history:
git log -p .sudocode/sudocode.db | grep -A 5 "FB-001"
Or for JSONL:
git log -p .sudocode/feedback.jsonl | grep -A 5 "FB-001"

Troubleshooting

Cause: The feedback ID doesn’t existSolution: List all feedback to find the correct ID:
sudocode feedback list
Cause: Using wrong filterSolution: Show all feedback including dismissed:
sudocode feedback list
Or show only dismissed:
sudocode feedback list --dismissed true
Cause: Feedback is already dismissedSolution: Check status:
sudocode feedback show FB-001
Dismissing again is harmless but has no effect.
Cause: Possible database sync issueSolution: Run sync:
sudocode sync
Then check again:
sudocode feedback show FB-001

Next Steps

1

Review feedback

sudocode feedback show FB-001
2

Address the feedback

Update spec or respond as appropriate
3

Dismiss

sudocode feedback dismiss FB-001
4

Commit changes

git add .sudocode/
git commit -m "Address and dismiss feedback FB-001"

Feedback System Concept Guide

Learn more about the feedback system and bidirectional learning