Files
1jehuang--jcode/docs/CODE_QUALITY_TODO.md
wehub-resource-sync a789495a98
FreeBSD Smoke / FreeBSD Smoke (x86_64) (push) Has been cancelled
CI / Quality Guardrails (push) Has been cancelled
CI / Build & Test (macos-latest) (push) Has been cancelled
CI / Build & Test (ubuntu-latest) (push) Has been cancelled
CI / Build & Test (windows-latest) (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / PowerShell Syntax (push) Has been cancelled
CI / Windows Cross-Target Check (Linux) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:34 +08:00

482 lines
38 KiB
Markdown

# Code Quality Program Todo List
This file tracks the execution backlog for the code-quality uplift program described in `docs/CODE_QUALITY_10_10_PLAN.md`.
Status values:
- `pending`
- `in_progress`
- `blocked`
- `done`
## Phase 0: Prevent Further Decay
- [x] Add CI job for `cargo check --all-targets --all-features`
- [x] Add CI job for `cargo clippy --all-targets --all-features -- -D warnings`
- [x] Keep warning policy on a downward ratchet
- [x] Add documented file-size and function-size targets to contributor guidance
## Phase 1: Warning and Dead-Code Burn-Down
- [x] Inventory all `#![allow(dead_code)]` locations and justify or remove them
- [x] Reduce baseline warning count significantly from the current level
- [ ] Remove stale unused functions in `setup_hints.rs`
- [ ] Remove stale unused code in TUI support modules
- [ ] Audit broad suppressions and replace with narrow local allowances
## Phase 2: Decompose the Biggest Files
### Highest priority
- [x] Split `tests/e2e/main.rs` by feature area
- Started 2026-03-24: extracted feature modules `session_flow`, `transport`, `provider_behavior`, `binary_integration`, `safety`, and `ambient`
- Completed 2026-03-24: extracted shared helpers into `tests/e2e/test_support/mod.rs`
- Verified 2026-05-18: `tests/e2e/main.rs` is now only the feature-module entry point and the full non-ignored e2e target passed 44/44 tests.
- [ ] Continue splitting `src/server.rs` into focused submodules ([#53](https://github.com/1jehuang/jcode/issues/53))
- Progress 2026-03-24: extracted shared server/swarm state into `src/server/state.rs`
- Progress 2026-03-24: extracted socket/bootstrap helpers into `src/server/socket.rs`
- Progress 2026-03-24: extracted reload marker/signal state into `src/server/reload_state.rs`
- Progress 2026-03-24: extracted path/update/swarm identity utilities into `src/server/util.rs`
- [ ] Split `src/agent.rs` into orchestration, stream, interrupt, and tool-exec modules
### Next wave
- [ ] Split `src/provider/mod.rs` into traits, pricing, routes, and shared HTTP helpers ([#52](https://github.com/1jehuang/jcode/issues/52))
- [ ] Split `src/provider/openai.rs` into request, stream, tool, and response modules ([#52](https://github.com/1jehuang/jcode/issues/52))
- [ ] Split `src/tui/ui.rs` by render responsibility ([#51](https://github.com/1jehuang/jcode/issues/51))
- [ ] Split `src/tui/info_widget.rs` by widget/domain sections ([#51](https://github.com/1jehuang/jcode/issues/51))
## Phase 3: Error Handling Hardening
- [ ] Count production `unwrap` / `expect` separately from test-only usages
- [ ] Replace easy production `unwrap` / `expect` hotspots with explicit errors
- [ ] Add better error context for provider stream parsing failures
- [ ] Add better error context for reload and socket lifecycle failures ([#53](https://github.com/1jehuang/jcode/issues/53))
## Phase 4: Test Strategy Improvements
- [ ] Extract shared e2e test support helpers
- [ ] Add focused tests for reload state transitions
- [ ] Add focused tests for malformed provider stream chunks
- [ ] Add snapshot or golden tests for stable TUI render outputs
- [ ] Add property tests for protocol serialization and tool parsing
## Phase 5: Reliability and Performance Guardrails
- [ ] Add repeated reload reliability test coverage
- [ ] Add repeated attach/detach and reconnect coverage
- [ ] Track memory regression expectations in a documented budget
- [ ] Improve observability around reload, swarm, and tool execution paths
- [ ] Execute the compile-performance roadmap in `docs/COMPILE_PERFORMANCE_PLAN.md`
- [ ] Add repeatable compile timing checkpoints for warm/cold self-dev loops
## Immediate Active Work
- [x] Land the quality plan document
- [x] Land this todo list
- [x] Tighten CI guardrails
- [ ] Begin the first high-ROI cleanup or split
- Follow-up tracking issues: #51, #52, #53, #54
## Comprehensive Audit Backlog (2026-04-18)
Generated from `docs/CODE_QUALITY_AUDIT_2026-04-18.md`. This section enumerates the full file-level backlog detected by the audit so the todo list captures all current hotspots.
### Audit snapshot
- [x] Publish comprehensive audit report (`50` production files >1200 LOC, `62` production files 801-1200 LOC, `304` production functions >100 LOC across `165` files)
- [ ] Refresh this audit backlog after each major cleanup wave
### Structural backlog: production files over 1200 LOC
- [ ] Split `src/server/comm_control.rs` (3228 LOC)
- [ ] Split `src/tool/communicate.rs` (3165 LOC)
- [ ] Split `src/session.rs` (2729 LOC)
- [ ] Split `src/server/client_lifecycle.rs` (2704 LOC)
- [ ] Split `src/provider/openai.rs` (2683 LOC)
- [ ] Split `src/tui/ui.rs` (2437 LOC)
- [ ] Split `src/memory.rs` (2397 LOC)
- [ ] Split `src/provider/mod.rs` (2365 LOC)
- [ ] Split `src/telemetry.rs` (2217 LOC)
- [ ] Split `src/tui/ui_messages.rs` (2131 LOC)
- [ ] Split `src/tui/session_picker.rs` (2115 LOC)
- [ ] Split `src/tui/app/inline_interactive.rs` (2041 LOC)
- [ ] Split `src/tui/app/input.rs` (2023 LOC)
- [ ] Split `src/config.rs` (2005 LOC)
- [ ] Split `src/provider/anthropic.rs` (1969 LOC)
- [ ] Split `src/tui/app/remote/key_handling.rs` (1919 LOC)
- [ ] Split `src/tui/app/auth.rs` (1912 LOC)
- [ ] Split `src/usage.rs` (1900 LOC)
- [ ] Split `src/tui/session_picker/loading.rs` (1888 LOC)
- [ ] Split `src/cli/login.rs` (1881 LOC)
- [ ] Split `src/replay.rs` (1794 LOC)
- [ ] Split `src/cli/provider_init.rs` (1769 LOC)
- [ ] Split `src/bin/tui_bench.rs` (1738 LOC)
- [ ] Split `src/compaction.rs` (1718 LOC)
- [ ] Split `src/tui/ui_prepare.rs` (1708 LOC)
- [ ] Split `src/memory_agent.rs` (1696 LOC)
- [ ] Split `src/tui/info_widget.rs` (1688 LOC)
- [ ] Split `src/tui/ui_pinned.rs` (1678 LOC)
- [ ] Split `src/cli/tui_launch.rs` (1670 LOC)
- [ ] Split `src/tui/app/commands.rs` (1630 LOC)
- [ ] Split `src/auth/mod.rs` (1607 LOC)
- [ ] Split `src/tui/ui_input.rs` (1572 LOC)
- [ ] Split `src/server.rs` (1559 LOC)
- [ ] Split `src/tui/app/helpers.rs` (1551 LOC)
- [ ] Split `src/tool/agentgrep.rs` (1516 LOC)
- [ ] Split `src/import.rs` (1504 LOC)
- [ ] Split `src/ambient.rs` (1496 LOC)
- [ ] Split `src/server/swarm.rs` (1491 LOC)
- [ ] Split `src/tui/ui_tools.rs` (1446 LOC)
- [ ] Split `src/tui/markdown.rs` (1375 LOC)
- [ ] Split `src/protocol.rs` (1362 LOC)
- [ ] Split `src/tool/ambient.rs` (1341 LOC)
- [ ] Split `src/auth/oauth.rs` (1308 LOC)
- [ ] Split `src/tui/app/remote.rs` (1300 LOC)
- [ ] Split `src/tui/app/turn.rs` (1292 LOC)
- [ ] Split `src/provider/models.rs` (1263 LOC)
- [ ] Split `src/server/client_actions.rs` (1257 LOC)
- [ ] Split `src/tui/app/model_context.rs` (1211 LOC)
- [ ] Split `src/tui/app/tui_state.rs` (1210 LOC)
- [ ] Split `src/provider/gemini.rs` (1202 LOC)
### Structural backlog: production files between 801 and 1200 LOC
- [ ] Reduce `src/video_export.rs` below 800 LOC (1195 LOC today)
- [ ] Reduce `src/tui/app/auth_account_picker.rs` below 800 LOC (1192 LOC today)
- [ ] Reduce `src/tui/mod.rs` below 800 LOC (1167 LOC today)
- [ ] Reduce `src/provider/copilot.rs` below 800 LOC (1155 LOC today)
- [ ] Reduce `src/tui/app/state_ui.rs` below 800 LOC (1150 LOC today)
- [ ] Reduce `src/tool/browser.rs` below 800 LOC (1144 LOC today)
- [ ] Reduce `src/provider/claude.rs` below 800 LOC (1142 LOC today)
- [ ] Reduce `src/provider/openrouter.rs` below 800 LOC (1132 LOC today)
- [ ] Reduce `src/tui/app/remote/server_events.rs` below 800 LOC (1125 LOC today)
- [ ] Reduce `src/tui/app/debug_bench.rs` below 800 LOC (1124 LOC today)
- [ ] Reduce `src/tui/mermaid.rs` below 800 LOC (1116 LOC today)
- [ ] Reduce `src/update.rs` below 800 LOC (1109 LOC today)
- [ ] Reduce `src/server/client_session.rs` below 800 LOC (1094 LOC today)
- [ ] Reduce `src/provider/openai_stream_runtime.rs` below 800 LOC (1093 LOC today)
- [ ] Reduce `src/tool/mod.rs` below 800 LOC (1087 LOC today)
- [ ] Reduce `src/tui/app/state_ui_input_helpers.rs` below 800 LOC (1075 LOC today)
- [ ] Reduce `src/server/comm_session.rs` below 800 LOC (1071 LOC today)
- [ ] Reduce `src/ambient/runner.rs` below 800 LOC (1057 LOC today)
- [ ] Reduce `src/provider/cursor.rs` below 800 LOC (1043 LOC today)
- [ ] Reduce `src/cli/commands.rs` below 800 LOC (1039 LOC today)
- [ ] Reduce `src/server/debug.rs` below 800 LOC (1038 LOC today)
- [ ] Reduce `src/message.rs` below 800 LOC (1038 LOC today)
- [ ] Reduce `src/tui/app/commands_review.rs` below 800 LOC (1037 LOC today)
- [ ] Reduce `src/tui/app/navigation.rs` below 800 LOC (1014 LOC today)
- [ ] Reduce `src/tui/account_picker.rs` below 800 LOC (1012 LOC today)
- [ ] Reduce `src/goal.rs` below 800 LOC (995 LOC today)
- [ ] Reduce `src/memory_graph.rs` below 800 LOC (980 LOC today)
- [ ] Reduce `src/tui/markdown_render_full.rs` below 800 LOC (979 LOC today)
- [ ] Reduce `src/auth/claude.rs` below 800 LOC (976 LOC today)
- [ ] Reduce `src/auth/cursor.rs` below 800 LOC (970 LOC today)
- [ ] Reduce `src/browser.rs` below 800 LOC (958 LOC today)
- [ ] Reduce `src/runtime_memory_log.rs` below 800 LOC (956 LOC today)
- [ ] Reduce `src/agent/turn_streaming_mpsc.rs` below 800 LOC (945 LOC today)
- [ ] Reduce `src/cli/dispatch.rs` below 800 LOC (929 LOC today)
- [ ] Reduce `src/tui/ui_animations.rs` below 800 LOC (925 LOC today)
- [ ] Reduce `src/tui/app/auth_account_commands.rs` below 800 LOC (923 LOC today)
- [ ] Reduce `src/tui/test_harness.rs` below 800 LOC (918 LOC today)
- [ ] Reduce `src/auth/codex.rs` below 800 LOC (911 LOC today)
- [ ] Reduce `src/tui/keybind.rs` below 800 LOC (902 LOC today)
- [ ] Reduce `src/tui/ui_inline_interactive.rs` below 800 LOC (900 LOC today)
- [ ] Reduce `src/tui/ui_header.rs` below 800 LOC (897 LOC today)
- [ ] Reduce `src/server/state.rs` below 800 LOC (895 LOC today)
- [ ] Reduce `src/build.rs` below 800 LOC (892 LOC today)
- [ ] Reduce `src/tui/backend.rs` below 800 LOC (881 LOC today)
- [ ] Reduce `src/tui/login_picker.rs` below 800 LOC (878 LOC today)
- [ ] Reduce `src/sidecar.rs` below 800 LOC (872 LOC today)
- [ ] Reduce `src/tui/app/tui_lifecycle.rs` below 800 LOC (868 LOC today)
- [ ] Reduce `src/tui/permissions.rs` below 800 LOC (865 LOC today)
- [ ] Reduce `src/tui/markdown_render_lazy.rs` below 800 LOC (865 LOC today)
- [ ] Reduce `src/gateway.rs` below 800 LOC (863 LOC today)
- [ ] Reduce `src/tool/read.rs` below 800 LOC (862 LOC today)
- [ ] Reduce `src/provider/antigravity.rs` below 800 LOC (860 LOC today)
- [ ] Reduce `src/tool/apply_patch.rs` below 800 LOC (859 LOC today)
- [ ] Reduce `src/tool/bash.rs` below 800 LOC (858 LOC today)
- [ ] Reduce `src/auth/gemini.rs` below 800 LOC (849 LOC today)
- [ ] Reduce `src/tui/visual_debug.rs` below 800 LOC (847 LOC today)
- [ ] Reduce `src/setup_hints.rs` below 800 LOC (827 LOC today)
- [ ] Reduce `src/server/reload.rs` below 800 LOC (826 LOC today)
- [ ] Reduce `src/auth/copilot.rs` below 800 LOC (815 LOC today)
- [ ] Reduce `src/tui/app.rs` below 800 LOC (812 LOC today)
- [ ] Reduce `src/tui/app/remote/reconnect.rs` below 800 LOC (804 LOC today)
- [ ] Reduce `src/server/debug_swarm_read.rs` below 800 LOC (803 LOC today)
### Test concentration backlog: test files over 1200 LOC
- [x] Split test hotspot `src/tui/app/tests.rs` (was 13615 LOC; split into focused `src/tui/app/tests/*.rs` includes)
- [x] Split test hotspot `src/server/client_session_tests/resume.rs` (was 1263 LOC; split into focused `src/server/client_session_tests/resume/*.rs` includes)
- [x] Split test hotspot `src/provider/tests.rs` (was 1252 LOC; split into focused `src/provider/tests/*.rs` includes)
- [x] Split test hotspot `src/cli/auth_test.rs` (was 1226 LOC; split into focused `src/cli/auth_test/*.rs` includes)
### Long-function backlog outside already-oversized files
- [ ] Break down >100 LOC functions in `src/server/client_comm.rs` (4 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/debug_profile.rs` (3 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/comm_plan.rs` (3 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/ui_file_diff.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/session_picker/render.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/mermaid_widget.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/mermaid_cache_render.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/info_widget_todos.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/info_widget_model.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/tui_lifecycle_runtime.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/selfdev/build_queue.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_server_state.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/client_state.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/dispatch.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/background.rs` (2 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/ui_viewport.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/ui_overlays.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/ui_memory.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/ui_diagram_pane.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/session_picker/filter.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/mermaid_viewport.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/mermaid_debug.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/memory_profile.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/markdown_wrap.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/markdown_render_support.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/info_widget_layout.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/state_ui_storage.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/state_ui_maintenance.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/runtime_memory.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/run_shell.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/dictation.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/debug_script.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/debug_cmds.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tui/app/debug.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/task.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/session_search.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/selfdev/status.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/selfdev/reload.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/memory.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/grep.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/goal.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/gmail.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/conversation_search.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/bg.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/tool/batch.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/setup_hints/windows_setup.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/swarm_persistence.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/reload_state.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/headless.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_swarm_write.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_session_admin.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_jobs.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_help.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_command_exec.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/debug_ambient.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/comm_await.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/client_disconnect_cleanup.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/client_comm_message.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/server/client_comm_context.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/startup.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/openrouter_sse_stream.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/openrouter_provider_impl.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/openai_request.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/openai_provider_impl.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/provider/cli_common.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/memory_log.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/mcp/client.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/cli/selfdev.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/cli/hot_exec.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/catchup.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/bin/harness.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/agent/turn_streaming_broadcast.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/agent/turn_loops.rs` (1 oversized functions)
- [ ] Break down >100 LOC functions in `src/agent/response_recovery.rs` (1 oversized functions)
### Failure-path hardening backlog: production files with panic-prone calls
- [ ] Harden `src/tool/communicate.rs` (`unwrap`: 0, `expect`: 136, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 136)
- [ ] Harden `src/build.rs` (`unwrap`: 9, `expect`: 53, `panic!`: 2, `todo!`: 0, `unimplemented!`: 0, total: 64)
- [ ] Harden `src/provider/openai.rs` (`unwrap`: 7, `expect`: 38, `panic!`: 9, `todo!`: 0, `unimplemented!`: 0, total: 54)
- [ ] Harden `src/auth/cursor.rs` (`unwrap`: 48, `expect`: 4, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 52)
- [ ] Harden `src/auth/codex.rs` (`unwrap`: 45, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 46)
- [ ] Harden `src/server/comm_control.rs` (`unwrap`: 0, `expect`: 30, `panic!`: 11, `todo!`: 0, `unimplemented!`: 0, total: 41)
- [ ] Harden `src/cli/args.rs` (`unwrap`: 24, `expect`: 0, `panic!`: 16, `todo!`: 0, `unimplemented!`: 0, total: 40)
- [ ] Harden `src/auth/claude.rs` (`unwrap`: 28, `expect`: 9, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 37)
- [ ] Harden `src/cli/dispatch.rs` (`unwrap`: 0, `expect`: 28, `panic!`: 2, `todo!`: 0, `unimplemented!`: 0, total: 30)
- [ ] Harden `src/tool/bash.rs` (`unwrap`: 7, `expect`: 21, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 28)
- [ ] Harden `src/storage.rs` (`unwrap`: 0, `expect`: 26, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 26)
- [ ] Harden `src/tui/session_picker/loading.rs` (`unwrap`: 0, `expect`: 25, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 25)
- [ ] Harden `src/tool/read.rs` (`unwrap`: 0, `expect`: 25, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 25)
- [ ] Harden `src/auth/gemini.rs` (`unwrap`: 4, `expect`: 21, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 25)
- [ ] Harden `src/tool/apply_patch.rs` (`unwrap`: 15, `expect`: 1, `panic!`: 8, `todo!`: 0, `unimplemented!`: 0, total: 24)
- [ ] Harden `src/side_panel.rs` (`unwrap`: 0, `expect`: 24, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 24)
- [ ] Harden `src/server/client_comm.rs` (`unwrap`: 0, `expect`: 12, `panic!`: 11, `todo!`: 0, `unimplemented!`: 1, total: 24)
- [ ] Harden `src/server/reload.rs` (`unwrap`: 0, `expect`: 23, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 23)
- [ ] Harden `src/tui/session_picker.rs` (`unwrap`: 7, `expect`: 13, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 21)
- [ ] Harden `src/server/debug.rs` (`unwrap`: 0, `expect`: 18, `panic!`: 2, `todo!`: 0, `unimplemented!`: 1, total: 21)
- [ ] Harden `src/tool/goal.rs` (`unwrap`: 0, `expect`: 19, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 20)
- [ ] Harden `src/server/comm_session.rs` (`unwrap`: 0, `expect`: 20, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 20)
- [ ] Harden `src/cli/tui_launch.rs` (`unwrap`: 0, `expect`: 18, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 19)
- [ ] Harden `src/auth/external.rs` (`unwrap`: 19, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 19)
- [ ] Harden `src/provider/gemini.rs` (`unwrap`: 7, `expect`: 10, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 18)
- [ ] Harden `src/restart_snapshot.rs` (`unwrap`: 0, `expect`: 17, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 17)
- [ ] Harden `src/server/client_state.rs` (`unwrap`: 0, `expect`: 14, `panic!`: 1, `todo!`: 0, `unimplemented!`: 1, total: 16)
- [ ] Harden `src/replay.rs` (`unwrap`: 11, `expect`: 2, `panic!`: 3, `todo!`: 0, `unimplemented!`: 0, total: 16)
- [ ] Harden `src/goal.rs` (`unwrap`: 0, `expect`: 16, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 16)
- [ ] Harden `src/server/client_actions.rs` (`unwrap`: 3, `expect`: 9, `panic!`: 2, `todo!`: 0, `unimplemented!`: 1, total: 15)
- [ ] Harden `src/tui/app/remote.rs` (`unwrap`: 0, `expect`: 13, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 14)
- [ ] Harden `src/memory_graph.rs` (`unwrap`: 12, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 14)
- [ ] Harden `src/mcp/protocol.rs` (`unwrap`: 11, `expect`: 2, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 14)
- [ ] Harden `src/cli/selfdev.rs` (`unwrap`: 1, `expect`: 12, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 14)
- [ ] Harden `src/setup_hints/macos_launcher.rs` (`unwrap`: 0, `expect`: 13, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 13)
- [ ] Harden `src/server/client_lifecycle.rs` (`unwrap`: 0, `expect`: 10, `panic!`: 3, `todo!`: 0, `unimplemented!`: 0, total: 13)
- [ ] Harden `src/registry.rs` (`unwrap`: 0, `expect`: 13, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 13)
- [ ] Harden `src/tool/batch.rs` (`unwrap`: 12, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 12)
- [ ] Harden `src/server/swarm_mutation_state.rs` (`unwrap`: 0, `expect`: 8, `panic!`: 4, `todo!`: 0, `unimplemented!`: 0, total: 12)
- [ ] Harden `src/provider_catalog.rs` (`unwrap`: 0, `expect`: 12, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 12)
- [ ] Harden `src/prompt.rs` (`unwrap`: 11, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 12)
- [ ] Harden `src/tool/agentgrep.rs` (`unwrap`: 0, `expect`: 11, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 11)
- [ ] Harden `src/tool/ambient.rs` (`unwrap`: 10, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 10)
- [ ] Harden `src/soft_interrupt_store.rs` (`unwrap`: 0, `expect`: 9, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 9)
- [ ] Harden `src/server/provider_control.rs` (`unwrap`: 3, `expect`: 6, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 9)
- [ ] Harden `src/platform.rs` (`unwrap`: 0, `expect`: 9, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 9)
- [ ] Harden `src/cli/login.rs` (`unwrap`: 0, `expect`: 8, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 9)
- [ ] Harden `src/cli/commands/restart.rs` (`unwrap`: 0, `expect`: 9, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 9)
- [ ] Harden `src/tool/side_panel.rs` (`unwrap`: 0, `expect`: 8, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/tool/browser.rs` (`unwrap`: 6, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/stdin_detect.rs` (`unwrap`: 0, `expect`: 8, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/sidecar.rs` (`unwrap`: 0, `expect`: 8, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/runtime_memory_log.rs` (`unwrap`: 0, `expect`: 8, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/message.rs` (`unwrap`: 4, `expect`: 1, `panic!`: 3, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/gateway.rs` (`unwrap`: 1, `expect`: 7, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/ambient.rs` (`unwrap`: 8, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 8)
- [ ] Harden `src/server/swarm.rs` (`unwrap`: 0, `expect`: 6, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 7)
- [ ] Harden `src/server/debug_testers.rs` (`unwrap`: 0, `expect`: 7, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 7)
- [ ] Harden `src/provider/cursor.rs` (`unwrap`: 4, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 7)
- [ ] Harden `src/dictation.rs` (`unwrap`: 0, `expect`: 7, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 7)
- [ ] Harden `src/browser.rs` (`unwrap`: 2, `expect`: 5, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 7)
- [ ] Harden `src/tui/app/helpers.rs` (`unwrap`: 0, `expect`: 6, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/tool/session_search.rs` (`unwrap`: 1, `expect`: 5, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/tool/open.rs` (`unwrap`: 6, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/setup_hints.rs` (`unwrap`: 0, `expect`: 6, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/server/swarm_persistence.rs` (`unwrap`: 0, `expect`: 6, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/provider/antigravity.rs` (`unwrap`: 0, `expect`: 6, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/logging.rs` (`unwrap`: 0, `expect`: 6, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 6)
- [ ] Harden `src/tool/mcp.rs` (`unwrap`: 4, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 5)
- [ ] Harden `src/tool/conversation_search.rs` (`unwrap`: 5, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 5)
- [ ] Harden `src/telegram.rs` (`unwrap`: 5, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 5)
- [ ] Harden `src/server/debug_command_exec.rs` (`unwrap`: 0, `expect`: 4, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 5)
- [ ] Harden `src/provider/pricing.rs` (`unwrap`: 0, `expect`: 5, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 5)
- [ ] Harden `src/tui/ui.rs` (`unwrap`: 0, `expect`: 4, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `src/transport/windows.rs` (`unwrap`: 0, `expect`: 4, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `src/tool/skill.rs` (`unwrap`: 4, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `src/safety.rs` (`unwrap`: 2, `expect`: 1, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `src/login_qr.rs` (`unwrap`: 3, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `src/channel.rs` (`unwrap`: 4, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `crates/jcode-tui-workspace/src/workspace_map.rs` (`unwrap`: 0, `expect`: 4, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 4)
- [ ] Harden `src/tui/ui_messages.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/tui/ui_header.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 3)
- [ ] Harden `src/tui/login_picker.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/tui/keybind.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/tui/app/auth.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/session.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/server/comm_plan.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/cli/terminal.rs` (`unwrap`: 2, `expect`: 0, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/bin/tui_bench.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `crates/jcode-provider-openrouter/src/lib.rs` (`unwrap`: 0, `expect`: 3, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 3)
- [ ] Harden `src/video_export.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/tui/ui_animations.rs` (`unwrap`: 0, `expect`: 0, `panic!`: 2, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/tui/backend.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/tui/account_picker.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/tool/mod.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 2)
- [ ] Harden `src/server/debug_server_state.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/server/client_disconnect_cleanup.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/server/client_comm_channels.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/provider/openrouter_sse_stream.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/provider/jcode.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/perf.rs` (`unwrap`: 2, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/memory/activity.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/mcp/pool.rs` (`unwrap`: 0, `expect`: 0, `panic!`: 2, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/mcp/manager.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/copilot_usage.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/cache_tracker.rs` (`unwrap`: 2, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/auth/antigravity.rs` (`unwrap`: 0, `expect`: 2, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 2)
- [ ] Harden `src/ambient/runner.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 1, total: 2)
- [ ] Harden `src/tui/workspace_client.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/ui_prepare.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/ui_diagram_pane.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/test_harness.rs` (`unwrap`: 1, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/color_support.rs` (`unwrap`: 0, `expect`: 0, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/app/remote/reconnect.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/app/remote/input_dispatch.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/app/dictation.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/app/debug_bench.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tui/app/commands.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tool/todo.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tool/selfdev/reload.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/tool/memory.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/telemetry.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server/headless.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server/debug_swarm_read.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server/debug_session_admin.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server/comm_sync.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server/client_comm_message.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server/client_comm_context.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/server.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/provider/claude.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/provider/anthropic.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/protocol.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/plan.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/memory/pending.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/gmail.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/config.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/background.rs` (`unwrap`: 0, `expect`: 1, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `src/ambient/scheduler.rs` (`unwrap`: 1, `expect`: 0, `panic!`: 0, `todo!`: 0, `unimplemented!`: 0, total: 1)
- [ ] Harden `crates/jcode-tui-workspace/src/color_support.rs` (`unwrap`: 0, `expect`: 0, `panic!`: 1, `todo!`: 0, `unimplemented!`: 0, total: 1)
### Suppression cleanup backlog
- [ ] Remove or justify suppressions in `src/agent/turn_loops.rs` (unused_variables)
- [ ] Remove or justify suppressions in `src/auth/mod.rs` (unused_mut)
- [ ] Remove or justify suppressions in `src/cli/dispatch.rs` (deprecated, unused_mut, unused_mut)
- [ ] Remove or justify suppressions in `src/main.rs` (non_upper_case_globals, non_upper_case_globals)
- [ ] Remove or justify suppressions in `src/perf.rs` (non_snake_case)
- [ ] Remove or justify suppressions in `src/server.rs` (unused_mut, unused_mut)
- [ ] Remove or justify suppressions in `src/server/client_actions.rs` (clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/client_lifecycle.rs` (clippy::too_many_arguments, clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/client_session.rs` (clippy::too_many_arguments, clippy::too_many_arguments, clippy::too_many_arguments, clippy::too_many_arguments, clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/comm_await.rs` (clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/comm_session.rs` (clippy::too_many_arguments, clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/comm_sync.rs` (clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/debug_swarm_write.rs` (clippy::too_many_arguments)
- [ ] Remove or justify suppressions in `src/server/startup_tests.rs` (unused_mut)
- [ ] Remove or justify suppressions in `src/tui/app/remote.rs` (unused_imports, unused_imports)
- [ ] Remove or justify suppressions in `src/tui/app/state_ui.rs` (unused_mut)
- [ ] Remove or justify suppressions in `src/tui/info_widget.rs` (deprecated)
### Production `todo!` / `unimplemented!` backlog
- [ ] Remove `todo!` / `unimplemented!` from `src/tui/ui_header.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/tui/app/remote.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/tool/mod.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/server/debug_command_exec.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/server/debug.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/server/client_state.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/server/client_comm.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/server/client_actions.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/provider/gemini.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/cli/selfdev.rs` (1 occurrences)
- [ ] Remove `todo!` / `unimplemented!` from `src/ambient/runner.rs` (1 occurrences)
### Test `todo!` / `unimplemented!` backlog
- [ ] Replace test `todo!` / `unimplemented!` in `src/tui/app/tests.rs` (7 occurrences)
- [ ] Replace test `todo!` / `unimplemented!` in `src/server/startup_tests.rs` (1 occurrences)
- [ ] Replace test `todo!` / `unimplemented!` in `src/server/queue_tests.rs` (1 occurrences)
- [ ] Replace test `todo!` / `unimplemented!` in `src/server/client_session_tests.rs` (1 occurrences)
### TODO / FIXME / HACK marker backlog
- [ ] Resolve markers in `docs/CODE_QUALITY_AUDIT_2026-04-18.md` (9 markers)
- [ ] Resolve markers in `src/tui/ui_tests/prepare.rs` (5 markers)
- [ ] Resolve markers in `src/tui/ui_tests/tools.rs` (4 markers)
- [ ] Resolve markers in `src/stdin_detect.rs` (1 markers)
- [ ] Resolve markers in `docs/MEMORY_ARCHITECTURE.md` (1 markers)
- [ ] Resolve markers in `docs/IOS_CLIENT.md` (1 markers)