os-backlog reads only the first page of Forgejo labels, so issue-create rejects valid scope labels #992

Closed
opened 2026-10-11 14:44:32 +00:00 by jared · 1 comment
Owner

Problem

os-backlog issue-create rejects valid scope labels on jared/cc-os. os-backlog labels does not list plugin/os-sdlc, project/cc-os, or worklist/lint-rule. These labels exist on the tracker. label_ids and labels_list in plugins/os-backlog/lib/backlog/forgejo_backend.rb (lines 20 and 121) build the label set from one labels.list call. That call returns only the first page. The capture path cannot file an issue that needs a later label. The workaround is tea issues create, which skips the template, origin, and verdict checks.

Observed

os-backlog issue-create ... --label plugin/os-sdlc ...

The CLI refused every attempt. tea applied the same label without error (cc-os #989, #990, #991).

Reproduce

os-backlog labels   # run from /home/jared/dev/cc-os; plugin/os-sdlc is missing
tea labels list --repo jared/cc-os --limit 200 | grep plugin/os-sdlc   # present

Origin

  • Trigger: filing cc-os #989 and #990 from the n8n-api repo with os-backlog issue-create
  • Improvised this session: filed #989, #990, #991 with tea issues create
  • Chain: issue-create rejects plugin/os-sdlc ← label set built from first page only (plugins/os-backlog/lib/backlog/forgejo_backend.rb:121) ← DESIGN: no pagination in the label lookup
  • Root candidate: none
  • Where: plugins/os-backlog/lib/backlog/forgejo_backend.rb
  • Session: 44cf3646-a8fe-4f26-8550-e92296c57f86
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-n8n-api/44cf3646-a8fe-4f26-8550-e92296c57f86.jsonl

VERDICT: CREATE — observed bug the session did not cause; the label lookup makes one labels.list call, so valid scope labels are rejected and the only workaround skips the capture checks.

## Problem `os-backlog issue-create` rejects valid scope labels on jared/cc-os. `os-backlog labels` does not list `plugin/os-sdlc`, `project/cc-os`, or `worklist/lint-rule`. These labels exist on the tracker. `label_ids` and `labels_list` in `plugins/os-backlog/lib/backlog/forgejo_backend.rb` (lines 20 and 121) build the label set from one `labels.list` call. That call returns only the first page. The capture path cannot file an issue that needs a later label. The workaround is `tea issues create`, which skips the template, origin, and verdict checks. ## Observed ``` os-backlog issue-create ... --label plugin/os-sdlc ... ``` The CLI refused every attempt. `tea` applied the same label without error (cc-os #989, #990, #991). ## Reproduce ``` os-backlog labels # run from /home/jared/dev/cc-os; plugin/os-sdlc is missing tea labels list --repo jared/cc-os --limit 200 | grep plugin/os-sdlc # present ``` ## Origin - Trigger: filing cc-os #989 and #990 from the n8n-api repo with `os-backlog issue-create` - Improvised this session: filed #989, #990, #991 with `tea issues create` - Chain: issue-create rejects `plugin/os-sdlc` ← label set built from first page only (`plugins/os-backlog/lib/backlog/forgejo_backend.rb:121`) ← DESIGN: no pagination in the label lookup - Root candidate: none - Where: `plugins/os-backlog/lib/backlog/forgejo_backend.rb` - Session: 44cf3646-a8fe-4f26-8550-e92296c57f86 - Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-n8n-api/44cf3646-a8fe-4f26-8550-e92296c57f86.jsonl VERDICT: CREATE — observed bug the session did not cause; the label lookup makes one `labels.list` call, so valid scope labels are rejected and the only workaround skips the capture checks.
Author
Owner

Resolution

Done: Already fixed: commit 0053cf03 (2026-10-11) passes limit: PAGE_LIMIT so the forgejo-api paginator walks every label page.

Evidence: os-backlog labels now lists plugin/os-sdlc, project/cc-os, worklist/lint-rule; #995 was created 2026-10-12 via issue-create with plugin/os-sdlc. Takedown research-only run docs/takedown/992-20261012-091507 falsely verified it with a stub reproduction.

Follow-ups: #998 (takedown verifies defects already fixed on main)

## Resolution **Done:** Already fixed: commit 0053cf03 (2026-10-11) passes limit: PAGE_LIMIT so the forgejo-api paginator walks every label page. **Evidence:** os-backlog labels now lists plugin/os-sdlc, project/cc-os, worklist/lint-rule; #995 was created 2026-10-12 via issue-create with plugin/os-sdlc. Takedown research-only run docs/takedown/992-20261012-091507 falsely verified it with a stub reproduction. **Follow-ups:** #998 (takedown verifies defects already fixed on main)
jared closed this issue 2026-10-12 13:39:33 +00:00
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#992
No description provided.