PR status, commit status, and access levels use different names across forges. Add common enum types that map forge-specific values to shared ones, so callers don't need to know which forge they're talking to.
Examples: GitHub "merged" and GitLab "merged" map to the same PRStatus. Commit statuses like "success", "passing", "approved" all map to a common success state.
PR status, commit status, and access levels use different names across forges. Add common enum types that map forge-specific values to shared ones, so callers don't need to know which forge they're talking to.
Examples: GitHub "merged" and GitLab "merged" map to the same PRStatus. Commit statuses like "success", "passing", "approved" all map to a common success state.