Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- narrow module surface areas by making internal types and constants private - drop stale exports, helpers, and UI code no longer used - reduce unused dependencies and simplify server/web modules
- Move shared workspace deps into runtime packages - Hide internal schema helpers and rename turn diff contract - Remove obsolete web history bootstrap module
- Extract shared bootstrap, open, keybinding, and receipt logic - Move integration-only projection checkpoint repository support - Update tests and web helpers to use the new shared modules
- Split common server, git, persistence, and UI helpers into shared/testing modules - Reduce duplication across tests and runtime code - Keep integration and provider flows wired to the new shared layers
- Re-export SQLite and keybinding helpers from shared modules - Adjust git branch listing and localStorage fallback behavior - Stabilize MessagesTimeline tests with a mocked markdown component
- Export Claude auth/status helpers from `ClaudeProvider` - Remove the separate testing-only Claude provider module - Update provider registry tests to import the shared implementation
- move CLI config resolution into `cli.logic.ts` - tighten git upstream refresh handling and remote parsing - update tests and web/server plumbing for the refactor
- Move shared Codex provider helpers into `CodexProvider.shared` - Add tests for custom model_provider parsing and auth status JSON handling
ApprovabilityVerdict: Needs human review Diff is too large for automated approval analysis. A human reviewer should evaluate this PR. You can customize Macroscope's approvability policy. Learn more. |
- remove obsolete trace sink and tracer layers - add observability config plumbing and branch pagination updates - align tests with the new server and Git status shape
Dismissing prior approval to re-evaluate eaf00af
- Reduce horizontal padding and separator spacing in the chat toolbar - Keep provider, trait, and model pickers aligned in compact layouts
- Treat blank keybinding shortcuts as invalid - Surface a warning when Claude auth output is malformed JSON - Update knip entry coverage and simplify artifact flag handling
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 108efed. Configure here.
- Increase the default wait timeout in the integration harness to 40s - Reduce flakiness in slow orchestration flows
- serialize effect spans to rotating ndjson files - normalize trace attributes and add coverage - wire observability into the server layer
- Narrow module APIs by making internal types and helpers private - Remove unused git worktree mutation and cleanup stray exports
- Introduce `bun run check` to run format, lint, typecheck, and knip in parallel - Update CI and repo guidance to use the new consolidated check
- Include the OTLP traces proxy layer in the merged HTTP routes - Keep route composition aligned with the server HTTP surface
- Restrict trace and client tracing config types to module scope - Make the server layer factory internal to the module
- Restrict orchestration and websocket internals to module scope - Keep the public API surface focused on exported contracts

What Changed
This PR adds Knip to the repo in a minimal setup-only pass.
It introduces:
knipas a root dev dependencybun run knipscriptknip.jsoncovering the apps, packages, and scripts workspacesThis PR does not include any dead-code cleanup. It just wires Knip in so the current baseline is visible from CI/local runs.
Why
The earlier branch mixed Knip setup with a much larger cleanup/rebase diff. This resets the work to a small, reviewable PR that only adds the tool and its config.
Knip currently reports existing unused files, dependencies, exports, and types in the repo. That cleanup can happen in follow-up PRs once the config is accepted.
Changes
What This PR Actually Changes
knip,knip --production, andknip --strictare meaningful.*.shared.ts,*.logic.ts, and*.testing.tsmodules instead of exporting internals from production files.src/and into integration support.mainbehavior.Notable dead code removed
apps/web/src/components/ui/card.tsxapps/web/src/components/ui/field.tsxapps/web/src/components/ui/fieldset.tsxapps/web/src/components/ui/form.tsxapps/web/src/components/ui/input-group.tsxapps/web/src/components/ui/kbd.tsxapps/web/src/components/ui/radio-group.tsxapps/web/src/historyBootstrap.tsapps/web/src/rpc/client.tsapps/server/src/orchestration/Errors.tsapps/server/src/orchestration/Schemas.tsapps/server/src/persistence/Errors.tsapps/server/src/observability/Server cleanup
keybindings.ts->keybindings.logic.tsopen.ts->open.logic.ts/open.shared.tscli.ts->cli.logic.tsbootstrap.ts->bootstrap.shared.tsserverRuntimeStartup.ts->serverRuntimeStartup.logic.tscodexAppServerManager.ts->codexAppServerManager.shared.tsgit/Layers/GitCore.ts->GitCore.shared.tsterminal/Layers/Manager.ts->Manager.shared.tsClaudeProvider.logic.ts/CodexProvider.shared.tsapps/server/integration/support/ProjectionCheckpoints.tsWeb cleanup
store.ts->store.logic.tsuiStateStore.ts->uiStateStore.logic.tsrpc/atomRegistry.testing.tsnativeApi.testing.tsBehavior
Validation
bun fmtbun lintbun typecheckbun run testbun run knipbun run knip -- --productionbun run knip -- --strictAll pass.
Checklist
Note
Medium Risk
Moderate risk because it refactors exported surfaces and moves logic across many server modules/tests; breakages will show up at build/typecheck time but runtime behavior could regress in edge paths (CLI config, git operations, Codex manager).
Overview
Adds a unified
bun run check(format/lint/typecheck/knip) and wires it into CI and contributor guidance, replacing separate quality steps.Refactors the server codebase to satisfy Knip and reduce exported surface area by moving pure/shared/test-only helpers into new
*.shared.ts,*.logic.ts, and*.testing.tsmodules (e.g.,cli.logic.ts,bootstrap.shared.ts,codexAppServerManager.shared.ts, and the largeGitCore.shared.tsextraction), and updating tests/integration harnesses to use testing-specific persistence layers and repositories. Minor cleanup includes tightening some previously-exported types/constants to internal scope and reclassifying workspace deps as runtime dependencies.Reviewed by Cursor Bugbot for commit 6e0a32f. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add Knip to enforce unused export hygiene across the monorepo
bun run checkscript in package.json that runsfmt:check,lint,typecheck, andknipin parallel; CI is updated to use this single step.apps/web,apps/server, andpackages/*are made internal or moved into.shared.ts,.logic.ts, or.testing.tsmodules so Knip passes cleanly.store.logic.ts,uiStateStore.logic.ts,terminalContext.shared.ts,keybindings.logic.ts,cli.logic.ts,open.logic.ts,open.shared.ts,GitCore.shared.ts,Manager.shared.ts(terminal), and others — each splitting testable/shared logic from layer/service entry points.Macroscope summarized 6e0a32f.