Skip to content

chore(ci): green-light Lint & Security Audit on main - #42

Merged
indoor47 merged 4 commits into
mainfrom
chore/ci-greenify
May 22, 2026
Merged

chore(ci): green-light Lint & Security Audit on main#42
indoor47 merged 4 commits into
mainfrom
chore/ci-greenify

Conversation

@indoor47

Copy link
Copy Markdown
Owner

Summary

Green-lights CI on main. Three issues, two real fixes here, one is already non-blocking.

Lint & Format (was failing)

  • Ran uv run ruff format . — 154 mechanical reformats. No functional changes.
  • Verified by re-running the swarm/workflow/auto-commit test suite (87 tests pass) before the format pass and the full suite (819 pass) after.

Security Audit (was failing — 37 vulnerabilities)

  • uv lock --upgrade pulled patched versions of aiohttp, authlib, cryptography, fastmcp, idna, litellm, lxml, mako, pygments, pyjwt, pytest, python-dotenv, python-multipart, requests, urllib3, etc. That resolved 36 of 37.
  • The one remaining (CVE-2025-69872, diskcache 5.6.3) has no upstream fix. Transitive via dspy → gepa → diskcache. Added --ignore-vuln CVE-2025-69872 to the CI job with a comment explaining when to drop the ignore.

Type Check (6h runs)

  • Already marked continue-on-error: true and excludes evals/ + worktrees, so it doesn't actually block CI. The 6-hour runs are noisy but harmless. Out of scope for this PR.

Test plan

  • uv run ruff check . passes
  • uv run ruff format --check . passes
  • uv run pip-audit --ignore-vuln CVE-2025-69872 passes locally
  • Full pytest suite: 819 pass, 1 pre-existing redis-import failure (unrelated, requires redis package not in dev deps)

🤖 Generated with Claude Code

indoor47 and others added 4 commits May 22, 2026 08:10
Pure-mechanical 154-file format pass. No functional changes.
Unblocks the Lint and Format CI job which has been failing on
main since the codebase drifted from the formatter's expected
output.

Verified by running test_swarm_command, test_workflow,
test_swarm_autocommit, test_swarm_ghpr_integration,
test_gh_pr_flow, test_per_task_auditor_pairing - 87 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`uv lock --upgrade` resolved 36 of 37 pip-audit findings by
pulling in patched versions of aiohttp, authlib, cryptography,
fastmcp, idna, litellm, lxml, mako, pygments, pyjwt, pytest,
python-dotenv, python-multipart, requests, urllib3, etc.

One vulnerability remains: CVE-2025-69872 in diskcache 5.6.3.
No upstream fix exists yet.  Transitive dep via
`dspy → gepa → diskcache`.  Added `--ignore-vuln CVE-2025-69872`
to the CI security job with a comment explaining when to drop it.

Verified 819 tests pass on the upgraded lock (1 pre-existing
redis-import failure unrelated).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two pre-existing test failures surfaced once we ran the full suite
without local --ignore flags:

1. tests/test_filesystem_scope.py grabbed `.fn` off `fs.read_file`
   for direct invocation.  FastMCP 3.x (bumped via uv lock --upgrade)
   stopped wrapping `@tool()` results in FunctionTool; the decorator
   now returns the raw async function.  Drop the `.fn` indirection.

2. tests/test_runtime_builder.py::test_build_redis_requires_connection
   imported the `redis` package unconditionally, but redis is an
   optional dep for the T2 backend and is not in the dev env.  Switch
   to `pytest.importorskip` so it skips cleanly when redis is
   missing.

Local full suite: 860 passed, 92 skipped, 0 failed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The pytest.importorskip-then-assign-attribute pattern triggered
N806 (variable in function body must be lowercase).  Restore the
original `from ... import ... as ...` so the alias keeps PascalCase
and ruff stays happy, with importorskip used purely as the gate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@indoor47
indoor47 merged commit 514b521 into main May 22, 2026
4 of 5 checks passed
@indoor47
indoor47 deleted the chore/ci-greenify branch May 22, 2026 07:01
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