Skip to content

chore(coderabbit): enable proplus review config - #94

Merged
github-actions[bot] merged 1 commit into
mainfrom
dev/coderabbit-proplus-20260516155428
May 16, 2026
Merged

chore(coderabbit): enable proplus review config#94
github-actions[bot] merged 1 commit into
mainfrom
dev/coderabbit-proplus-20260516155428

Conversation

@ANcpLua

@ANcpLua ANcpLua commented May 16, 2026

Copy link
Copy Markdown
Owner

What changed

  • Replace or add the repo-root CodeRabbit v2 config with a Pro+ / Enterprise-grade setup.
  • Enable request-changes workflow, failing commit status, expanded review details, linked issues/PRs, sequence diagrams, cross-repository knowledge, web search, MCP knowledge, code generation guidance, issue enrichment, slop detection, and custom finishing-touch recipes.
  • Add repo-aware path instructions while preserving existing bespoke guidance where present.
  • Enable relevant security/static-analysis tools and explicit pre-merge checks for generated-file drift, secrets/PII, async/cancellation safety, public contract drift, CI/release safety, test risk, dependency hygiene, observability, hidden fallbacks, and copy-paste tables.

Why

We have the paid CodeRabbit capacity; this makes CodeRabbit spend it on review depth instead of staying on the old advisory baseline.

