From 203368513fb1a0b9fca743104ed9e73f04750762 Mon Sep 17 00:00:00 2001 From: Johan Peltenburg Date: Thu, 9 Jul 2026 13:03:27 +0200 Subject: [PATCH 1/4] ci: add CodeRabbit review configuration Add a repo-root .coderabbit.yaml customizing CodeRabbit for quent's layout (Rust crates, TS/React ui, proto, docs, workflows). markdownlint is disabled since Markdown is already linted in CI via rumdl. Co-Authored-By: Claude Opus 4.8 (1M context) --- .coderabbit.yaml | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .coderabbit.yaml diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 000000000..e1a12324d --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,58 @@ +# yaml-language-server: $schema=https://storage.googleapis.com/coderabbit_public_assets/schema.v2.json +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +reviews: + profile: chill + high_level_summary: true + high_level_summary_in_walkthrough: true + poem: false + auto_review: + enabled: true + drafts: false + base_branches: + - "^main$" + ignore_usernames: ["rapids-bot", "copy-pr-bot", "dependabot[bot]"] + tools: + # Markdown is linted in CI via `rumdl fmt` (.rumdl.toml). + markdownlint: + enabled: false + shellcheck: + enabled: true + gitleaks: + enabled: true + sequence_diagrams: false + collapse_walkthrough: true + + # Reduce noise from status messages + request_changes_workflow: false + review_status: false + + path_instructions: + - path: "crates/**/*.rs" + instructions: | + For Rust changes: + - Flag unwrap/expect/panic on caller-reachable paths; prefer Result propagation. + - Check docstrings state the contract, not the mechanism; no restating types. + - Verify no new clippy-triggering patterns (needless clone, redundant lifetimes). + - Check pub API changes are reflected in docs and CONTRIBUTING where relevant. + - path: "ui/**/*.{ts,tsx}" + instructions: | + For the TypeScript/React UI: + - Verify types match the generated schema bindings; flag any `any`. + - Check hook dependency arrays and cleanup of subscriptions/effects. + - path: "proto/**/*" + instructions: | + For protobuf: flag field-number reuse and breaking wire changes. + - path: "docs/**/*" + instructions: | + For docs: verify examples match current API; new pages are linked in SUMMARY.md. + - path: ".github/workflows/**/*" + instructions: | + For CI workflows: check for unpinned actions and shell-injection in run steps. + +knowledge_base: + opt_out: false + code_guidelines: + filePatterns: + - "CONTRIBUTING.md" From 9adb62049f168ca4ab2144366c519f535266ead0 Mon Sep 17 00:00:00 2001 From: Johan Peltenburg Date: Thu, 9 Jul 2026 20:21:18 +0200 Subject: [PATCH 2/4] ci: narrow CodeRabbit path globs and use canonical schema URL Scope the proto and docs path_instructions to their intended file types (proto/**/*.proto, docs/**/*.md) so they no longer match Cargo.toml, lib.rs, book.toml, or .gitignore. Point the schema reference at the official coderabbit.ai endpoint. Co-Authored-By: Claude Opus 4.8 (1M context) --- .coderabbit.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index e1a12324d..5bfdd20bf 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://storage.googleapis.com/coderabbit_public_assets/schema.v2.json +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 @@ -41,10 +41,10 @@ reviews: For the TypeScript/React UI: - Verify types match the generated schema bindings; flag any `any`. - Check hook dependency arrays and cleanup of subscriptions/effects. - - path: "proto/**/*" + - path: "proto/**/*.proto" instructions: | For protobuf: flag field-number reuse and breaking wire changes. - - path: "docs/**/*" + - path: "docs/**/*.md" instructions: | For docs: verify examples match current API; new pages are linked in SUMMARY.md. - path: ".github/workflows/**/*" From f268e51ca1fbebb910cc3e6cf16dc6fa2d659fa6 Mon Sep 17 00:00:00 2001 From: Johan Peltenburg Date: Fri, 10 Jul 2026 09:11:40 +0200 Subject: [PATCH 3/4] Tweak --- .coderabbit.yaml | 48 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 5bfdd20bf..0700171e9 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -3,9 +3,9 @@ # SPDX-License-Identifier: Apache-2.0 reviews: - profile: chill - high_level_summary: true - high_level_summary_in_walkthrough: true + profile: quiet + high_level_summary: false + high_level_summary_in_walkthrough: false poem: false auto_review: enabled: true @@ -28,28 +28,46 @@ reviews: request_changes_workflow: false review_status: false + # Skip generated and lock files entirely. + path_filters: + - "!**/routeTree.gen.ts" + - "!examples/simulator/server/ts-bindings/**" + - "!Cargo.lock" + - "!pixi.lock" + - "!ui/pnpm-lock.yaml" + path_instructions: - path: "crates/**/*.rs" instructions: | - For Rust changes: - Flag unwrap/expect/panic on caller-reachable paths; prefer Result propagation. - - Check docstrings state the contract, not the mechanism; no restating types. - - Verify no new clippy-triggering patterns (needless clone, redundant lifetimes). - - Check pub API changes are reflected in docs and CONTRIBUTING where relevant. - - path: "ui/**/*.{ts,tsx}" + - Errors: explicitly written out error types or per-crate thiserror enums; never anyhow. + - Docstrings state the contract, not the mechanism; do not restate types. + - lib.rs curates the public surface via explicit `pub use`; keep internals pub(crate). + - Changes to persisted artifact formats must keep `quent open` working for prior-commit artifacts in the same PR. + - No unnecessary trait bounds; do not constrain types or implementations more than needed. + - path: "crates/**/Cargo.toml" instructions: | - For the TypeScript/React UI: - - Verify types match the generated schema bindings; flag any `any`. - - Check hook dependency arrays and cleanup of subscriptions/effects. - - path: "proto/**/*.proto" + - Dependencies come from [workspace.dependencies] via `workspace = true`; no git deps. + - New crates: edition 2024, publish = false, SPDX headers. + - path: "ui/**/*.{ts,tsx}" instructions: | - For protobuf: flag field-number reuse and breaking wire changes. + - Jotai atoms for UI state, TanStack Query for server state; no ad-hoc context stores. + - Never hand-edit generated files (routeTree.gen.ts, ts-rs bindings); fix the generator. + - Data fetching uses queryOptions wrappers with stable queryKey arrays and enabled guards. + - Merge classes via cn(), not string concatenation; use the `@` alias over deep relative imports. + - Virtualize large lists/tables (@tanstack/react-virtual); this UI renders big traces. + - noUncheckedIndexedAccess is off: watch unguarded indexed access into trace/event arrays. + - Large u64 ids/counts must go through parseJsonWithBigInt, not plain JSON.parse. + - Check hook dependency arrays and effect cleanup; flag any `any`. + - Components PascalCase one-per-file, hooks useXxx.ts; tests colocated as *.test.tsx (Vitest + Testing Library + MSW). - path: "docs/**/*.md" instructions: | - For docs: verify examples match current API; new pages are linked in SUMMARY.md. + - Verify examples match the current API; new pages must be linked in SUMMARY.md. + - Modeling spec pages follow the template: capitalized construct names, "Must have" / "May have" / "Mutually exclusive" sections with typed field bullets, plus Notes and Rationale. - path: ".github/workflows/**/*" instructions: | - For CI workflows: check for unpinned actions and shell-injection in run steps. + - Actions pinned to full commit SHAs with a version comment; checkout sets persist-credentials: false. + - Keep top-level least-privilege permissions blocks; flag shell-injection in run steps. knowledge_base: opt_out: false From 2235c8f562b190f18327e24b562355c4b09f55a1 Mon Sep 17 00:00:00 2001 From: Johan Peltenburg Date: Fri, 10 Jul 2026 09:16:57 +0200 Subject: [PATCH 4/4] Coderabbit, no --- .coderabbit.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 0700171e9..4e6bb116e 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -4,8 +4,9 @@ reviews: profile: quiet + # Don't edit the PR description, summary in CodeRabbit's own walkthrough comment only: high_level_summary: false - high_level_summary_in_walkthrough: false + high_level_summary_in_walkthrough: true poem: false auto_review: enabled: true