ci(knip): enforce desktop exports#10269
The desktop export audit was clean locally but was not part of the long-term Knip gate. This adds apps/desktop to the runtime-export check and updates the maintainer guidance; exported types and Effect schemas remain allowed.
This is layer 5 of 5 in the desktop Knip cleanup stack.
Verification: vp run knip:check; desktop typecheck; 831 desktop tests; changed-file lint and format checks. The native libsecret test cannot start on this machine because the system libsecret-1 development package is unavailable.
Model: gpt-6 astra. Harness: Codex in T3 Code.
Note
Add apps/desktop to knip:check export coverage
Extends the knip:check script in package.json to scan apps/desktop for unused runtime exports, alongside the existing apps/web and packages/ workspaces. Updates the related docs in docs/operations/development.md. Risk: any currently-unused desktop exports will now fail the Knip check in CI.
Macroscope summarized fae727e.
Summary by CodeRabbit
Documentation
- Updated development documentation to clarify that unused-code checks include runtime exports in the desktop application.
Chores
- Expanded the unused-code validation command to scan the desktop application alongside existing workspaces.
Approvability
Verdict: Approved at fae727e
Macroscope's review found this PR approvable โ The PR only documents and expands the existing Knip unused-export check to include the desktop workspace. Its effect is limited to local/CI static-analysis results and does not change application runtime behavior or production deployment.
You can add or adjust custom eligibility rules. Learn more.
Thread transfer impact
โ Thread transfer remains within every enforced ceiling.
โน๏ธ No successful
mainbaseline artifact is available yet. This run establishes the initial measurement.
| Provider | Metric | Main baseline | This PR | Impact | PR ceiling | |
|---|---|---|---|---|---|---|
| Codex | Total thread wire | โ | 13.6 KiB | โ | 15.1 KiB | โ |
| Codex | Thread snapshot wire | โ | 7.0 KiB | โ | 7.3 KiB | โ |
| Codex | Live turn WebSocket wire | โ | 6.5 KiB | โ | 7.8 KiB | โ |
| Codex | Live turn WebSocket decoded | โ | 57.1 KiB | โ | 66.4 KiB | โ |
| Codex | Live turn messages | โ | 10 | โ | 21 | โ |
| Claude | Total thread wire | โ | 13.6 KiB | โ | 15.1 KiB | โ |
| Claude | Thread snapshot wire | โ | 7.1 KiB | โ | 7.3 KiB | โ |
| Claude | Live turn WebSocket wire | โ | 6.5 KiB | โ | 7.8 KiB | โ |
| Claude | Live turn WebSocket decoded | โ | 57.8 KiB | โ | 66.4 KiB | โ |
| Claude | Live turn messages | โ | 9 | โ | 21 | โ |
Baseline: unavailable ยท PR result: fae727e ยท Source CI: success
Scenario and decoded snapshot size
10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
- Codex decoded thread snapshot: 113.9 KiB
- Claude decoded thread snapshot: 114.6 KiB
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.
Added 1 commit
- ci(knip): enforce desktop exportsfae727e
Bugbot is paused โ on-demand spend limit reached
Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.
A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.
No actionable comments were generated in the recent review. ๐
โน๏ธ Recent review info
โ๏ธ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Team
Run ID: a0776c16-e52b-4712-a2ce-acfacb75f723
๐ฅ Commits
Reviewing files that changed from the base of the PR and between 3dc5b7c12bb3aad2e0fd16114f9a51ab22a3058f and fae727ecfea610247e5c5d7f7586277b9c376649.
๐ Files selected for processing (2)
docs/operations/development.mdpackage.json
Included review availability: 8 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour.
๐ Walkthrough
Walkthrough
The knip:check script now analyzes apps/desktop. The development documentation records this additional coverage.
Changes
Knip coverage
| Layer / File(s) | Summary |
|---|---|
Update Knip coverage package.json, docs/operations/development.md | The knip:check command includes apps/desktop. The development documentation describes the expanded workspace coverage. |
Estimated code review effort: 1 (Trivial) | ~2 minutes
Merge Risk: โช Minimal ยท up to fae72
Desktop runtime-export checks are added to the existing Knip command, and the development documentation reflects that coverage. The change is ready to merge.
Suggested reviewers: t3dotgg
๐ฅ Pre-merge checks | โ 5
โ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | โ Passed | The title clearly and concisely describes the main change: enforcing desktop export checks in Knip. |
| Description check | โ Passed | The description clearly explains the change, the reason, verification performed, and the unavailable native libsecret test. It omits the template checklist, but the description is otherwise complete aโฆ |
| Docstring Coverage | โ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0โฆ |
| Linked Issues check | โ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | โ Passed | Check skipped because no linked issues were found for this pull request. |
โจ Finishing Touches
๐งช Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
cleanup-desktop/knip-gate
Comment @coderabbitai help to get the list of available commands.