Skip to content

M3: Implement GitHub Copilot provider adapter #19

@dbrosio3

Description

@dbrosio3

Goal

Implement a GitHub Copilot provider adapter on top of the local AI provider interface.

User value

Teams can run Pushgate local AI review with GitHub Copilot instead of being limited to Claude, and future providers have a second real adapter to validate the interface.

Implementation notes

  • Build on the provider contract and provider-selection config established by the v2 schema and provider-interface tasks.
  • Use GitHub Copilot's supported programmatic invocation path for the first adapter, including non-interactive prompt execution and model selection where applicable.
  • Map the Pushgate review payload into Copilot invocation without coupling deterministic checks to Copilot.
  • Convert Copilot results into the normalized local AI findings/output path.
  • Detect missing CLI/auth/model failures and report them through the configured local AI mode.
  • Stub Copilot in tests so adapter behavior, exit codes, and parsing can be verified without a live model call.

Risks / tradeoffs

  • Copilot CLI auth, permissions, model names, and output behavior differ from Claude.
  • The provider interface may need small corrections once a second real provider exercises it.

Suggested priority

P1

Milestone

M3: Local AI review

TBD considerations

  • Exact Copilot CLI command/options chosen after the provider contract and structured-output format are frozen.
  • Whether the first adapter allows repository read tools or sends only the Pushgate review payload.

Acceptance criteria

  • .pushgate.yml can select GitHub Copilot through the v2 provider config.
  • A Copilot-backed local AI review can return findings through Pushgate's normalized output path.
  • Copilot missing/auth/provider failures respect blocking, advisory, and off AI modes.
  • Tests prove the Copilot adapter without requiring a real Copilot session.

Metadata

Metadata

Assignees

No one assigned

    Labels

    M3Milestone M3: optional local AIP1Priority P1: important follow-upenhancementNew feature or requestv2ai-pushgate v2 roadmap

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions