-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
After completing #249 (Pyright basic mode with 0 errors), upgrade to strict mode for comprehensive type safety enforcement.
Context
#249 adopts Pyright in basic mode which catches:
- None safety (
reportOptionalMemberAccess) - Argument type mismatches (
reportArgumentType) - Attribute access on wrong types (
reportAttributeAccessIssue) - Invalid calls (
reportCallIssue)
Strict mode additionally enforces:
- All function parameters must have type annotations
- All return types must be declared
- No implicit
Anytypes - No unknown member accesses
- Stricter generic type checking
Prerequisites
- Full type safety with Pyright enforcement #249 complete — 0 errors in basic mode, CI enforcing
Implementation
- Switch
pyrightconfig.jsonfrom"typeCheckingMode": "basic"to"strict" - Audit new errors — likely hundreds of missing annotations, especially in:
- Test files (most functions unannotated)
- Callback parameters
- Dynamic patterns in
config.py
- Fix incrementally or use
# type: ignorewhere annotation burden outweighs value - Consider per-directory strict vs basic via
pyrightconfig.jsonexecutionEnvironments
Acceptance criteria
-
pyrightconfig.jsonset to strict mode - 0 Pyright errors
- CI enforcing strict mode
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request