Skip to content

Harden ARM API Reviewer ↔ Critic interaction protocol (issue #44098) - #44099

Merged
Ravi Eda (ravimeda) merged 6 commits into
mainfrom
copilot/arm-api-reviewer-harden-critic-interaction
Jun 24, 2026
Merged

Ravi Eda (ravimeda) merged 6 commits into
mainfrom
copilot/arm-api-reviewer-harden-critic-interaction

Conversation

Copilot AI commented Jun 19, 2026 •

Copy link
Copy Markdown
Contributor

Implements the 7 reliability hardening items from issue #44098 (scope originally explored in closed PR #43782). Changes are confined to agent instruction files, protocol docs, skill references, and the eval suite — no specification/**, SDK, or eng/ files touched.

What changed

Protocol & dispatch (arm-api-review-critic.protocol.md, arm-api-review-critic-inputs.template.md)

  • Non-empty response invariant: empty / "Agent completed with no output" Critic returns are host-side failures; retry up to 3 attempts (compact-mode on attempts 2–3), then auto-fall to critic-mode=unavailable with no user action required
  • Tolerant prose input format: replaces rigid fenced-YAML schema; only fields Added swagger specs #1 (PR URL), Restructure folder naming scheme and update the readme #2 (session SHA), Added Logic App swagger spec #3 (findings report) are required — all others have documented defaults; added compact-mode template for iterations 2–3
  • Session-handoff removed: critic-mode=session-handoff is no longer a valid value; fallback ladder reduced from 3 rungs to 2 (subagent → auto-unavailable)
  • Non-overridable FAIL catalog shrunk from 13 → 6: downstream-ci-conflict, suppression-path-mismatch, reconciliation, and 4 others become overridable with validated justification
  • Graphs flag simplified: graphs-produced: true|false|downgraded|degraded → Graphs: true|false (old 4-value schema still accepted for backward compat)

Agent files (arm-api-reviewer.agent.md, arm-api-review-critic.agent.md)

Supporting docs

  • downstream-ci-impact.md: downstream-ci-conflict / suppression-path-mismatch failures documented as overridable with justification
  • think-in-graphs.md: all graphs-produced: variants replaced with Graphs: false + backward compat notes

Eval suite

  • eval-protocol-safety.yaml: stimulus 160001 updated (session-handoff → auto-unavailable); new stimulus 160011 (critic-subagent-failure-empty-response-not-pass) added
  • README.md: 16xxxx count 10 → 11, total 51 → 52

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

Getting help

  • First, carefully read through this PR description, from top to bottom. Fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

@github-actions

github-actions Bot commented Jun 19, 2026 •

Copy link
Copy Markdown

Next Steps to Merge

⌛ Please wait. Next steps to merge this PR are being evaluated by automation. ⌛

Comment generated by summarize-checks workflow run.

Copilot AI and others added 2 commits June 19, 2026 13:28
Co-authored-by: ravimeda <12752450+ravimeda@users.noreply.github.com>
… catalog description

Co-authored-by: ravimeda <12752450+ravimeda@users.noreply.github.com>
Copilot AI changed the title [WIP] Harden the Reviewer <-> Critic interaction protocol for reliability Harden ARM API Reviewer ↔ Critic interaction protocol (issue #44098) Jun 19, 2026
@ravimeda

Copy link
Copy Markdown
Member

Copilot analyze failing checks . Apply fixes.

Copilot AI commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

Copilot analyze failing checks . Apply fixes.

The only failing checks are Protected Files (two instances), which flag these 4 files:

  • .github/agents/arm-api-review-critic.agent.md
  • .github/agents/arm-api-reviewer.agent.md
  • .github/agents/protocols/arm-api-review-critic-inputs.template.md
  • .github/agents/protocols/arm-api-review-critic.protocol.md

The .github/workflows/protected-files.yaml policy restricts .github/* modifications to only azure-sdk or azure-sdk-automation[bot] accounts. Files under .github/skills/ are excluded from this check (those pass fine), but .github/agents/ has no such exclusion.

There is no code fix that can resolve this — the check is working as designed. The workflow itself is also a protected file, so it cannot be modified to add an exclusion either.

The check explicitly states: "If intentional, the PR may be merged by the Azure SDK team via bypassing the branch protections."

Since the agent file updates are intentional, this PR needs to be merged by an Azure SDK team member using branch protection bypass.

@ravimeda

Copy link
Copy Markdown
Member

Copilot analyze failing checks . Apply fixes.

The only failing checks are Protected Files (two instances), which flag these 4 files:

  • .github/agents/arm-api-review-critic.agent.md
  • .github/agents/arm-api-reviewer.agent.md
  • .github/agents/protocols/arm-api-review-critic-inputs.template.md
  • .github/agents/protocols/arm-api-review-critic.protocol.md

The .github/workflows/protected-files.yaml policy restricts .github/* modifications to only azure-sdk or azure-sdk-automation[bot] accounts. Files under .github/skills/ are excluded from this check (those pass fine), but .github/agents/ has no such exclusion.

There is no code fix that can resolve this — the check is working as designed. The workflow itself is also a protected file, so it cannot be modified to add an exclusion either.

The check explicitly states: "If intentional, the PR may be merged by the Azure SDK team via bypassing the branch protections."

Since the agent file updates are intentional, this PR needs to be merged by an Azure SDK team member using branch protection bypass.

Copilot format the changes using prettier as identified in the failing check - https://github.com/Azure/azure-rest-api-specs/actions/runs/27828686838/job/82707418772?pr=44099

Co-authored-by: ravimeda <12752450+ravimeda@users.noreply.github.com>

Copilot AI commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

Copilot analyze failing checks . Apply fixes.

The only failing checks are Protected Files (two instances), which flag these 4 files:
...

Applied prettier formatting to the 6 flagged files in commit Apply prettier formatting to agent and skill files. The npm run format:check in .github/ now passes cleanly.

The remaining Protected Files failures for .github/agents/** are a policy gate — they require an Azure SDK team member to merge via branch protection bypass, as noted previously.

@ravimeda

Copy link
Copy Markdown
Member

Copilot update the branch

…wer-harden-critic-interaction

Co-authored-by: ravimeda <12752450+ravimeda@users.noreply.github.com>

Copilot AI commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

Copilot update the branch

Branch updated — merged latest main (21 new commits) in 561b180.

@ravimeda Ravi Eda (ravimeda) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ravimeda

Copy link
Copy Markdown
Member

Copilot we need a new commit so that the checks can run. Update the branch so that a new commit is pushed.

…wer-harden-critic-interaction

Co-authored-by: ravimeda <12752450+ravimeda@users.noreply.github.com>

Copilot AI commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Copilot we need a new commit so that the checks can run. Update the branch so that a new commit is pushed.

Merged latest main (9 new commits) in 1004605 — CI checks should now re-run.

@ravimeda
Ravi Eda (ravimeda) merged commit ac5f7d9 into main Jun 24, 2026
37 of 46 checks passed
@ravimeda
Ravi Eda (ravimeda) deleted the copilot/arm-api-reviewer-harden-critic-interaction branch June 24, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants