os-backlog CLI has no label-add or label-remove command #867

Open
opened 2026-10-01 11:10:48 +00:00 by jared · 4 comments
Owner

Problem

The os-backlog CLI has no command to add or remove a label on an existing issue. Agents cannot apply ready-for-agent, or remove it, through the CLI.

Observed

On 2026-09-30, agents called Backlog::Issues#add_label from an ad hoc Ruby script to apply ready-for-agent.
On 2026-10-01, an agent also scripted label removal through Backlog::ForgejoBackend#remove_label, and scripted blocking edges through client.repo(owner, name).issues.add_dependency.
os-backlog help lists no command for labels on an issue or for dependencies.

Reproduce

os-backlog help

No label-add, label-remove, or dependency command appears.

Approach

Add label-add and label-remove commands that call the existing backend methods. Dependency edges are a separate gap and are noted only as evidence.

Required work:

  1. Add the label commands to the CLI — check: present label-add in plugins/os-backlog/lib/backlog/**/*.rb

Acceptance criteria

  1. Given an open issue, when os-backlog label-add N LABEL runs, then the issue carries LABEL.
  2. Given an issue with LABEL, when os-backlog label-remove N LABEL runs, then the issue no longer carries LABEL.

Owner sketch

class Backlog::CLI
  def label_add(number, label)
  end

  def label_remove(number, label)
  end
end

Origin

  • Trigger: applying ready-for-agent on 2026-09-30 and 2026-10-01
  • Improvised this session: Ruby script calling Backlog::Issues#add_label, Backlog::ForgejoBackend#remove_label, and Forgejo add_dependency
  • Chain: agents script label edits ← CLI has no label command ← DESIGN (plugins/os-backlog CLI command set)
  • Root candidate: this ticket
  • Where: plugins/os-backlog/lib/backlog/forgejo_backend.rb
  • Session: 55a56279-83ee-47d5-a21e-ee67f9e28abd
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/55a56279-83ee-47d5-a21e-ee67f9e28abd.jsonl
## Problem The os-backlog CLI has no command to add or remove a label on an existing issue. Agents cannot apply `ready-for-agent`, or remove it, through the CLI. ## Observed On 2026-09-30, agents called `Backlog::Issues#add_label` from an ad hoc Ruby script to apply `ready-for-agent`. On 2026-10-01, an agent also scripted label removal through `Backlog::ForgejoBackend#remove_label`, and scripted blocking edges through `client.repo(owner, name).issues.add_dependency`. `os-backlog help` lists no command for labels on an issue or for dependencies. ## Reproduce ``` os-backlog help ``` No `label-add`, `label-remove`, or dependency command appears. ## Approach Add `label-add` and `label-remove` commands that call the existing backend methods. Dependency edges are a separate gap and are noted only as evidence. Required work: 1. Add the label commands to the CLI — check: present `label-add` in `plugins/os-backlog/lib/backlog/**/*.rb` ## Acceptance criteria 1. Given an open issue, when `os-backlog label-add N LABEL` runs, then the issue carries LABEL. 2. Given an issue with LABEL, when `os-backlog label-remove N LABEL` runs, then the issue no longer carries LABEL. ## Owner sketch ```ruby class Backlog::CLI def label_add(number, label) end def label_remove(number, label) end end ``` ## Origin - Trigger: applying `ready-for-agent` on 2026-09-30 and 2026-10-01 - Improvised this session: Ruby script calling `Backlog::Issues#add_label`, `Backlog::ForgejoBackend#remove_label`, and `Forgejo` `add_dependency` - Chain: agents script label edits ← CLI has no label command ← DESIGN (plugins/os-backlog CLI command set) - Root candidate: this ticket - Where: plugins/os-backlog/lib/backlog/forgejo_backend.rb - Session: 55a56279-83ee-47d5-a21e-ee67f9e28abd - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/55a56279-83ee-47d5-a21e-ee67f9e28abd.jsonl
Author
Owner

Mechanism: the os-backlog CLI lacks a label/comment surface. Related, not folded: #943 (issue-create --label rejects wayfinder labels).

Mechanism: the os-backlog CLI lacks a label/comment surface. Related, not folded: #943 (issue-create --label rejects wayfinder labels).
Author
Owner

Occurrence: os-backlog CLI has no command to add a label to an existing issue
Seen: plugins/os-backlog/lib/backlog/issues_tracker.rb (add_label/remove_label exist, no CLI verb)
Run: session 9f415790-a6bd-4850-8d70-3dd45004ce2b (AFK lint-cops follow-up, 2026-10-28)
Adds: an agent removed waiting from #1337 with no CLI verb for it, and #1448-#1451 lack their waiting / ready-for-* labels.

Occurrence: os-backlog CLI has no command to add a label to an existing issue Seen: plugins/os-backlog/lib/backlog/issues_tracker.rb (add_label/remove_label exist, no CLI verb) Run: session 9f415790-a6bd-4850-8d70-3dd45004ce2b (AFK lint-cops follow-up, 2026-10-28) Adds: an agent removed `waiting` from #1337 with no CLI verb for it, and #1448-#1451 lack their `waiting` / `ready-for-*` labels.
Author
Owner

Occurrence: Add a label verb to the os-backlog CLI
Seen: plugins/os-backlog/bin/os-backlog (no label verb; only categorize and ensure-labels)
Run: 313ee80d-b132-4de6-a01d-e1a57fbd3450
Adds: agents cannot apply the waiting label, so #1429 and #1430 stay blocked in comments only. A label verb must refuse next (ADR-0042).

Occurrence: Add a label verb to the os-backlog CLI Seen: plugins/os-backlog/bin/os-backlog (no label verb; only categorize and ensure-labels) Run: 313ee80d-b132-4de6-a01d-e1a57fbd3450 Adds: agents cannot apply the waiting label, so #1429 and #1430 stay blocked in comments only. A label verb must refuse next (ADR-0042).
Author
Owner

Occurrence: os-backlog CLI cannot remove a label from a ticket
Seen: plugins/os-backlog (ticket CLI); handoff 2026-11-08-1721-mutation-survivor-gate-live-run.md
Run: Session 87bc217f-61e2-4d4d-8470-9f3c8fd1ef43
Adds: #1636 and #1637 carry waiting; their blockers (#1634 closed, #1635 open) close this session or next, and the agent cannot remove waiting without Jared or the tracker UI.

Occurrence: os-backlog CLI cannot remove a label from a ticket Seen: plugins/os-backlog (ticket CLI); handoff 2026-11-08-1721-mutation-survivor-gate-live-run.md Run: Session 87bc217f-61e2-4d4d-8470-9f3c8fd1ef43 Adds: #1636 and #1637 carry waiting; their blockers (#1634 closed, #1635 open) close this session or next, and the agent cannot remove waiting without Jared or the tracker UI.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#867
No description provided.