Skip to content

[Chore] Close lint coverage and knip hygiene gaps - #2280

Merged
edelauna merged 3 commits into
mainfrom
fix/lint-knip-hygiene-2jj44n69c6pch
Nov 1, 2026
Merged

edelauna merged 3 commits into
mainfrom
fix/lint-knip-hygiene-2jj44n69c6pch

Conversation

@zoomote2

@zoomote2 zoomote2 Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

​Created by Roomote. Follow up by mentioning @roomote, in the web UI, or in Discord.

Related GitHub Issue

No GitHub issue number was supplied with this maintenance request.

Description

This change closes the lint-coverage and knip-hygiene quick wins from the tooling audit. It supports Reliability First by making local and CI checks cover the same files.

  • Lint now covers all CLI TSX files, the webview Playwright tree, and the shared ESLint config package.
  • The webview Docker script has a scoped Node global for process.
  • Knip no longer needs the five reported config exceptions. Config hints now fail both knip modes.
  • The four requested Code QA jobs use frozen lockfiles.
  • Root formatting now covers the same files as the CI format check.
  • Root type checking now includes scripts/*.ts. Two small script type errors are fixed.
  • The knip policy fixture now matches the webview Vite entry setup.

There are no user-facing functionality changes. No React rules were added to the CLI. The broad E2E and root script knip ignores remain unchanged.

Test Procedure

  • pnpm lint: 12 tasks passed.
  • pnpm check-types: the root script gate and 11 package tasks passed.
  • pnpm test: 14 tasks passed. This included 12,003 extension tests and 2,245 webview tests.
  • pnpm knip: zero findings and zero config hints.
  • pnpm knip:production: zero findings and zero config hints.
  • pnpm test:knip-policy: 8 tests passed.
  • pnpm test:code-qa-ci: 6 tests passed.
  • pnpm format:check: passed.

Pre-Submission Checklist

  • Issue Linked: No GitHub issue number was supplied with this request.
  • Scope: My changes focus on the requested lint, knip, and CI hygiene work.
  • Self-Review: I reviewed my own code with care.
  • Writing Style: The PR title and description use Simplified Technical English.
  • Testing: I updated the affected knip and workflow policy tests.
  • Test Helpers: Not applicable. This PR does not change shared test helpers.
  • Visual Snapshot: Not applicable. This PR has no UI changes.
  • Documentation Impact: No user-facing documentation updates are required.
  • Contribution Guidelines: I read and agree to the Contributor Guidelines.

Visual Snapshots

Not applicable. This PR has no UI changes.

Videos (interaction / animation only)

Not applicable. This PR has no interaction or animation changes.

Documentation Updates

  • No documentation updates are required.
  • Yes, documentation updates are required.

Additional Notes

Earlier full runs hit the known __tests__/extension.spec.ts activation and focus-tracker flake. The spec passed alone with 24 tests. The final full run passed with no source changes between runs.

Visual proof is not applicable because this PR only changes tooling and test configuration.

Get in Touch

0x7777777_

@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 1
  • coderabbit-review-active

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

@zoomote2

zoomote2 Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor Author

No new code issues found. The only new commit is a merge of main; its single conflict resolution in webview-ui/eslint.config.mjs keeps both the PR rules and the new main rules intact, and CI on this commit reports no failures so far. See session

Reviewed 07fb3e1

@zoomote2

zoomote2 Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

Self-review summary

I reviewed the complete 13-file diff against main. I found no blocking issues.

  • The new lint coverage uses the existing shared configs. The only new rule override grants process to playwright/run-docker.mjs. The CLI does not gain React rules.
  • config-eslint lints itself through its own Base flat config and now runs in the root Turbo lint task.
  • The root script typecheck uses the same module resolution and relevant strictness settings as the extension code imported by those scripts. The only source fixes are a type annotation and a required HistoryItem.number fixture value.
  • Removing the five knip hints did not add findings. The updated policy fixture mirrors the real webview Vite entry and keeps the production-graph assertion meaningful.
  • Both knip scripts now reject future config hints. The Code QA policy test asserts that contract.
  • The CI change only adds frozen-lockfile installs to the four requested jobs. Root format and format:check now use the same Prettier surface.
  • No suppressions, runtime product code, changesets, or user-facing documentation changed.

Validation on the final branch passed: 12 lint tasks, the root script typecheck plus 11 package typechecks, 14 test tasks with 12,003 extension and 2,245 webview tests, both knip modes with zero hints, 8 knip policy tests, 6 Code QA policy tests, and the full Prettier check. Earlier runs hit the known __tests__/extension.spec.ts flake. That file passed alone with 24 tests, and the final full run passed.

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Review status

This PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging.

Current step: The required review sequence passed. Remaining merge requirements apply.

Review-state labels are managed by this workflow; do not edit them manually. community-approved is managed the same way — do not add or remove it manually. It signals a fresh community code approval for the current head as an advisory priority only; maintainer review is still required.

@codecov

codecov Bot commented Oct 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@edelauna
edelauna marked this pull request as ready for review October 31, 2026 19:26
@github-actions github-actions Bot added the awaiting-maintainer CodeRabbit approved; waiting for a human maintainer label Oct 31, 2026
@github-actions github-actions Bot removed the awaiting-maintainer CodeRabbit approved; waiting for a human maintainer label Oct 31, 2026
edelauna
edelauna previously approved these changes Oct 31, 2026
@edelauna
edelauna enabled auto-merge October 31, 2026 20:11
@edelauna
edelauna added this pull request to the merge queue Oct 31, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 31, 2026
…-2jj44n69c6pch

# Conflicts:
#	webview-ui/eslint.config.mjs
@github-actions github-actions Bot added has-conflicts PR has merge conflicts with the base branch awaiting-author PR is waiting for the author to address requested changes labels Oct 31, 2026
@github-actions github-actions Bot added awaiting-maintainer CodeRabbit approved; waiting for a human maintainer and removed has-conflicts PR has merge conflicts with the base branch awaiting-author PR is waiting for the author to address requested changes labels Oct 31, 2026
@edelauna
edelauna enabled auto-merge November 1, 2026 00:51
@edelauna
edelauna added this pull request to the merge queue Nov 1, 2026
@github-actions github-actions Bot removed the awaiting-maintainer CodeRabbit approved; waiting for a human maintainer label Nov 1, 2026
Merged via the queue into main with commit 2368339 Nov 1, 2026
21 checks passed
@edelauna
edelauna deleted the fix/lint-knip-hygiene-2jj44n69c6pch branch November 1, 2026 01:10
edelauna added a commit that referenced this pull request Nov 2, 2026
* chore: close lint and knip hygiene gaps

* fix: address review findings on lint and knip hygiene

---------

Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Elliott de Launay <edelauna@gmail.com>
easonLiangWorldedtech added a commit to easonLiangWorldedtech/Zoo-Code that referenced this pull request Nov 3, 2026
Upstream Zoo-Code-Org#2280 dropped the global "**/__tests__/**!" knip ignore, so
rollback.ts is now reachable through its spec in the development run.
The leftover "src/core/checkpoints/rollback.ts" ignore entry therefore
became a configuration hint, which "knip --treat-config-hints-as-errors"
turns into a knip failure, while "knip --production" still needs the file
excused because no production consumer exists in this unit yet.

Express the same intent with the workspace's existing "!" entry convention
(core/checkpoints/rollback.ts!) and drop the redundant ignore entry.
Locally: knip, knip --production and node --test scripts/knip-policy.test.mjs
all pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants