Comfy-Org / Comfy-Org/comfy-cli
`execute` (complexity 48) and `execute_cloud` (44) in `command/run/__init__.py`
- Dominant language
- Python
- Stars
- 968
- Forks
- 151
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 77
Description
**What** — The two functions on the CLI's primary command path score 48 and 44 on cyclomatic complexity, against a conventional threshold of 10. They are the top two of 90 `C901` violations repo-wide; the next worst are 36 (`command/generate/app.py:_generate`) and 35 (`command/models/models.py:download`).
**Why it matters here** — `comfy run` is the command most users reach for, and its two implementations are the least testable code in the repo. At complexity 48 the branch count is beyond what a test suite can cover exhaustively, so behaviour changes there are effectively unverifiable — which is a bad property for the path that talks to both local and cloud execution. The two functions being near-twins at 48 and 44 also suggests shared structure worth extracting rather than two independent rewrites.
**Evidence**
```
$ ruff check --select C901 --output-format concise comfy_cli | sort -t'(' -k2 -rn | head -4
comfy_cli/command/run/__init__.py:204:5: C901 `execute` is too complex (48 > 10)
comfy_cli/command/run/__init__.py:890:5: C901 `execute_cloud` is too complex (44 > 10)
comfy_cli/command/generate/app.py:481:5: C901 `_generate` is too complex (36 > 10)
comfy_cli/command/models/models.py:334:5: C901 `download` is too complex (35 > 10)
$ ruff check --select C901 comfy_cli 2>&1 | tail -1
Found 90 errors.
```
**Fix**
Not a single-PR job. Suggested order: diff `execute` against `execute_cloud` to find the shared skeleton, extract it, then peel argument validation and output formatting out of both. Add `C901` to ruff with `max-complexity` set at the current worst value so it ratchets down instead of failing on day one.
---
Found by `repo-audit` during repo improvement sweep 2026-08-17. Parent: #723
Contributor guide
Assessment
This issue has not been assessed yet.