Skip to content

ADO PR monitoring: get_pr_diff unimplemented + MonitorPrTask unconditionally calls it #5

@goldenwitch

Description

@goldenwitch

Problem

AzureDevOpsAdapter::get_pr_diff returns RepoHostError::Unsupported (the unified-diff endpoint isn't implemented; ADO requires a head-vs-base diff via the git API).

MonitorPrTask::do_prompt calls get_pr_diff unconditionally and propagates the error with ?. Result: the moment any ADO PR is observed, the monitor task fails before the agent prompt even runs. ADO PR monitoring is non-functional end-to-end, regardless of routing fixes.

Evidence

  • crates/devdev-integrations/src/azure_devops.rsget_pr_diff returns Err(RepoHostError::Unsupported(...)).
  • crates/devdev-tasks/src/monitor_pr.rsdo_prompt calls self.host.get_pr_diff(...).await.map_err(...)? before assembling the agent prompt.

Acceptance criteria

Pick one of:

  1. Implement get_pr_diff for ADO. Compose the diff from head_sha against base_sha via the ADO git API, returning a unified-diff string compatible with the github.com path.
  2. Make MonitorPrTask tolerate Unsupported. When get_pr_diff is unsupported, prompt the agent without diff context (relying on metadata + the agent's own gh/az CLI access). This degrades the prompt quality but doesn't block the task.

Recommendation: option 1 if the ADO git API gives a clean unified diff; option 2 as a stopgap. Either way, ADO PR monitoring should produce at least one agent reply in a live test before this is closed.

Notes

Surfaced by dogfooding PR #3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions