You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Forge currently models repositories primarily as GitHub-shaped owner/repo values and keeps workflow-level fields such as current_repo, current_pr_number, and pr_urls. This cannot safely represent a workflow spanning repositories on different source providers or provider instances—for example, a GitHub PR and a self-managed GitLab MR that happen to share native number 42.
The product roadmap in PR #157 defines the intended direction: the source provider and connection belong to each repository, not to the workflow globally, and each repository change progresses independently under aggregate workflow gates.
Proposed capability
Introduce configurable source-control connections and canonical repository references, then place the existing GitHub behavior behind a provider-neutral contract.
A connection should hold provider-specific API/base URLs, credential references, webhook verification configuration, TLS/CA configuration, proxy settings where applicable, and allowed namespaces. Credentials must not be embedded in Jira metadata or agent context.
Workflow state should track a map of per-repository work items rather than one global current PR:
canonical repository identity and configured connection
source revision and working branch
PR/MR identity, URL, and state
provider-normalized CI/check state
review state
execution, retry, and error state
explicit dependencies on other repository work items
The durable identity of a change request should be composite, such as (connection, repository_id, native_id), because native PR/MR numbers are provider-local.
Problem
Forge currently models repositories primarily as GitHub-shaped
owner/repovalues and keeps workflow-level fields such ascurrent_repo,current_pr_number, andpr_urls. This cannot safely represent a workflow spanning repositories on different source providers or provider instances—for example, a GitHub PR and a self-managed GitLab MR that happen to share native number42.The product roadmap in PR #157 defines the intended direction: the source provider and connection belong to each repository, not to the workflow globally, and each repository change progresses independently under aggregate workflow gates.
Proposed capability
Introduce configurable source-control connections and canonical repository references, then place the existing GitHub behavior behind a provider-neutral contract.
Example repository configuration:
A connection should hold provider-specific API/base URLs, credential references, webhook verification configuration, TLS/CA configuration, proxy settings where applicable, and allowed namespaces. Credentials must not be embedded in Jira metadata or agent context.
Workflow state should track a map of per-repository work items rather than one global current PR:
The durable identity of a change request should be composite, such as
(connection, repository_id, native_id), because native PR/MR numbers are provider-local.Delivery slices
SourceControlProvider, repository reference, connection, normalized event, change-request, review, and check-run contracts.Acceptance criteria
Context