From 0affa206ce5c26de33b40338fa4b66e7827c8a62 Mon Sep 17 00:00:00 2001 From: Roomote Date: Mon, 7 Sep 2026 18:52:13 +0000 Subject: [PATCH 1/2] chore: refine CodeRabbit checks --- .coderabbit.yaml | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 2c8224e4fa..fb84745d69 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -11,6 +11,8 @@ chat: knowledge_base: web_search: enabled: true + learnings: + scope: local reviews: profile: assertive @@ -27,7 +29,7 @@ reviews: enabled: false drafts: false auto_incremental_review: true - auto_pause_after_reviewed_commits: 0 + auto_pause_after_reviewed_commits: 5 labels: - "coderabbit-review-active" @@ -128,8 +130,20 @@ reviews: during release preparation. Verify documentation describes real behavior and contracts, and deprioritize prose-only nits that do not affect correctness or usability. + finishing_touches: + docstrings: + enabled: false + pre_merge_checks: override_requested_reviewers_only: true + docstrings: + mode: off + title: + mode: warning + description: + mode: warning + issue_assessment: + mode: warning custom_checks: - name: Regression evidence mode: warning @@ -140,18 +154,32 @@ reviews: snapshot. Do not demand tests for unchanged behavior, mechanical configuration, or every branch without a plausible regression scenario. Cite the changed behavior and missing evidence. - - name: Trust and persistence invariants + - name: Security boundaries + mode: error + instructions: >- + Fail only when a concrete changed path leaks secrets or PII, trusts or executes + unvalidated input, or bypasses approval or allowlist controls. Cite the changed path + and a plausible triggering scenario; pass when no such changed path exists. + - name: Persistence integrity mode: error instructions: >- - Fail only for a concrete changed path that leaks secrets or PII, trusts or executes - unvalidated input, bypasses approval or allowlist controls, can lose persisted state due - to a missing await, non-atomic write, or omitted default propagation, or leaks lifecycle - resources. Cite the path and a plausible triggering scenario; pass when no such changed - path exists. + Fail only when a concrete changed persistence path can lose or corrupt state because an + operation is not awaited, a write is non-atomic, rollback or explicit partial-failure + behavior is missing, or a persisted default is not propagated to a consumer. Cite the + changed path and a plausible triggering scenario; pass when no such changed path exists. + - name: Lifecycle resource cleanup + mode: error + instructions: >- + Fail only when a concrete changed lifecycle path can leak a listener, watcher, provider, + timer, task, or other resource, or can duplicate work after cancellation, disposal, or + restart. Cite the changed path and a plausible triggering scenario; pass when no such + changed path exists. tools: eslint: enabled: true + github-checks: + enabled: true actionlint: enabled: true shellcheck: From aedeaa9cc79db2122cbbc5dec7edfcecdf69247f Mon Sep 17 00:00:00 2001 From: Elliott de Launay Date: Mon, 7 Sep 2026 23:51:14 +0000 Subject: [PATCH 2/2] chore: address review feedback and add coverage instructions from #1497 --- .coderabbit.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index fb84745d69..a31c1b2616 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -29,7 +29,7 @@ reviews: enabled: false drafts: false auto_incremental_review: true - auto_pause_after_reviewed_commits: 5 + auto_pause_after_reviewed_commits: 0 labels: - "coderabbit-review-active" @@ -63,6 +63,8 @@ reviews: cancellation, retry, and compatibility paths. Verify promises and errors are handled, existing helpers are reused, and new code introduces no `any`, unjustified double assertions, floating promises, duplicated helpers, or increased lint suppressions. + When a refactor adds early-return guards that redirect a subset of inputs to a new + code path, confirm the old branches for those inputs are removed or unreachable. - path: "{**/*.{test,spec}.{ts,tsx,js,jsx},**/__tests__/**}" instructions: >- @@ -78,6 +80,11 @@ reviews: Flag tests that assert in-flight behavior only after the call completes — these cannot prove the behavior fires during execution. Check that describe block names match the actual subjects of the tests they contain. + For tests that assert only mock call counts, confirm a corresponding return-value + assertion exists; a regression that silently returns stale fallback data can satisfy + a call-count check. For code with fallback behavior, verify both the cold-start case + (no prior state) and the warm case (prior state exists) are covered, as they exercise + different branches. - path: "apps/vscode-e2e/**" instructions: >- @@ -117,6 +124,9 @@ reviews: Check persistence and lifecycle invariants: awaited atomic writes, rollback or explicit partial-failure behavior, cross-window state consistency, stale listeners/watchers, cancellation, idempotency, and safe restart/resume without lost or duplicated state. + For async functions that read shared mutable state before an `await` and write it back + after, verify the captured reference is still valid when the write executes; a concurrent + mutation during the await can cause a stale snapshot to overwrite a newer state. - path: ".github/**" instructions: >-