Skip to content

chore: unblock CI lint gate#45

Merged
lukeocodes merged 2 commits intomainfrom
chore/unblock-lint-gate
May 1, 2026
Merged

chore: unblock CI lint gate#45
lukeocodes merged 2 commits intomainfrom
chore/unblock-lint-gate

Conversation

@lukeocodes
Copy link
Copy Markdown
Member

Summary

Restores the CI Lint job (`uv run ruff format --check && ruff check && mypy --strict` against `src/` + `packages/*/src`) to green. Was failing on `origin/main` against pre-existing files, blocking every PR's lint gate until either fixed or admin-overridden.

What it does

Fix Why it was broken
`ruff format` 3 files `debug-toolkit/{command,fetcher}.py` + `core/auth.py` were committed unformatted (likely landed via [no-ci] paths or admin merges)
Add `deepgram_mcp` + `deepgram_mcp.*` to the existing `ignore_missing_imports` mypy override The MCP SDK ships without type stubs, so `import deepgram_mcp` produced `import-untyped` errors. The existing override already covers `sounddevice`/`numpy`; adding `deepgram_mcp` to the same list is the minimal fix.
Switch one import in `mcp/models.py` to `from X import Y as Y` The current `from deepgram_mcp import TransportType` + `# noqa: F401` produced an `attr-defined` error when re-exported via `init.py` under `mypy --strict`. The explicit `as` form is the standard way to mark a re-export for strict mypy and drops the now-redundant `noqa`.

5 files, ~30 lines diff. No logic changes — pure config + format + import-statement shape.

Verification

uv run ruff format --check src/ packages/*/src   # 112 files already formatted
uv run ruff check src/ packages/*/src            # All checks passed!
uv run mypy src/ packages/*/src                  # Success: no issues found in 112 source files

These are the exact commands CI's Lint job runs.

Context

These two fix commits originally landed on the `#42` branch while it was open, but #42 was admin-merged before the fix commits could be picked up. They got stranded on the deleted branch. This PR brings them back as a single small chore so future PRs aren't blocked.

The CI Lint job (uv run ruff format --check src/ packages/*/src) was
failing on three files I did not touch:

  - packages/deepctl-cmd-debug-toolkit/src/deepctl_cmd_debug_toolkit/command.py
  - packages/deepctl-cmd-debug-toolkit/src/deepctl_cmd_debug_toolkit/fetcher.py
  - packages/deepctl-core/src/deepctl_core/auth.py

The format issues exist on origin/main as of c1d6b54,
so any PR was blocked until they were reformatted. Applies 'ruff format'
to those three files only — no logic changes, just whitespace/wrapping —
to unblock this PR (and any other PR currently sitting against main).
Two pre-existing mypy errors on origin/main were blocking the CI Lint
gate (the gate runs ruff format + ruff check + mypy --strict against
src/ + packages/*/src):

1. 'import deepgram_mcp' in deepctl-cmd-mcp triggered import-untyped
   errors because the MCP SDK ships without type stubs and was not
   listed in any ignore_missing_imports override. Adds deepgram_mcp +
   deepgram_mcp.* to the existing override that already covers the
   no-stub sounddevice/numpy modules.

2. deepctl_cmd_mcp/models.py imported TransportType from deepgram_mcp
   then deepctl_cmd_mcp/__init__.py re-exported it from .models,
   producing 'attribute not explicitly exported' (attr-defined). Fix:
   use the explicit 'from X import Y as Y' re-export pattern that
   mypy --strict accepts; drops the now-unnecessary noqa F401 comment.

Both verified locally with 'uv run mypy src/ packages/*/src' (the same
command CI runs). No logic changes; just config + import-statement
shape.
@lukeocodes lukeocodes merged commit 32d84a6 into main May 1, 2026
38 checks passed
@lukeocodes lukeocodes deleted the chore/unblock-lint-gate branch May 1, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant