Implement-issue button: server enforces Agent/Ready gate and moves issue to Agent/In Progress #85

Merged
lucas merged 1 commit from agent/issue-83-implement-label-gate into main 2026-10-26 15:42:50 +01:00
Collaborator

ForgejoDispatcher.startImplementer now:

  • refuses with 422 (no session) unless the issue has Agent/Ready and lacks Status/Blocked (case-insensitive, trimmed; Ready checked first);
  • after session creation, re-reads the issue and swaps Agent/Ready → Agent/In Progress via one replace-all PUT (other labels preserved). Failures are logged, commented on the issue, and fall back to a deck notification if commenting fails; the session runs regardless.

DispatchApi gains labels on IssueSummary, listLabels, and replaceIssueLabels; fetchAvailableLabels takes only client/owner/repo.

Verified: bun test apps/server/src/forgejo (262 pass), bun run typecheck clean. Manual end-to-end against a live Forgejo not run.

Closes: #83

`ForgejoDispatcher.startImplementer` now: - refuses with 422 (no session) unless the issue has `Agent/Ready` and lacks `Status/Blocked` (case-insensitive, trimmed; Ready checked first); - after session creation, re-reads the issue and swaps `Agent/Ready` → `Agent/In Progress` via one replace-all PUT (other labels preserved). Failures are logged, commented on the issue, and fall back to a deck notification if commenting fails; the session runs regardless. `DispatchApi` gains `labels` on `IssueSummary`, `listLabels`, and `replaceIssueLabels`; `fetchAvailableLabels` takes only `client/owner/repo`. Verified: `bun test apps/server/src/forgejo` (262 pass), `bun run typecheck` clean. Manual end-to-end against a live Forgejo not run. Closes: #83
The Implement-issue endpoint now refuses (422) unless the issue carries
Agent/Ready and not Status/Blocked, and after the session is created swaps
Agent/Ready for Agent/In Progress. A failed swap is logged, commented on the
issue, and raised as a notification if the comment fails too.

Closes: #83
Co-Authored-By: Claude Opus 5.5 via omp-deck
lucas approved these changes 2026-10-26 15:42:46 +01:00
lucas merged commit cdee4b8e30 into main 2026-10-26 15:42:50 +01:00
lucas deleted branch agent/issue-83-implement-label-gate 2026-10-26 15:42:51 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
lucas/omp-deck!85
No description provided.