no-interpreter-source-arguments
Keep interpreter programs in linted files or modules, outside process argv and literal Python stdin.
Why
Moving deployment logic from YAML into Python still bypasses language checks when the Python wrapper passes program source through interpreter flags, jq/awk argv, or literal Python stdin.
Fix
Invoke a repository-owned file or module covered by the normal language checks; pass configuration as arguments rather than interpreter source.
Examples
import subprocess
subprocess.run(["python3", "-c", "print(1)"], check=True)import subprocess
subprocess.run(["python3", "-m", "tools.verify", "-c", "strict"], check=True)import subprocess
subprocess.run(["python3", "-"], input="print(1)", text=True)import subprocess
subprocess.run(["python3", "-m", "tools.verify"], input="print(1)", text=True)