cli/pkg/jobrunner
Claude d32c51d816 feat(jobrunner): port from GitHub to Forgejo using pkg/forge
Replace all GitHub API and gh CLI dependencies with Forgejo SDK via
pkg/forge. The bash dispatcher burned a week of credit in a day due to
bugs — the jobrunner now talks directly to Forgejo.

- Add forge client methods: CreateIssueComment, CloseIssue, MergePullRequest,
  SetPRDraft, ListPRReviews, GetCombinedStatus, DismissReview
- Create ForgejoSource implementing JobSource (epic polling, checklist
  parsing, commit status via combined status API)
- Rewrite all 5 handlers to accept *forge.Client instead of shelling out
- Replace ResolveThreadsHandler with DismissReviewsHandler (Forgejo has
  no thread resolution API — dismiss stale REQUEST_CHANGES reviews instead)
- Delete pkg/jobrunner/github/ and handlers/exec.go entirely
- Update internal/core-ide/headless.go to wire Forgejo source and handlers
- All 33 tests pass with mock Forgejo HTTP servers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:40:49 +00:00
..
forgejo feat(jobrunner): port from GitHub to Forgejo using pkg/forge 2026-02-09 00:40:49 +00:00
handlers feat(jobrunner): port from GitHub to Forgejo using pkg/forge 2026-02-09 00:40:49 +00:00
journal.go feat(jobrunner): add automated PR workflow system (#329) 2026-02-05 10:36:21 +00:00
journal_test.go feat(jobrunner): add automated PR workflow system (#329) 2026-02-05 10:36:21 +00:00
poller.go feat(jobrunner): add automated PR workflow system (#329) 2026-02-05 10:36:21 +00:00
poller_test.go feat(jobrunner): add automated PR workflow system (#329) 2026-02-05 10:36:21 +00:00
types.go feat(jobrunner): add automated PR workflow system (#329) 2026-02-05 10:36:21 +00:00
types_test.go feat(jobrunner): add automated PR workflow system (#329) 2026-02-05 10:36:21 +00:00