# Quality report — 2026-09-17T19:10:18Z - **Gate**: ❌ **FAIL** - **Commit**: `4edda86` on `feat/acp-webapp` - **qlty**: qlty 0.639.0 linux-arm64 (d9801f1 2026-07-23) - **Run**: #2 (previous: 2026-09-17T19:09:37Z) ## Gate violations - error-level issues: 13 (max 0) - warning-level issues: 4 (max 0) - code smells: 5 (max 0) ## Lint issues (`qlty check`) | level | count | vs previous | |---|---|---| | error | 13 | — | | warning | 4 | — | | note | 21 | — | ### Top rules | rule | count | |---|---| | biome:fmt | 19 | | biome:parse | 7 | | biome:lint/suspicious/noArrayIndexKey | 4 | | golangci-lint:errcheck | 3 | | golangci-lint:fmt | 2 | | golangci-lint:staticcheck | 1 | | biome:lint/correctness/useExhaustiveDependencies | 1 | | biome:lint/a11y/useSemanticElements | 1 | ### Most affected files | file | issues | |---|---| | .vscode/settings.json | 6 | | ui/src/components/ChatThread.tsx | 4 | | cmd/ori/e2e_test.go | 3 | | ui/src/components/ToolCallCard.tsx | 3 | | ui/src/components/PlanView.tsx | 2 | | .vscode/extensions.json | 1 | | internal/bridge/ws.go | 1 | | internal/httpserver/httpserver_test.go | 1 | | internal/mockagent/mockagent.go | 1 | | ui/package.json | 1 | | ui/src/App.test.tsx | 1 | | ui/src/App.tsx | 1 | | ui/src/app.css | 1 | | ui/src/components/Markdown.tsx | 1 | | ui/src/components/PermissionPrompt.tsx | 1 | ## Code smells (`qlty smells`) Total: **5** (vs previous: ±0) | smell | file | line | detail | |---|---|---|---| | qlty:return-statements | internal/agent/agent.go | 152 | Function with many returns (count = 8): Start | | qlty:function-complexity | internal/bridge/ws.go | 16 | Function with high complexity (count = 22): WebSocketHandler | | qlty:return-statements | internal/mockagent/mockagent.go | 106 | Function with many returns (count = 10): play | | qlty:return-statements | ui/src/reducer.ts | 82 | Function with many returns (count = 9): reduceServer | | qlty:return-statements | ui/src/reducer.ts | 119 | Function with many returns (count = 6): reduceUpdate | ## Metrics (`qlty metrics`) | metric | total | vs previous | |---|---|---| | funcs | 92 | ±0 | | classes | 27 | ±0 | | fields | 39 | ±0 | | cyclo | 307 | ±0 | | complex | 158 | ±0 | | lcom | 0 | ±0 | | lines | 1989 | ±0 | | loc | 1398 | ±0 | ### Most complex files | file | complex | cyclo | loc | |---|---|---|---| | internal/bridge/bridge.go | 26 | 40 | 201 | | internal/mockagent/mockagent.go | 24 | 35 | 178 | | internal/bridge/ws.go | 22 | 14 | 47 | | ui/src/reducer.ts | 18 | 66 | 184 | | internal/agent/agent.go | 15 | 29 | 114 | | internal/agent/client.go | 11 | 28 | 74 | | ui/src/ws.ts | 10 | 13 | 59 | | internal/httpserver/httpserver.go | 8 | 8 | 33 | | ui/src/components/PromptInput.tsx | 7 | 9 | 48 | | ui/src/components/ToolCallCard.tsx | 6 | 19 | 78 | | cmd/ori/main.go | 3 | 7 | 45 | | ui/src/components/ChatThread.tsx | 2 | 10 | 58 | | cmd/ori-mock-agent/main.go | 1 | 4 | 18 | | internal/bridge/protocol.go | 1 | 3 | 42 | | ui/embed.go | 1 | 3 | 13 | ## Trend | run | timestamp | error | warning | smells | complex | gate | |---|---|---|---|---|---|---| | 1 | 2026-09-17T19:09:37Z | 0 | 0 | 5 | 158 | FAIL | | 2 | 2026-09-17T19:10:18Z | 13 | 4 | 5 | 158 | FAIL |