Follow-up from #25.
Current state
Pyright runs in default mode in CI and pre-commit. The codebase is clean under default mode but has not been validated against strict mode.
What this tracks
Enable strict-mode pyright per @reckart's original spec in #25. Full config JSON is in the body of #25.
Key flags:
typeCheckingMode: strict
include: src
reportMissingTypeStubs, reportMissingImports, reportOptionalMemberAccess, reportPrivateUsage, reportUntypedFunctionDecorator, reportUntypedBaseClass, reportUnknownArgumentType, reportUnknownVariableType: true
reportUnusedImport: warning
Approach
Expect strict mode to surface many new errors. Suggested rollout:
- Drop
pyrightconfig.json with strict enabled
- Enumerate the error set
- Fix what's worth fixing; selectively relax flags that aren't
- Land as one or more focused PRs
Not 0.1.0-blocking: default-mode pyright is already a real check.
Follow-up from #25.
Current state
Pyright runs in default mode in CI and pre-commit. The codebase is clean under default mode but has not been validated against strict mode.
What this tracks
Enable strict-mode pyright per @reckart's original spec in #25. Full config JSON is in the body of #25.
Key flags:
typeCheckingMode:strictinclude:srcreportMissingTypeStubs,reportMissingImports,reportOptionalMemberAccess,reportPrivateUsage,reportUntypedFunctionDecorator,reportUntypedBaseClass,reportUnknownArgumentType,reportUnknownVariableType:truereportUnusedImport:warningApproach
Expect strict mode to surface many new errors. Suggested rollout:
pyrightconfig.jsonwith strict enabledNot 0.1.0-blocking: default-mode pyright is already a real check.