[loop-generated] [bug] Gitea API assignee filter broken — returns all issues regardless of parameter #1460

Closed
opened 2026-03-24 20:01:40 +00:00 by Timmy · 1 comment
Owner

Bug: Gitea API assignee filter is broken

Problem

The Gitea 1.25.4 API endpoint GET /repos/.../issues?assignee=kimi ignores the assignee parameter entirely and returns ALL open issues.

Evidence

  • ?assignee=kimi returns 50 issues (same as unfiltered page 1)
  • ?assignee=nonexistentuser ALSO returns issues
  • ?assignee=rockachopa ALSO returns issues regardless

Impact

  • All monitoring that uses ?assignee=X to check agent workload is reading garbage data
  • Issue #1447 was filed based on this broken query (claimed Kimi had 50 issues; it had 0)
  • kimi-loop.sh and workforce-manager.py may be making incorrect decisions

Fix

Replace all ?assignee=kimi API calls with label-based filtering:

  • Use ?labels=assigned-kimi (label ID 95) instead
  • Or check assignees field on individual issues
  • Audit kimi-loop.sh, workforce-manager.py, and any dispatch scripts

Acceptance Criteria

  • All scripts that query Gitea for agent-assigned issues use working filter method
  • Verified: label-based query returns correct results
## Bug: Gitea API assignee filter is broken ### Problem The Gitea 1.25.4 API endpoint `GET /repos/.../issues?assignee=kimi` ignores the `assignee` parameter entirely and returns ALL open issues. ### Evidence - `?assignee=kimi` returns 50 issues (same as unfiltered page 1) - `?assignee=nonexistentuser` ALSO returns issues - `?assignee=rockachopa` ALSO returns issues regardless ### Impact - All monitoring that uses `?assignee=X` to check agent workload is reading garbage data - Issue #1447 was filed based on this broken query (claimed Kimi had 50 issues; it had 0) - kimi-loop.sh and workforce-manager.py may be making incorrect decisions ### Fix Replace all `?assignee=kimi` API calls with label-based filtering: - Use `?labels=assigned-kimi` (label ID 95) instead - Or check assignees field on individual issues - Audit kimi-loop.sh, workforce-manager.py, and any dispatch scripts ### Acceptance Criteria - [ ] All scripts that query Gitea for agent-assigned issues use working filter method - [ ] Verified: label-based query returns correct results
Timmy added the 222-epic label 2026-03-24 20:01:40 +00:00
Author
Owner

Fixed: Replaced all broken ?assignee=X API query parameters with client-side filtering.

Root cause: Gitea 1.25.4 ignores the assignee query parameter, returning all issues regardless.

Fix: All scripts now fetch all open issues and filter by checking the assignees field in the response JSON.

Files fixed:

  • ~/.hermes/bin/ops-gitea.sh — Kimi queue display
  • ~/.hermes/bin/ops-panel.sh — Kimi, Claude, Gemini queue displays
  • ~/.hermes/bin/ops-helpers.sh — ops-queue (kimi), ops-claude-queue, ops-gemini-queue

Verification: Client-side filter correctly returns 0 issues for all agents (none currently assigned), vs the broken API returning all 30+ open issues.

Fixed: Replaced all broken `?assignee=X` API query parameters with client-side filtering. **Root cause:** Gitea 1.25.4 ignores the `assignee` query parameter, returning all issues regardless. **Fix:** All scripts now fetch all open issues and filter by checking the `assignees` field in the response JSON. **Files fixed:** - `~/.hermes/bin/ops-gitea.sh` — Kimi queue display - `~/.hermes/bin/ops-panel.sh` — Kimi, Claude, Gemini queue displays - `~/.hermes/bin/ops-helpers.sh` — ops-queue (kimi), ops-claude-queue, ops-gemini-queue **Verification:** Client-side filter correctly returns 0 issues for all agents (none currently assigned), vs the broken API returning all 30+ open issues.
Timmy closed this issue 2026-03-24 20:27:59 +00:00
Sign in to join this conversation.
No Label 222-epic
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#1460