feat(triage): mode triage — vider le backlog au clavier (issue #11)

/triage (sélecteur par taille de backlog) + /triage/{o}/{r}
(session plein cadre, file embarquée): 1-5 colonnes, X fermer,
L étiquettes, A s'assigner (nouvel endpoint assign-self +
client.set_issue_assignees, idempotent), Entrée suivante, Z annuler.
Progression + résumé de session; décisions via /api/move et les
API existantes. Entrées: board + palette.
This commit is contained in:
Spark
2026-10-11 13:17:21 -04:00
parent 25040f974c
commit 8a32d080b5
8 changed files with 539 additions and 0 deletions
+12
View File
@@ -340,3 +340,15 @@ class GiteaClient:
r.raise_for_status()
self._cache_clear()
return r.json()
async def set_issue_assignees(
self, owner: str, repo: str, issue_number: int, logins: list[str]
) -> dict:
"""Replace the assignee set of an issue (triage "assign me")."""
r = await self.client.patch(
f"/repos/{owner}/{repo}/issues/{issue_number}",
json={"assignees": logins},
)
r.raise_for_status()
self._cache_clear()
return r.json()