Awesome Reviewers

When using AutoRest (or similar) to generate PowerShell/SDK surfaces, enforce that the generated cmdlets and types preserve the intended REST API contract—especially around nullability, required parameters, and unintended extra parameter-set variants.

Apply this standard: 1) Verify intent with spec/API diffs

2) Fix via generation directives; regenerate outputs

3) Suppress unwanted generated surface for API-correct behavior

4) Keep required parameters required; don’t hide breaking changes without basis

Example (directive-driven contract correction):

# Force non-nullable primitive array elements to preserve released contract
# (addresses unintended IList<int?> generation)
- from: swagger-document
  where: $.definitions["SomeResource"].properties["rules"].items
  transform: $['x-nullable'] = false

# Suppress ShouldProcess for Get- commands that don't benefit from -Confirm/-WhatIf
# (exact directive syntax depends on the repo’s directive framework)
- where:
    subject: ^Get-.*
  suppress-shouldprocess: true

5) Resource-scope correctness in documentation/examples

Checklist for PRs in this area: