@{ Severity = @('Error', 'Warning') IncludeRules = @( # Constitution Principle III: every state-changing function must support # ShouldProcess, so -WhatIf reaches all of them. 'PSUseShouldProcessForStateChangingFunctions' 'PSShouldProcess' # Principle V: no credential material in source. 'PSAvoidUsingPlainTextForPassword' 'PSAvoidUsingConvertToSecureStringWithPlainText' 'PSUsePSCredentialType' # NFR-004 maintainability. 'PSUseApprovedVerbs' 'PSUseSingularNouns' 'PSAvoidUsingCmdletAliases' 'PSUseDeclaredVarsMoreThanAssignments' 'PSAvoidUsingPositionalParameters' # NFR-008 portability: no Windows PowerShell-only constructs. 'PSUseCompatibleSyntax' ) Rules = @{ PSUseCompatibleSyntax = @{ Enable = $true # 7.2 is the floor because the Automation runtime version is unverified # until Stage B (research.md V-5b). TargetVersions = @('7.2') } } }