From 80ad7e837c0a55ba19091ab4415c77f511704ed8 Mon Sep 17 00:00:00 2001 From: Pit Friedrich Date: Sat, 25 Jul 2026 19:53:47 +0200 Subject: [PATCH] error in fix-issue creating labels --- .claude/commands/fix-issue.md | 20 ++++++++++++++++++-- gitea-autofix-loop.sh | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.claude/commands/fix-issue.md b/.claude/commands/fix-issue.md index 9567948..05a56e7 100644 --- a/.claude/commands/fix-issue.md +++ b/.claude/commands/fix-issue.md @@ -4,12 +4,23 @@ argument-hint: allowed-tools: > Bash, Edit, Read, Write, Grep, Glob, mcp__gitea__issue_read, mcp__gitea__issue_write, + mcp__gitea__label_read, mcp__gitea__pull_request_write --- Bearbeite Gitea-Issue #$1 im aktuellen Repo. Schritt für Schritt: +**Label-Regeln (wichtig):** Die Gitea-Label-API arbeitet mit numerischen +Label-IDs, nicht mit Namen. Hole daher ZUERST einmalig die Label-Liste über +`label_read` (`method: list_repo_labels`) und merke dir die Zuordnung +Name → ID für die gesamte Bearbeitung. Verwende ausschließlich `add_labels` +(mit `labels: []`) und `remove_label` (mit `label_id: `). +Niemals `replace_labels` oder `clear_labels` benutzen — das löscht alle +übrigen Labels des Issues (z.B. `prio/*`). + 1. Lies Issue #$1 (Titel, Beschreibung, Kommentare) über `issue_read`. -2. Setze Label `ai-wip` via `issue_write`, entferne `ai-ready`. + Notiere die aktuell gesetzten Labels, damit du sie nicht verlierst. +2. Hole die Label-Liste via `label_read`. Setze Label `ai-wip` + (`add_labels`), entferne `ai-ready` (`remove_label`). 3. Analysiere das Repo und finde die Ursache. Wenn der Scope zu groß/unklar ist (siehe CLAUDE.md), brich ab: kommentiere das Issue mit einer kurzen Begründung, setze `ai-blocked`, und beende ohne Codeänderung. @@ -20,4 +31,9 @@ Bearbeite Gitea-Issue #$1 im aktuellen Repo. Schritt für Schritt: 7. Push den aktuellen Branch zum Remote. 8. Öffne via `pull_request_write` einen PR gegen `main` (bzw. `develop`). Die PR-Beschreibung MUSS `Closes #$1` enthalten. -9. Kommentiere am Issue mit dem PR-Link, setze Label `ai-review`. \ No newline at end of file +9. Kommentiere am Issue mit dem PR-Link, setze Label `ai-review` + (`add_labels`) und entferne `ai-wip` (`remove_label`). + +Wenn du in einem Schritt `ai-blocked` setzt, entferne ebenfalls `ai-wip`. +Existiert ein benötigtes Label nicht im Repo, kommentiere das am Issue statt +zu raten — erfinde keine Label-IDs. \ No newline at end of file diff --git a/gitea-autofix-loop.sh b/gitea-autofix-loop.sh index 134bf6b..4c6cd13 100755 --- a/gitea-autofix-loop.sh +++ b/gitea-autofix-loop.sh @@ -40,7 +40,7 @@ process_next() { ( cd "$wt" claude -p "/fix-issue $nr" \ - --allowedTools "Bash($TEST_CMD),Bash(git *),Edit,Read,Write,Grep,Glob,mcp__gitea__issue_read,mcp__gitea__issue_write,mcp__gitea__pull_request_write" \ + --allowedTools "Bash($TEST_CMD),Bash(git *),Edit,Read,Write,Grep,Glob,mcp__gitea__issue_read,mcp__gitea__issue_write,mcp__gitea__label_read,mcp__gitea__pull_request_write" \ --output-format text ) || echo "!!! Worker für #$nr mit Fehler beendet"