These packages are still imported by the CLI. Reverting the premature
extraction so forge consumers can resolve them.
Co-Authored-By: Virgil <virgil@lethean.io>
Both packages now live in forge.lthn.ai/core/go-agent as a unified
agent orchestration repo. go-scm retains collect/, forge/, git/, gitea/.
Co-Authored-By: Virgil <virgil@lethean.io>
Replace hardcoded "new" target branch with a lookup against the
Forgejo API for the repository's default branch, falling back to
"main" if the API call fails.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extends Phase 3 forgejo source tests with 9 additional scenarios:
multi-epic with multiple children, combined status fetch error
fallback to PENDING, mixed repos with partial failure, Report
comment body format (table-driven), Report posting to correct
epic issue, signal field completeness, all-children-checked
producing zero signals, and NeedsCoding signal field population.
Co-Authored-By: Charon <developers@lethean.io>
- Standardise all fmt.Errorf calls to "package.Func: context" pattern
across jobrunner/journal.go, agentci/config.go, agentci/security.go,
handlers/dispatch.go, and forge/labels.go (15 bare errors fixed)
- Add SecureSSHCommandContext with context propagation for cancellable
SSH operations; update dispatch handler to use it
- Add CheckGitHubRateLimitCtx for context-aware rate limit checking
- Document Forgejo/Gitea SDK v2 context limitation in FINDINGS.md
(SDKs do not accept context.Context — adding ctx to 66 wrappers
would be ceremony without real propagation)
- Review and document rate limiter: handles all edge cases, adaptive
throttling at 75% GitHub usage, SDK header parsing not feasible
Co-Authored-By: Virgil <virgil@lethean.io>
Add unit tests for all signal mapping functions (mapPRState, mapMergeable,
mapCombinedStatus with all branches including nil, zero count, error
state). Add tests for parseEpicChildren (all checked, all unchecked,
no checkboxes), findLinkedPR (found, not found, nil), buildSignal
(with and without head SHA), splitRepo table-driven tests.
Add Poll integration tests: multiple repos, NeedsCoding with assignee,
merged PR, no head SHA (PENDING status), API errors (graceful skip),
empty repos list, non-epic issues filtered. Add Report tests: nil
result, failed result with error message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Forgejo and Gitea SDK wrappers, multi-repo git utilities, AgentCI
dispatch, distributed job orchestrator, and data collection pipelines.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>