Skip to content

Commit 0d44cfb

Browse files
authored
chore(ingestion): refresh basedpyright config; standard mode + ratchet scaffold (#27794)
* chore(ingestion): refresh basedpyright config; standard mode + ratchet scaffold Switch from implicit `recommended` mode to `typeCheckingMode = "standard"`, matching the production-default of every mature OSS pyright/basedpyright config surveyed (Pydantic, Litestar, FastAPI, OpenAI/Anthropic SDKs, Polars, Strawberry, Airflow, AnyIO). `recommended` enables the `reportUnknown*` family which is catastrophic on a 75-connector codebase with partially-typed third-party deps (snowflake, pyhive, databricks, etc.) — 30K+ baseline entries are noise from those library boundaries, not real type debt in our code. The config holds real-bug rules at `error` explicitly so a future config refactor can't silently drop them: - reportPossiblyUnboundVariable (real UnboundLocalError) - reportOptionalMemberAccess (NoneType crashes) - reportAttributeAccessIssue (typos / refactor stragglers) - reportCallIssue / reportArgumentType / reportReturnType - reportAssignmentType / reportIncompatibleMethodOverride - reportInvalidTypeArguments Plus three cheap promotions at `warning` for real-bug rules that fire rarely: - reportMatchNotExhaustive - reportUnreachable - reportInvalidCast `allowedUntypedLibraries` and an `executionEnvironments` block are scaffolded (empty / commented) for the per-subtree ratchet plan: as well-typed subtrees (`data_quality/`, `utils/`, `ometa/`) drop their local baselines, they get promoted to a stricter rule subset independent of the connector tail. Baseline shrinks 56,151 → 18,916 entries (66% smaller). The remaining 18,916 are real-bug-class entries that bound the cleanup work going forward; `reportUnknown*` noise is no longer measured. * Update pyproject.toml
1 parent 6260905 commit 0d44cfb

2 files changed

Lines changed: 58657 additions & 356682 deletions

File tree

0 commit comments

Comments
 (0)