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
{{ message }}
Repository navigation
ARM API Reviewer agent: reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules #43650
Linear, file-by-file rule scanning catches named-rule violations well but misses systemic problems that emerge only when the API is viewed as a graph:
Orphan resources (schemas defined but never referenced by an operation).
Asymmetric CRUD (PUT without DELETE, GET without LIST-by-subscription, list-only resources).
$ref cycles and silent breaking changes via reference removal.
Secrets that enter via PUT and leak via LIST.
Identity-scope mismatches and synchronous POST mutations on tracked resources.
No single rule in the instruction files would catch these in isolation.
Proposal
Introduce Step 3.5, API Graph & Data-Flow Analysis (PR #43494) as a mandatory step on the full-review track. The Reviewer renders four Mermaid views inside the Step 6 report (collapsible <details> blocks):
Resource graph: resources touched by the PR; edges = parent/child, extension, $ref.
Operation graph: operations per resource; flags CRUD asymmetries.
Sensitive-data-flow graph: secret-bearing properties traced from accepting operations to returning operations.
Version-delta graph: previous-version overlay (only when a previous version exists).
The Critic independently re-derives each graph and graph-diffs. Graph integrity = FAIL: fabrication is non-overridable. The Reviewer must drop or correct any finding whose evidence depends on a fabricated node or edge.
Size guardrails (post-partition thresholds: > 75 resource nodes, > 200 operations, > 50 secret-bearing nodes) downgrade rendering to summary text, but the sensitive-data-flow view is always re-derived (rendering cost is irrelevant to secret-leak analysis). Failure recovery distinguishes graphs-produced: false (fast path, silent, by design) from graphs-produced: degraded (full-review attempt failed even after retry, requires a [!CAUTION] banner so the review cannot be mistaken for structurally complete).
changed the title [-]ARM API Reviewer agent: reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/-][+]ARM API Reviewer agent reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/+]on Aug 25, 2026
changed the title [-]ARM API Reviewer agent reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/-][+]ARM API Reviewer agent: reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/+]on Aug 30, 2026
Activity
ravimeda commentedon Jun 4, 2026
Addressed by PR #43494 (merged). The relevant changes are now in
main. Closing as completed.[-]ARM API Reviewer agent: reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/-][+]ARM API Reviewer agent reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/+][-]ARM API Reviewer agent reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/-][+]ARM API Reviewer agent: reason about the API as a graph (resource / operation / data-flow / version-delta) rather than a flat list of rules[/+]