- claw askClaude: prefer native .exe, route only .cmd/.bat through cmd.exe
with a quoted command line (DEP0190-safe, same pattern as
mcp-health-check); never exec .ps1 directly (not executable without
powershell); model allowlist retained so the shell line carries no
attacker metacharacters
- executor sync path: close un-awaited coroutine before returning the
generic failure, eliminating RuntimeWarning noise
* ci: add ruff + mypy to the Python CI job and fix pyproject tool config
The python-tests job runs pytest but not lint/type checks, and the ruff
and mypy configuration in pyproject.toml was silently broken, so neither
tool could run at all.
- add ruff and mypy steps to the existing python-tests job
- fix invalid pyproject keys: [tool.ruff] src-path -> src,
[tool.mypy] src_paths -> mypy_path
- ignore ruff UP042 (the (str, Enum) mixin is intentional)
- resolve ruff findings (unused/unsorted imports) across src and tests
- fix mypy errors in tools/executor.py and prompt/builder.py
* fix(ci): satisfy Python lint after main refresh
---------
Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>