WORK-130
ID:WORK-130Status:donePriority:lowComplexity:simpleSource:SPEC-037

Support attribute clearing in plan CLI update command

The update command can set or replace attribute values but cannot remove them. Once you set --assignee claude or --milestone v1.0.0, there's no way to unset it. Support empty string as "clear": --assignee "" removes the attribute from the tag.

Acceptance Criteria

  • --assignee "" removes the assignee attribute from the rune tag
  • --milestone "" removes the milestone attribute from the rune tag
  • Works for any optional attribute (assignee, milestone, source, tags, complexity)
  • Change summary shows "removed" for cleared attributes (e.g., assignee: claude → (removed))
  • Tests for attribute clearing

References

Resolution

Completed: 2026-04-12

Branch: claude/spec-037-breakdown-docs-Whj40

What was done

  • Added removeAttr() helper to update.ts
  • Empty string values trigger attribute removal instead of setting empty
  • Skip enum validation for empty strings
  • 4 new tests for attribute clearing

History

  1. a295513
    statusreadydone
    • ☑ `--assignee ""` removes the `assignee` attribute from the rune tag
    • ☑ `--milestone ""` removes the `milestone` attribute from the rune tag
    • ☑ Works for any optional attribute (`assignee`, `milestone`, `source`, `tags`, `complexity`)
    • +2 more criteria
  2. 1676387
    Created (ready, low, simple, SPEC-037, plan, cli)