feat(exodia): add Baryon Mode — one-shot .NET warning exterminator#118
feat(exodia): add Baryon Mode — one-shot .NET warning exterminator#118
Conversation
Noble Phantasm: snapshots tooling reality via dotnet build, then T0 burst launches up to 9 parallel agents (1 recon-invoker for MCP version discovery + 8 domain aspects). No gates, no permission, headless/reckless. Cross-repo with full MCP access. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary of ChangesHello @ANcpLua, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a powerful new Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughThe pull request introduces a new "baryon-mode" command to the exodia plugin, incrementing the command count from 9 to 10. Updates are made across marketplace metadata, documentation files, and plugin manifests to reflect this addition. Comprehensive documentation for the baryon-mode command is included, detailing a .NET warning extermination workflow. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces the new baryon-mode command for the exodia plugin, a powerful tool for automatically fixing .NET build warnings. The changes are well-integrated, with consistent updates across various documentation and configuration files like marketplace.json, CHANGELOG.md, and plugin-specific readmes. The command definition itself is detailed and provides clear instructions for the agent.
My review focuses on adherence to the repository's style guide. I've noted a few minor style and consistency issues, such as line length and use of hardcoded temporary file paths.
Additionally, as per the repository style guide (lines 19-20), significant new features and architectural decisions should be accompanied by a spec and an ADR. Given the complexity and impact of the baryon-mode command, consider creating these documents to maintain architectural clarity.
| ```bash | ||
| dotnet build "$0" 2>&1 | tee /tmp/baryon-warnings-before.txt | ||
| ``` |
There was a problem hiding this comment.
Using a hardcoded file path in /tmp can lead to race conditions or conflicts if the command is run multiple times in parallel. According to the style guide, shell scripts should avoid hardcoded absolute paths. It's better to use mktemp to create a unique temporary file and store its name in a variable for later comparison.
| ```bash | |
| dotnet build "$0" 2>&1 | tee /tmp/baryon-warnings-before.txt | |
| ``` | |
| WARNINGS_BEFORE_FILE=$(mktemp) | |
| dotnet build "$0" 2>&1 | tee "$WARNINGS_BEFORE_FILE" |
References
- Relative paths only (no hardcoded absolute paths) (link)
| ```bash | ||
| dotnet build "$0" 2>&1 | tee /tmp/baryon-warnings-after.txt | ||
| ``` |
There was a problem hiding this comment.
Similar to the 'before' file, using mktemp here for the 'after' warnings file avoids hardcoding paths and prevents potential race conditions. This makes the process more robust, especially in concurrent environments.
| ```bash | |
| dotnet build "$0" 2>&1 | tee /tmp/baryon-warnings-after.txt | |
| ``` | |
| WARNINGS_AFTER_FILE=$(mktemp) | |
| dotnet build "$0" 2>&1 | tee "$WARNINGS_AFTER_FILE" |
References
- Relative paths only (no hardcoded absolute paths) (link)
|
|
||
| ### Added | ||
|
|
||
| - **exodia `baryon-mode` command**: One-shot Noble Phantasm for .NET warning extermination. Phase 0 snapshots tooling reality via `dotnet build`, then T0 burst launches up to 9 parallel agents (1 recon-invoker for Rider MCP + NuGet MCP version discovery, 8 domain aspects: nullability, deprecation, unused code, async, style, suppressions, packages, config). No gates, no permission, headless/reckless. Cross-repo with full MCP access. Final verification via delta build comparison |
There was a problem hiding this comment.
This line significantly exceeds the 120-character limit specified in the repository's style guide. Please wrap it to improve readability.
References
- Markdown files must have a maximum line length of 120 characters. (link)
| @@ -0,0 +1,265 @@ | |||
| --- | |||
| description: "IF .NET warnings need extermination THEN use this. One-shot Noble Phantasm: snapshots reality (Rider MCP + NuGet MCP), 8 aspects burst at T0, headless/reckless, cross-repo. Full MCP access." | |||
There was a problem hiding this comment.
The description in the frontmatter exceeds the 120-character line length limit from the style guide. Please consider shortening or wrapping it.
References
- Markdown files must have a maximum line length of 120 characters. (link)
| > Noble Phantasm. Triggers at battle start. 8 aspects manifest. Phantasm concludes. | ||
|
|
||
| **Solution:** $0 (path to .sln or directory) | ||
| **Scope:** $1 (default: all | all|nullability|style|packages|cleanup) |
| │ ├── aspect-nullability ← CS8600-CS8799 | ||
| │ ├── aspect-deprecation ← CS0612, CS0618, SYSLIB*, CA1422 | ||
| │ ├── aspect-unused ← CS0168, CS0219, IDE0051-IDE0060 | ||
| │ ├── aspect-async ← CS4014, CS1998, CA2007, CA2008 |
There was a problem hiding this comment.
The list of async-related warnings in the architecture diagram is inconsistent with the list provided later in the file (line 145), which also includes CA2016. To maintain consistency, please update this diagram to include CA2016.
| │ ├── aspect-async ← CS4014, CS1998, CA2007, CA2008 | |
| │ ├── aspect-async ← CS4014, CS1998, CA2007, CA2008, CA2016 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d3d4c1d43e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| > Noble Phantasm. Triggers at battle start. 8 aspects manifest. Phantasm concludes. | ||
|
|
||
| **Solution:** $0 (path to .sln or directory) | ||
| **Scope:** $1 (default: all | all|nullability|style|packages|cleanup) |
There was a problem hiding this comment.
Respect scope argument before launching aspect burst
The command advertises a Scope argument (all|nullability|style|packages|cleanup), but no later step uses $1; instead it always launches every non-empty warning bucket. In practice, running /exodia:baryon-mode <solution> style still triggers unrelated aspects (including package/config changes) with cross-repo edit instructions, which makes the command perform materially broader edits than requested. Add explicit scope-to-bucket filtering before the T₀ task launch.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Adds a new Exodia slash command (/exodia:baryon-mode) to orchestrate a one-shot, parallel “T0 burst” workflow aimed at eliminating .NET build warnings, and updates repository metadata/counts to reflect the additional command.
Changes:
- Introduce new
baryon-modecommand document underplugins/exodia/commands/. - Update Exodia plugin docs/manifest to include the new command and adjust command counts.
- Update repository-level docs/marketplace metadata and changelog to reflect the new command and new total command count.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/exodia/commands/baryon-mode.md | New Exodia command definition for the “Baryon Mode” warning-extermination workflow. |
| plugins/exodia/.claude-plugin/plugin.json | Updates Exodia plugin description to include baryon-mode and “10 commands” wording. |
| plugins/exodia/CLAUDE.md | Adds baryon-mode to the Exodia command table and notes. |
| plugins/exodia/README.md | Updates Exodia README command count and adds baryon-mode to the command list + typical workflow. |
| CLAUDE.md | Updates global routing and repo command counts; adds baryon-mode routing entries. |
| docs/ARCHITECTURE.md | Updates architecture doc counts and Exodia command count references. |
| .claude-plugin/marketplace.json | Updates marketplace metadata description/counts and Exodia plugin description. |
| CHANGELOG.md | Adds an Unreleased entry announcing the new baryon-mode command. |
| @@ -0,0 +1,265 @@ | |||
| --- | |||
| description: "IF .NET warnings need extermination THEN use this. One-shot Noble Phantasm: snapshots reality (Rider MCP + NuGet MCP), 8 aspects burst at T0, headless/reckless, cross-repo. Full MCP access." | |||
| allowed-tools: Task, Bash, TodoWrite | |||
There was a problem hiding this comment.
allowed-tools doesn’t include WebFetch/WebSearch, but the command instructions explicitly require them (NuGet flat-container lookups and migration-guide searches). If these tools aren’t allowed, the command will fail at runtime when it reaches those steps; add them to allowed-tools (or remove/replace the Web* steps).
| allowed-tools: Task, Bash, TodoWrite | |
| allowed-tools: Task, Bash, TodoWrite, WebFetch, WebSearch |
| **Solution:** $0 (path to .sln or directory) | ||
| **Scope:** $1 (default: all | all|nullability|style|packages|cleanup) | ||
|
|
There was a problem hiding this comment.
The command signature documents a Scope argument, but it’s never referenced again (no filtering logic described) and the listed scope options don’t match the 8 aspects (missing deprecation/unused/async/suppressions/config). Either remove Scope from the interface or document exactly how it limits which aspect buckets run, with options covering all aspects.
CLAUDE.md
Outdated
| → exodia:hades skill (audited cleanup with Smart IDs, deletion permits, audit ledger) | ||
|
|
||
| IF .NET warnings need extermination (one-shot, headless, cross-repo) | ||
| → exodia:baryon-mode command (1 Invoker + 8 aspects burst at T0, full MCP access) |
There was a problem hiding this comment.
The invocation here uses exodia:baryon-mode without the leading /, while the surrounding routing section uses /exodia:... command syntax. This is likely to confuse copy/paste usage; update it to the consistent slash-command form.
| → exodia:baryon-mode command (1 Invoker + 8 aspects burst at T0, full MCP access) | |
| → /exodia:baryon-mode command (1 Invoker + 8 aspects burst at T0, full MCP access) |
| ├── plugins/ # 7 plugins (23 commands, 4 skills, 9 agents) | ||
| │ ├── exodia/ # Multi-agent orchestration — 10 commands + hades skill |
There was a problem hiding this comment.
Counts were updated here to 23 commands / exodia 10 commands, but other repo metadata still reports the old totals (e.g., README.md:5 still says 22 commands and README.md:11,34 says exodia has 9 commands; docs/AGENTS.md:26 also says 22 total / 9 exodia). To keep the repository’s published counts consistent, those files should be updated in this PR as well.
1. Add WebFetch/WebSearch to allowed-tools (Codex) 2. Add $1 scope filtering logic — skip non-matching buckets (Codex P2) 3. Remove duplicate 'all' from scope options (Gemini) 4. Add CA2016 to async aspect in architecture diagram (Gemini) 5. Add / prefix to routing entry in CLAUDE.md (Codex) 6. Replace hardcoded /tmp paths with mktemp (Gemini) 7. Update README.md + AGENTS.md counts to 23/10 (Copilot) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@claude @claude[agent] review |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Summary
baryon-mode— One-shot Noble Phantasm for .NET warning exterminationdotnet build, categorizes warnings into 8 aspect bucketsArchitecture
Files changed
plugins/exodia/commands/baryon-mode.mdplugins/exodia/.claude-plugin/plugin.jsonplugins/exodia/CLAUDE.mdplugins/exodia/README.mdCLAUDE.mddocs/ARCHITECTURE.md.claude-plugin/marketplace.jsonCHANGELOG.mdTest plan
baryon-mode.mdfrontmatter has valid YAML/exodia:baryon-mode🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
New Features
Documentation