Validation

  • Generated from the current CodeRabbit v2 schema reference (https://coderabbit.ai/integrations/schema.v2.json, docs last updated 2026-05-10).
  • Validated .coderabbit.yaml locally against the live schema before pushing this branch.

@github-actions

Copy link
Copy Markdown

@coderabbitai autofix

@github-actions
github-actions Bot enabled auto-merge (squash) May 16, 2026 13:59
@coderabbitai

coderabbitai Bot commented May 16, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

Pull request was closed or merged during review

.coderabbit.yaml Configuration Upgrade to Pro+/Enterprise Grade

Behavior Changes:

  • Enabled request_changes_workflow: true to enforce blocking on pre-merge safety failures (toggled from advisory posture in commit bc06b2e)
  • Changed review UI collapse strategy: collapse_walkthrough: false with changed_files_summary: true for expanded inline detail instead of collapsed tabs
  • Enabled sequence_diagrams: true, auto_incremental_reviews: true, drafts_enabled: true, and fail_commit_status: true to surface control-flow analysis and block merges on failed checks
  • Recalibrated review tone to "principal/staff-level" focus on risk surface, validation evidence, generated artifacts, and cross-repo contract drift; explicitly excludes praise/filler
  • Enabled early_access: true and enable_free_tier: false to access latest Pro+ capabilities

Risk Surface Expansion (5 error-mode + 6 warning-mode checks):

Error-mode (fail) checks:

  • Secrets/PII via gitleaks + trufflehog + presidio (critical)
  • Generated-file drift enforcement with regeneration intent verification (critical)
  • Async/CancellationToken safety and suppression hygiene (covers sync-over-async, fire-and-forget work, missing token propagation, sleep-based sync)
  • Public contract documentation (XML docs, endpoint schemas, config keys, MCP tool schemas require explicit compatibility notes)
  • CI/release workflow safety (no unsafe secrets, no caching mismatches)

Warning-mode checks: test-matching risk, copy-paste table detection, hidden fallback paths (silent nulls/defaults), observability boundary instrumentation, dependency hygiene, and infrastructure-as-code linting (actionlint/yamllint/checkov/trivy/osvScanner).

Path-Specific Guidance (12 distinct rule sets):

  • C#/.NET core: flags sync-over-async patterns, missing CancellationToken, DateTime.Now in domain logic, null-forgiving operators without proof, catch-and-fallback paths
  • Stable vs. preview package boundaries: src/ANcpLua.Agents/** enforces limited preview suppressions and no-leak of preview MAF types into public API; src/ANcpLua.Agents.Testing*/** lower stability bar but requires deterministic fixtures and no sleep-based sync
  • Generated files (.g.cs, .g.ts, .g.sql, Designer.cs): no hand-editing; require source-model changes in same PR
  • Tests: xUnit/FluentAssertions/NSubstitute discipline; live-API tests gated behind env vars with no PII leakage
  • Docs (markdown): executable team memory; flag stale instructions, version/layout mismatches, and AGENTS.md/CLAUDE.md coherence
  • Build system (src/Build/**, Version.props): validate SDK-import semantics, version.props against dependency tree, preview package markers (NU5104 X.Y.Z-preview.N)
  • GitHub Actions: immutable SHA pinning, minimal permissions, tokenless OIDC preservation, no force-push/admin-bypass behavior

Finishing Touches Automation:

  • Enabled docstring generation and unit test coverage suggestions
  • 5 custom analysis passes:
    • Architecture hardening (backward-compat, API sealing, hidden fallback paths, tangled responsibilities)
    • Security pass (injection, path traversal, unsafe deserialization, authz/authn drift, overbroad logging)
    • Test gap closure (edge cases, regression coverage, boundary conditions)
    • Docs/changelog alignment (release-notes-readiness, migration guides, obsolete markers)
    • Performance/allocation (hot-path allocation, closure captures, GC pressure)

Cross-Repo Integration:

  • Configured 16 linked ANcpLua ecosystem repositories (Analyzers, NET.Sdk, Roslyn.Utilities, OtelConventions, Arqio, ErrorOrX, etc.) with instructions for API/package/build/telemetry/agent contract cross-checking
  • Mapped MAF (Microsoft Agent Framework) preview API boundaries via MAF1.4Mapping.md with version-pinning coordination through Version.props single source of truth
  • Auto-planning for issue enrichment and linked repository context

Validation & Metadata:

  • Schema-backed configuration from live CodeRabbit v2 schema (docs: 2026-05-10)
  • Semantic commit format validation: ^(feat|fix|chore|docs|refactor|ci|perf|test|build)(\(.+\))?: .{8,}$ with max 72 characters
  • Docstring coverage-drift checking (75% warning threshold, updatable to 80%)
  • Conventional commits with area-scope labeling (area:api, area:build, area:security, area:agents, area:maf, area:generated, breaking, etc.)

Generated Artifacts & Scope:

  • Configuration regenerated: +606 / −263 lines (680 total)
  • No public entity exports affected
  • Replaces narrow C#-specific check set with multi-language, multi-tool architecture
  • Intentional enforcement: request-changes enabled to block unsafe PRs; generator regeneration required; no hand-edited generated files

Walkthrough

This PR regenerates .coderabbit.yaml with a substantially expanded CodeRabbit Pro configuration. Changes include enabling request-changes workflow, expanding path-scoped guidance, reworking pre-merge checks with a broader custom validation suite, enabling security/analysis tools, and integrating cross-repo knowledge and issue automation.

Changes

CodeRabbit Pro Configuration Overhaul

Layer / File(s) Summary
Review posture and path-scoped guidance
.coderabbit.yaml
Top-level review behavior enables request-changes workflow, adjusts UI outputs (collapse_walkthrough, sequence_diagrams, changed_files_summary), and introduces path-specific instructions for C# stable/preview packages, tests, props/version files, workflows, documentation, and generated outputs.
Pre-merge checks and validation gates
.coderabbit.yaml
Title requirements tightened; pre_merge_checks docstring mode/threshold updated. custom_checks substantially rewritten with new pass/fail criteria: secrets/PII detection, generated-file regeneration enforcement, async/cancellation safety, public contract documentation, CI/release safety, plus warning checks for test matching risk, hidden fallback paths, observability boundaries, and dependency hygiene. finishing_touches expanded with architecture hardening, security, test gap closure, and docs/changelog passes.
Tool enablement and security scanning
.coderabbit.yaml
Enables gitleaks, trufflehop, checkov, actionlint, yamllint, trivy, osvScanner, presidio; adjusts timeouts and analysis tool parameters. Chat policy updated: non-org member allowance and auto-reply settings.
Knowledge base and issue automation
.coderabbit.yaml
Knowledge base configuration expands with broader code-guideline patterns, MCP usage enabled, linked_repositories context introduced for cross-repo review. code_generation instructions added for docstrings/XML docs and unit test generation. Issue enrichment planning/auto-planning enabled with expanded labeling instructions and auto-apply.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

area:infra, area:security


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore (reviewers only)

❌ Failed checks (2 errors, 4 warnings)

Check name Status Explanation Resolution
Generated Files Regenerated ❌ Error .coderabbit.yaml marked as generated but contains 3 hand-edited problematic additions: overly-broad code_guidelines patterns, slop label for issues, path_filters excluding validation gates. Remove the 3 problematic sections per review or regenerate cleanly from schema.
Async And Cancellation Safe ❌ Error Four public async helper methods lack CancellationToken parameters and don't propagate tokens to internal async calls (WatchStreamAsync, RunStreamingAsync, File.WriteAllTextAsync). Add CancellationToken param to PrintWorkflowFinalMessageAsync, PrintAgentResponseStreamAsync, PrintToMarkdownAsync, PrintWorkflowExecutionEventsAsync. Pass to async calls.
No Copy Paste Tables ⚠️ Warning PR introduces hand-maintained mapping tables: 17 linked_repositories with identical instructions, 36+ tools with repetitive enabled structures. These should be data-driven instead. Separate linked_repositories into repo list + instruction template. Generate tools section from canonical list to reduce duplication and maintenance burden.
No Hidden Fallback Path ⚠️ Warning BitNetFixture silently falls back to legacy endpoint. Only Docker path tested; legacy fallback untested. Violates requirement for tested fallback documentation. Document endpoint fallback as product requirement. Add tests for Docker-unavailable scenarios. Distinguish cancellation from network failures in ProbeHealthAsync.
No Null-Forgiving Operator Without Justification ⚠️ Warning 35 null-forgiving operators added without inline comments. Examples: options.Endpoint!, content=null!, return content!, null!/_agent assignments, .Data! in LINQ chains. Add inline comments to all 35 null-forgiving operators explaining why null-suppression is safe (e.g., // validated above, // always populated in setup, // guaranteed non-null by LINQ filter)
No Preview-Type Leak Into Stable Surface ⚠️ Warning PR exposes experimental Microsoft.Extensions.AI types in public methods (ChatMessage, ChatOptions, ChatResponse, AIFunction) without [Experimental] or [RequiresPreviewFeatures] attributes. Mark public types/methods in ToolDecoratingChatClient, AgentCallGuard, AgentsHelper with [Experimental] or [RequiresPreviewFeatures] attributes to properly surface preview-type usage.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed Title follows conventional commits format with area scope, is 47 characters (under 72), has no trailing punctuation, and accurately identifies the highest-impact change: enabling Pro+ CodeRabbit configuration.
Description check ✅ Passed Description is directly related to the changeset, detailing the configuration replacement, enabled features, security tools, and pre-merge checks—all reflected in the .coderabbit.yaml modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
No Secrets Or Pii ✅ Passed PR adds no secrets, tokens, credentials, or PII. All secret references are GitHub Actions placeholders or synthetic test fixtures. No hardcoded keys or sensitive logs.
Public Contract Documented ✅ Passed PR modifies only .coderabbit.yaml (CodeRabbit config), which is not a public contract. Summary confirms no public entities changed. Check is not applicable to configuration-only changes.
Ci Release Safety ✅ Passed No CI/release safety violations found. Required checks enforced via branch protection. OIDC auth used instead of secrets. Build validation required before publish.
Tests Match Risk ✅ Passed PR contains only configuration/infrastructure changes (.coderabbit.yaml, workflows, build files, docs). No production behavior changes occur, so Tests Match Risk check is not applicable.
Observability Boundary ✅ Passed Configuration-only change: .coderabbit.yaml modified, no source code. Check applies to NEW services/jobs/queues/clients added to codebase; none are added here.
Dependency Hygiene ✅ Passed Dependencies centralized via Directory.Packages.props with transitive pinning. Security vulnerabilities documented. No inline version specs. Follows .NET package manager conventions.
No Datetime.Now/Utcnow ✅ Passed PR modifies only .coderabbit.yaml (configuration). No C# files added/modified, so DateTime.Now/UtcNow check is inapplicable.
No .Result/.Wait() Blocking Async ✅ Passed PR modifies only .coderabbit.yaml (config). No C# files changed. Custom check applies to C# files only; vacuously passes with zero C# modifications.
Suppressions Limited To Meai001/Openai002 ✅ Passed No C# files are added or modified in this PR. The custom check scans for suppressions in added/modified C# files—since none exist, no suppressions can be present.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev/coderabbit-proplus-20260516155428
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch dev/coderabbit-proplus-20260516155428
  • 🛠️ architecture hardening
  • 🛠️ security pass
  • 🛠️ test gap closure
  • 🛠️ docs and changelog alignment
  • 🛠️ performance and allocation pass

Warning

Review ran into problems

🔥 Problems

Linked repositories: Your configuration references 17 linked repositories, but your current plan allows 10. Analyzed ANcpLua/ANcpLua.Analyzers, ANcpLua/ANcpLua.NET.Sdk, O-ANcppLua/ANcpLua.OtelConventions.Api, ANcpLua/ANcpLua.Roslyn.Utilities, ANcpLua/Arqio, ANcpLua/BSc_2025_Alexander_Nachtmann, ANcpLua/C64AIToolChain, ANcpLua/ErrorOrX, O-ANcppLua/Nuke.OpenTelemetry.Conventions, ANcpLua/Paperless, skipped ANcpLua/ancplua-claude-plugins, ANcpLua/dotcov, ANcpLua/nhmw-digital-collection, O-ANcppLua/qyl, ANcpLua/safe-autoresearch, ANcpLua/typespec-otel-semconv, ANcpLua/yt-transcript.


Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai

coderabbitai Bot commented May 16, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found.

@claude

claude Bot commented May 16, 2026

Copy link
Copy Markdown

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@codacy-production codacy-production Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a comprehensive upgrade to the repository's automated review configuration, introducing advanced security tools (TruffleHog, Gitleaks, Semgrep) and repository-aware guidance for .NET development.

While the configuration is functionally valid according to Codacy standards, there is a logic contradiction: the path_filters section excludes generated files, which prevents the newly added 'Generated-output discipline' instructions and regeneration checks from ever being executed. Furthermore, the issue enrichment section contains PR-specific logic likely resulting from a copy-paste error. Addressing these logic gaps is necessary to fully realize the benefits of the Pro+ configuration tier.

Test suggestions

  • Verify that request_changes_workflow is enabled to allow automated blocking of unsafe PRs.
  • Verify that linked_repositories includes the specified sister ANcpLua repositories for cross-repo context.
  • Confirm that the 'No Secrets Or PII' pre-merge check is set to error mode.
  • Verify that path_instructions for C# files enforce the use of TimeProvider and CancellationToken.
  • Confirm that slop_detection is enabled with the 'review:slop' label.
  • Verify that code_generation guidance is provided for both XML documentation and unit tests.

TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback

Comment thread .coderabbit.yaml
Comment on lines +630 to +680
labeling_instructions:
- label: area:api
instructions: Apply when REST, RPC, MCP, public endpoints, contracts, or request/response
models change.
- label: area:ui
instructions: Apply when frontend UI, styling, accessibility, or client-side
state changes.
- label: area:build
instructions: Apply when build scripts, NUKE/MSBuild, package managers, Docker,
CI, or release automation change.
- label: area:test
instructions: Apply when tests, fixtures, test infrastructure, coverage, or
snapshots change.
- label: area:docs
instructions: Apply when docs, AGENTS.md, CLAUDE.md, README, changelogs, specs,
or generated reference docs change.
- label: area:security
instructions: Apply when authentication, authorization, secrets, token handling,
logging of sensitive data, or dependency security changes.
- label: area:data
instructions: Apply when database schema, persistence, migrations, queues, storage,
serialization, generated data, or data contracts change.
- label: area:agents
instructions: Apply when agent prompts, MCP tools, AI workflow code, model calls,
tool schemas, or agent-facing instructions change.
- label: area:generated
instructions: Apply when generated files, generators, schemas, OpenAPI/TypeSpec/semconv
models, lockfiles, or generated docs change.
- label: breaking
instructions: Apply when public APIs, CLI flags, package surfaces, endpoint
schemas, storage formats, config keys, or emitted artifacts change incompatibly.
- label: review:slop
instructions: Auto-applied by CodeRabbit slop detection for low-quality AI-generated
changes. Do not apply manually.
- label: area:maf
instructions: Apply when Microsoft Agent Framework integration changes.
- label: area:testing-workflows
instructions: Apply when agent test workflow helpers change.
- label: area:testing
instructions: Apply when the PR modifies src/ANcpLua.Agents.Testing/ (preview-only).
- label: area:workflows
instructions: Apply when the PR modifies src/ANcpLua.Agents.Testing.Workflows/
(preview-only).
- label: area:tests
instructions: Apply when the PR modifies tests/.
- label: area:tests-live
instructions: Apply when the PR modifies tests/ANcpLua.Agents.Tests.Live/ (live-API
tests).
- label: area:infra
instructions: Apply when the PR modifies .github/, eng/, or root build infrastructure.
auto_apply_labels: true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 MEDIUM RISK

The labeling_instructions in the issue_enrichment section contain PR-specific logic (e.g., 'Apply when the PR modifies...') which is not applicable to issues. This section should be reframed to target issue content or removed to prevent incorrect automated labeling.

Try running the following prompt in your coding agent:

In .coderabbit.yaml, update the issue_enrichment.labeling.labeling_instructions to use wording appropriate for issue content instead of referencing PR modifications.

Comment thread .coderabbit.yaml
Comment on lines +109 to +113
- "!**/*.g.cs"
- "!**/*.g.ts"
- "!**/*.g.sql"
- "!**/*.g.tsp"
- "!**/*.Designer.cs"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 MEDIUM RISK

The global path_filters excludes generated files (lines 109, 113), which prevents the 'Generated-output discipline' instructions (line 164) and the 'Generated Files Regenerated' custom check (line 303) from being applied. If you want CodeRabbit to monitor these files for manual edits or consistency, remove !**/*.g.cs and !**/*.Designer.cs from the exclusion list.

Try running the following prompt in your IDE agent:

In .coderabbit.yaml, remove the exclusion patterns for generated and designer files from reviews.path_filters so the instructions and checks for these files can be enforced.

Comment thread .coderabbit.yaml
and service registration drift. Prefer data-driven, composable code over hardcoded
switch/case tables. Public package/API surface changes need XML docs and explicit
compatibility notes.
- path: "**/*Tests/**/*.cs"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚪ LOW RISK

Nitpick: Review instructions for test files are redundant between line 144 and line 190. To simplify the configuration and ensure consistent feedback across all test suites, consider merging these instructions into a single block targeting tests/**/*.cs.

@github-actions
github-actions Bot merged commit f10a824 into main May 16, 2026
11 of 12 checks passed
@ANcpLua
ANcpLua deleted the dev/coderabbit-proplus-20260516155428 branch May 16, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant