Skip to content

Add additive --add-ac/--remove-ac for acceptance criteria (currently --acceptance-criteria replaces; no append form → lossy concurrent edits) #612

Closed

Description

@unbraind

Summary

pm update --acceptance-criteria <v> (alias --ac) replaces the entire acceptance-criteria value; there is no additive form (no --add-ac) analogous to the tag API. Two agents each "adding" an acceptance criterion on separate branches therefore clobber the shared base criteria (and then conflict on the single acceptance_criteria: line). The flag is repeatable within one invocation (values join with ; ), but across separate pm update calls / branches it overwrites.

Verified repro (pm 2026.7.18)

ID=$(pm create --type Issue --title x --acceptance-criteria "crit one" --author base --json | ...)
pm update $ID --acceptance-criteria "crit two" --author x --json >/dev/null
pm show $ID --json          # acceptance_criteria: "crit two"   — "crit one" is gone
pm update --help | grep -i acceptance
#   --acceptance-criteria <value>   Set acceptance criteria (repeatable; values join with '; ')
#   --ac <value>                    Alias for --acceptance-criteria
# → no --add-ac / --add-acceptance-criteria exists

Impact / request

Tags have --add-tags/--remove-tags, which merge cleanly and support additive concurrent work. Acceptance criteria (a list) has only replace semantics, making concurrent additive edits impossible and lossy. Please add an additive --add-ac / --remove-ac (and ideally store criteria as a proper list so append is a conflict-free array merge, not a rewrite of one joined line).

Minor / enhancement — surfaced during a multi-agent merge stress test on 2026.7.18.

Activity

  1. added
    enhancementNew feature or request
    agent-experienceImproves the AI agent / MCP / CLI ergonomics and token efficiency
    on Jul 18, 2026
  2. coderabbitai commented on Jul 18, 2026

    @coderabbitai
    🔗 Related PRs

    #45 - feat(agent-ux): deps-graph integrity, close lifecycle clarity, calendar/search/test ergonomics [closed]
    #70 - Accumulate repeated comma-separated list flags instead of keeping only the last value [closed]
    #196 - Add linked-test selectors and aggregate completion [closed]
    #431 - Add SDK boundary inventory ratchet [merged]
    #499 - Harden SDK schema-driven input fidelity and package preflight [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  3. unbraind commented on Jul 19, 2026

    @unbraind
    OwnerAuthor

    Precedent: #484 (pm update --blocked-by silently overwrites instead of appending) was accepted and closed as completed with exactly this remedy for the blocked_by list — additive --add-blocked-by/--remove-blocked-by (mirroring --add-tags/--remove-tags). This request applies the same, now-established pattern to acceptance_criteria, which still only has replace semantics (--acceptance-criteria/--ac). Verified on pm 2026.7.18: no --add-ac/--remove-ac exists.

  4. unbraind commented on Jul 19, 2026

    @unbraind
    OwnerAuthor

    pm tracker item: pm-xh82

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-experienceImproves the AI agent / MCP / CLI ergonomics and token efficiencyenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions