Repository navigation
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
163 lines (162 loc) · 9.58 KB
/
Copy path.coderabbit.yaml
File metadata and controls
163 lines (162 loc) · 9.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
# Docs: https://docs.coderabbit.ai/getting-started/configure-coderabbit/
language: "en-US"
tone_instructions: "Prefer concise, actionable review comments. When a fix is concrete and safe, include a GitHub Suggested Change so it can be applied with one click."
early_access: false
reviews:
profile: "chill"
request_changes_workflow: false
high_level_summary: true
# John likes the poems, no messing
poem: true
review_status: true
review_details: true
collapse_walkthrough: false
enable_prompt_for_ai_agents: true
auto_review:
enabled: true
drafts: true
auto_incremental_review: true
auto_pause_after_reviewed_commits: 5
# Include reviewable source areas explicitly so support-matrix CSV diffs are
# reviewed even though CSV files are normally skipped by default.
path_filters:
- ".claude/skills/**"
- ".claude/**"
- ".github/**"
- "collector/**"
- "docker/**"
- "docs/**"
- "aic-core/**"
- "src/**"
- "tests/**"
- "tools/**"
- ".dockerignore"
- ".gitattributes"
- ".gitignore"
- ".pre-commit-config.yaml"
- "LICENSE"
- "*.md"
- "*.ini"
- "*.js"
- "*.json"
- "*.toml"
- "*.yaml"
- "*.yml"
- ".coderabbit.yaml"
path_instructions:
- path: "**/*"
instructions: |
- Prefer applicable inline comments. When the correct fix is clear, small, and limited to the commented diff hunk, include it as a GitHub Suggested Change so the author can apply it with one click.
- Do not use a suggested change when the fix requires broader design choices, multiple files, generated artifacts, unavailable context, or validation that cannot be inferred from the diff.
- If a comment is not directly applicable, state the smallest concrete next step and why a one-click suggestion is not safe.
- path: ".claude/skills/**/SKILL.md"
instructions: |
- This file is a skill definition. Apply contract consistency rules when `## Inputs` or `## Outputs` sections are present.
- If the skill references another skill by name, verify expected field names match the callee's declared outputs and required inputs.
- If the skill declares outputs consumed by another skill, verify callers remain compatible with the updated output fields.
- Do not flag missing `## Inputs` or `## Outputs` sections by themselves; enforce these checks only when the sections exist.
- path: "src/aiconfigurator/generator/**"
instructions: |
- Enforce the generator development rules from `.claude/rules/generator-development.md`.
- Trace changes across the pipeline: input parsing, defaults, rule evaluation, parameter mapping, template rendering, and emitted artifacts.
- For `.j2` templates and `.rule` files, verify `# Guard:` and `# Why:` comments are preserved and followed. Flag removals or bypasses unless the PR explicitly justifies them.
- Check cross-backend consistency across TRT-LLM, vLLM, and SGLang when a backend-specific rule, template, parameter, or versioned artifact changes.
- For new user-facing generator parameters, require matching CLI, SDK/profiler bridge, generator validator, docs, and test coverage updates where applicable.
- For versioned template changes, verify the affected backend versions against `src/aiconfigurator/generator/config/backend_version_matrix.yaml`.
- path: "collector/**"
instructions: |
- Enforce the collector rules from `.claude/rules/collector/layer_permissions.md`, `failure_handling.md`, and `case_authoring.md`.
- Flag any silent case skip in collector code (a queued case may only execute or raise); the sole sanctioned filter is generation-time memory feasibility with counted drops.
- Flag invented fallbacks on both ends: generation must raise on unresolvable declarations (never substitute defaults or another model's geometry); collectors must never swap in a different backend/kernel than the framework's own dispatch selects — manual pins require framework source citations.
- Flag any reintroduction of selector/exception machinery (case_ids/contains/indices/ranges/limit/rules, sm_exceptions-style shape or version predicates) in YAML or code.
- Capability floors (`cases/capabilities.yaml`) may hold hardware facts only: no shapes, no framework versions, no per-backend nesting. `cases/denylist.yaml` is for hang/node-killers only, dated.
- Collector changes must stay within `collector/` and `tests/unit/collector/`; flag producer+consumer contract changes (perf row schema, PerfFile names) unless the PR explicitly declares them.
- Check collector changes for backend/runtime version accuracy, GPU resource assumptions, reproducible command construction, and clear failure evidence.
- Flag changes that make support-matrix or perf-data results harder to trace back to the command, model, system, quantization, or runtime version that produced them.
- path: "src/aiconfigurator/cli/**"
instructions: |
- Check that CLI argument changes preserve backward compatibility, validation behavior, defaults, and plain-output expectations.
- For new or changed user-facing options, verify docs updates and generator/SDK wiring.
- Watch for non-TTY assumptions in tests or output formatting.
- path: "src/aiconfigurator/sdk/**"
instructions: |
- Verify SDK API changes remain compatible with generator inputs, profiler data flow, and documented examples.
- Flag silent schema or field-name drift between SDK models and generator/module bridge code.
- path: "aic-core/src/aiconfigurator_core/sdk/**"
instructions: |
- Verify core SDK API changes remain compatible with legacy aiconfigurator.sdk imports, generator inputs, profiler data flow, and documented examples.
- Flag upper-layer dependencies or silent schema drift introduced into the minimal core distribution.
- path: "aic-core/src/aiconfigurator_core/sdk/operations/**"
instructions: |
- Enforce `.claude/rules/rust-core/parity.md` Rule 2 and its executable contract, tests/cross_package/test_single_oracle_contract.py; flag any change those sources prohibit.
- path: "aic-core/src/aiconfigurator_core/sdk/perf_database.py"
instructions: |
- Enforce `.claude/rules/rust-core/parity.md` Rule 2 and tests/cross_package/test_single_oracle_contract.py for the `query_*` surface. Data loading remains in scope for this file and fine to extend.
- path: "src/aiconfigurator/generator/module_bridge.py"
instructions: |
- Treat this as a compatibility bridge between profiler/SDK outputs and generator inputs.
- Flag field renames, default changes, or type conversions unless corresponding tests and downstream generator expectations are updated.
- path: "tools/generator_validator/**"
instructions: |
- Check that validator changes keep generated artifact coverage aligned across supported backends and versions.
- For new generator flags or templates, verify the validator inspects the new emitted behavior instead of only command success.
- path: "tools/support_matrix/**"
instructions: |
- Check support-matrix logic for deterministic ordering, duplicate-row handling, runtime/version matching, and clear PASS/FAIL semantics.
- Verify changes distinguish collector/probe failures from actual model/backend support failures.
- path: "aic-core/src/aiconfigurator_core/systems/support_matrix/**"
instructions: |
- Review support-matrix CSV updates as source-of-truth compatibility data, not generated noise.
- Check that model, backend, runtime version, GPU system, quantization, tensor/pipeline/expert parallelism, and PASS/FAIL wording are internally consistent.
- Flag stale or contradictory rows, duplicate keys, or claims that are not supported by linked evidence in the PR.
- path: "tests/**"
instructions: |
- Check that tests cover the changed behavior rather than only the happy path.
- Watch for fixtures or golden outputs that mask backend drift, support-matrix ordering changes, or CLI output regressions.
- path: ".github/workflows/**"
instructions: |
- Review workflow edits for least-privilege permissions, safe trigger scopes, secret exposure, fork behavior, and release/cherry-pick side effects.
- Verify matrix jobs, artifact uploads, and scheduled support-matrix workflows still produce debuggable evidence.
- path: "docs/**"
instructions: |
- Check that docs match changed CLI, SDK, generator, backend, and support-matrix behavior.
- Flag docs that describe unsupported runtimes, stale command names, or behavior not covered by tests or support-matrix evidence.
suggested_labels: false
suggested_reviewers: false
sequence_diagrams: false
related_issues: false
related_prs: false
finishing_touches:
docstrings:
enabled: false
unit_tests:
enabled: false
pre_merge_checks:
docstrings:
mode: off
tools:
ruff:
enabled: true
shellcheck:
enabled: true
yamllint:
enabled: true
markdownlint:
enabled: true
github-checks:
enabled: true
timeout_ms: 900000
gitleaks:
enabled: true
trufflehog:
enabled: true
knowledge_base:
code_guidelines:
enabled: true
filePatterns:
- ".claude/rules/**/*.md"
chat:
auto_reply: true