Awesome Reviewers

For CI/CD stability and to avoid Bicep linter/build failures, do not add explicit dependsOn entries when Bicep can infer the dependency.

Rule

Why

Example (remove when outputs are referenced)

module aiDependencies 'modules/dependent-resources.bicep' = {
  name: 'dependencies'
  params: { location: location }
}

module aiResource 'modules/ai-resource.bicep' = {
  name: 'ai'
  params: {
    keyVaultId: aiDependencies.outputs.keyvaultId
    storageAccountId: aiDependencies.outputs.storageId
  }
  // dependsOn: [ aiDependencies ]  // unnecessary; parameter references already imply it
}

Example (keep when a runtime script needs prior resources)

resource deploymentScript 'Microsoft.Resources/deploymentScripts@2020-10-01' = {
  name: 'upload'
  // Ensure the script runs only after required storage/container are available
  dependsOn: [ storage ]
  properties: { /* scriptContent */ }
}

Apply this standard consistently so templates pass linting in pipelines and deployments remain deterministic.