| 💾 Saved. d722711 k33g 6h ago | 1 | # Quality report — 2026-09-15T22:32:19Z |
| 2 | |
| 3 | - **Gate**: ❌ **FAIL** |
| 4 | - **Commit**: `79fc998` on `main` |
| 5 | - **qlty**: qlty 0.639.0 linux-arm64 (d9801f1 2026-07-23) |
| 6 | - **Run**: #1 (first recorded run) |
| 7 | |
| 8 | ## Gate violations |
| 9 | |
| 10 | - warning-level issues: 69 (max 0) |
| 11 | - code smells: 18 (max 0) |
| 12 | |
| 13 | ## Lint issues (`qlty check`) |
| 14 | |
| 15 | | level | count | vs previous | |
| 16 | |---|---|---| |
| 17 | | warning | 69 | — | |
| 18 | |
| 19 | ### Top rules |
| 20 | |
| 21 | | rule | count | |
| 22 | |---|---| |
| 23 | | golangci-lint:errcheck | 12 | |
| 24 | | osv-scanner:CVE-2026-32285 | 2 | |
| 25 | | osv-scanner:CVE-2026-24051 | 2 | |
| 26 | | osv-scanner:CVE-2026-39883 | 2 | |
| 27 | | osv-scanner:CVE-2026-29181 | 2 | |
| 28 | | osv-scanner:CVE-2026-39824 | 1 | |
| 29 | | osv-scanner:CVE-2025-47910 | 1 | |
| 30 | | osv-scanner:CVE-2025-47912 | 1 | |
| 31 | | osv-scanner:CVE-2025-58183 | 1 | |
| 32 | | osv-scanner:CVE-2025-58185 | 1 | |
| 33 | | osv-scanner:CVE-2025-58186 | 1 | |
| 34 | | osv-scanner:CVE-2025-58187 | 1 | |
| 35 | | osv-scanner:CVE-2025-58188 | 1 | |
| 36 | | osv-scanner:CVE-2025-58189 | 1 | |
| 37 | | osv-scanner:CVE-2025-61723 | 1 | |
| 38 | |
| 39 | ### Most affected files |
| 40 | |
| 41 | | file | issues | |
| 42 | |---|---| |
| 43 | | go.mod | 55 | |
| 44 | | main.go | 5 | |
| 45 | | internal/engine/openai_compat.go | 2 | |
| 46 | | internal/fileedit/fileedit_test.go | 2 | |
| 47 | | internal/fileedit/textfile.go | 2 | |
| 48 | | internal/agent/agent.go | 1 | |
| 49 | | internal/engine/engine.go | 1 | |
| 50 | | internal/session/session_test.go | 1 | |
| 51 | |
| 52 | ## Code smells (`qlty smells`) |
| 53 | |
| 54 | Total: **18** (vs previous: —) |
| 55 | |
| 56 | | smell | file | line | detail | |
| 57 | |---|---|---|---| |
| 58 | | qlty:return-statements | internal/fileedit/textfile.go | 94 | Function with many returns (count = 7): write | |
| 59 | | qlty:file-complexity | internal/fileedit/diff.go | 1 | High total complexity (count = 89) | |
| 60 | | qlty:function-complexity | internal/fileedit/diff.go | 136 | Function with high complexity (count = 20): middle | |
| 61 | | qlty:return-statements | internal/agent/agent.go | 37 | Function with many returns (count = 6): Run | |
| 62 | | qlty:nested-control-flow | internal/agent/agent.go | 199 | Deeply nested control flow (level = 5) | |
| 63 | | qlty:nested-control-flow | internal/agent/agent.go | 208 | Deeply nested control flow (level = 5) | |
| 64 | | qlty:nested-control-flow | internal/agent/agent.go | 278 | Deeply nested control flow (level = 5) | |
| 65 | | qlty:file-complexity | internal/agent/agent.go | 1 | High total complexity (count = 133) | |
| 66 | | qlty:function-complexity | internal/agent/agent.go | 37 | Function with high complexity (count = 121): Run | |
| 67 | | qlty:return-statements | internal/config/config.go | 254 | Function with many returns (count = 11): validate | |
| 68 | | qlty:return-statements | internal/compact/compact.go | 102 | Function with many returns (count = 6): Compact | |
| 69 | | qlty:return-statements | internal/compact/compact.go | 184 | Function with many returns (count = 6): Valid | |
| 70 | | qlty:file-complexity | internal/compact/compact.go | 1 | High total complexity (count = 50) | |
| 71 | | qlty:function-complexity | internal/compact/compact.go | 184 | Function with high complexity (count = 22): Valid | |
| 72 | | qlty:return-statements | internal/engine/engine.go | 226 | Function with many returns (count = 7): Generate | |
| 73 | | qlty:file-complexity | internal/engine/engine.go | 1 | High total complexity (count = 91) | |
| 74 | | qlty:function-complexity | internal/engine/engine.go | 226 | Function with high complexity (count = 18): Generate | |
| 75 | | qlty:return-statements | internal/engine/explain.go | 24 | Function with many returns (count = 9): Explain | |
| 76 | |
| 77 | ## Metrics (`qlty metrics`) |
| 78 | |
| 79 | | metric | total | vs previous | |
| 80 | |---|---|---| |
| 81 | | funcs | 156 | — | |
| 82 | | classes | 38 | — | |
| 83 | | fields | 149 | — | |
| 84 | | cyclo | 994 | — | |
| 85 | | complex | 620 | — | |
| 86 | | lcom | 0 | — | |
| 87 | | lines | 4718 | — | |
| 88 | | loc | 2954 | — | |
| 89 | |
| 90 | ### Most complex files |
| 91 | |
| 92 | | file | complex | cyclo | loc | |
| 93 | |---|---|---|---| |
| 94 | | internal/agent/agent.go | 133 | 99 | 268 | |
| 95 | | internal/engine/engine.go | 91 | 121 | 347 | |
| 96 | | internal/fileedit/diff.go | 89 | 177 | 271 | |
| 97 | | internal/compact/compact.go | 50 | 92 | 175 | |
| 98 | | internal/tools/files.go | 32 | 50 | 238 | |
| 99 | | internal/engine/openai_compat.go | 29 | 51 | 176 | |
| 100 | | internal/tools/tools.go | 28 | 47 | 191 | |
| 101 | | internal/fileedit/fileedit.go | 27 | 50 | 125 | |
| 102 | | internal/skills/skills.go | 20 | 28 | 79 | |
| 103 | | internal/fileedit/textfile.go | 15 | 27 | 76 | |
| 104 | | main.go | 15 | 31 | 92 | |
| 105 | | internal/fileedit/edits.go | 14 | 38 | 88 | |
| 106 | | internal/engine/explain.go | 13 | 31 | 58 | |
| 107 | | internal/spinner/spinner.go | 13 | 27 | 102 | |
| 108 | | internal/acp/acp.go | 11 | 28 | 183 | |
| 109 | |
| 110 | ## Trend |
| 111 | |
| 112 | | run | timestamp | error | warning | smells | complex | gate | |
| 113 | |---|---|---|---|---|---|---| |
| 114 | | 1 | 2026-09-15T22:32:19Z | 0 | 69 | 18 | 620 | FAIL | |