Skip to content

[codex] route reviewer findings to source tasks - #321

Merged
ANcpLua merged 1 commit into
mainfrom
claude/reviewer-task-routing
Jun 16, 2026
Merged

ANcpLua merged 1 commit into
mainfrom
claude/reviewer-task-routing

Conversation

@ANcpLua

@ANcpLua ANcpLua commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • enable CodeRabbit's AI-agent prompt surface and add repo-wide guidance to convert outside-diff review comments into concrete source-file tasks
  • document the same multi-agent review handoff rule for Claude/Cursor/Windsurf/Copilot guidance
  • keep the in-progress guide cleanup, Nihil/Safety Nets version bumps, and slnx-sync false-positive hardening together so the published plugin cache sees the hook change

Validation

  • git diff --cached --check
  • ruby -e 'require "yaml"; YAML.load_file(".coderabbit.yaml")'
  • JSON parse and Claude plugin manifest required-field checks with jq
  • python3 /Users/ancplua/.codex/skills/migrate-to-codex/scripts/migrate-to-codex.py --validate-target .
  • Codex plugin validation for all plugins with .codex-plugin/plugin.json
  • Claude manifest/version sync checks for nihil and safety-nets
  • shellcheck plugins/safety-nets/hooks/slnx-sync-check.sh

Notes

The broad Codex plugin validator reports Claude-only plugins that intentionally have no .codex-plugin/plugin.json; the scoped Codex-plugin loop validates all actual Codex plugins cleanly.

Summary by CodeRabbit

  • Chores

    • Updated nihil plugin to version 0.3.1 and safety-nets plugin to version 0.1.1.
    • Refined project configuration documentation and AI agent guidelines across repository tools.
  • Bug Fixes

    • Enhanced project detection logic in the safety-nets plugin for improved workspace handling.

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

Rewrites CLAUDE.md and its Cursor/Windsurf mirror files from agent operating guides into contributor/developer guides, removes AGENTS.md, adds AI-agent coordination rules to .coderabbit.yaml and Copilot instructions, enhances slnx-sync-check.sh with Git-ignored and nested-solution pruning, and bumps nihil to 0.3.1 and safety-nets to 0.1.1 across all manifests.

Changes

safety-nets Hook Fix and Version Bump

Layer / File(s) Summary
slnx-sync-check.sh: Git-ignored and nested-solution pruning
plugins/safety-nets/hooks/slnx-sync-check.sh
Adds subprocess import and uses git ls-files -oi --exclude-standard --directory to build a set of Git-ignored directories under the .slnx root. The os.walk traversal now prunes those directories and also skips subdirectories containing their own .sln/.slnx, preventing false-positive missing-project reports for nested solutions or ignored tooling directories.
safety-nets version bump to 0.1.1
plugins/safety-nets/.claude-plugin/plugin.json, .claude-plugin/marketplace.json
Increments the version field from 0.1.0 to 0.1.1 in the plugin manifest and the marketplace manifest.

nihil Version Bump to 0.3.1

Layer / File(s) Summary
nihil version bump across all manifests
plugins/nihil/.claude-plugin/plugin.json, plugins/nihil/.codex-plugin/plugin.json, .claude-plugin/marketplace.json
Increments the version field from 0.3.0 to 0.3.1 across all three manifest files.

Contributor Guide Rewrite and AI Reviewer Coordination

Layer / File(s) Summary
CLAUDE.md rewrite as canonical contributor guide
CLAUDE.md
Replaces the prior agent operating guide with marketplace repo structure, plugin layout rules, version-bump/cache behavior explanation, hook-symptom triage notes, local validation commands, and mirror-sync instructions.
Mirror guide rewrites and AGENTS.md removal
.cursor/rules/project-config.mdc, .windsurf/rules/project-config.md, AGENTS.md
Rewrites Cursor and Windsurf rule files from agent operating guides to contributor guides matching CLAUDE.md content. AGENTS.md is deleted (91 lines removed).
AI reviewer coordination rules
.coderabbit.yaml, .github/copilot-instructions.md
Sets enable_prompt_for_ai_agents: true in .coderabbit.yaml, adds a global path_instructions entry defining how out-of-diff findings should be anchored and translated into source tasks, and adds a matching rule to Copilot instructions for unanchorable review comments.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • ANcpLua/ancplua-claude-plugins#183: Directly overlaps with this PR's CLAUDE.md rewrite — both modify marketplace/plugin version-sync mandates and AI review/automation workflow policies in the contributor guide.
  • ANcpLua/ancplua-claude-plugins#313: Both PRs modify .coderabbit.yaml AI agent/workflow configuration, specifically path_instructions and reviewer prompting behavior.
  • ANcpLua/ancplua-claude-plugins#318: Both PRs modify .coderabbit.yaml reviews.path_instructions rules — this PR adds enable_prompt_for_ai_agents and a broad path: "**" coordination rule.

Suggested labels

area:infra, area:docs

Suggested reviewers

  • claude
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly addresses a key objective: routing reviewer findings to source tasks via CodeRabbit AI-agent guidance, which is a primary change across multiple configuration files.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/reviewer-task-routing

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

@ANcpLua
ANcpLua merged commit b242ba1 into main Jun 16, 2026
6 of 7 checks passed
@ANcpLua
ANcpLua deleted the claude/reviewer-task-routing branch June 16, 2026 07:05

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f3ea5d4474

ℹ️ 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".

Comment on lines +91 to +93
if dirpath != soln_dir and any(fn.endswith((".sln", ".slnx")) for fn in filenames):
dirnames[:] = []
continue

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep scanning projects under nested solutions

When a repo has a top-level .slnx plus a subdirectory .sln/.slnx used as a convenience solution, this early continue skips the subdirectory's own .csproj files entirely, so newly added projects there are never reported missing from the top-level solution. The hook is advertised as blocking .csproj files on disk that are not registered in the repo's .slnx, so this creates a false negative for those multi-solution layouts; prune known vendored/test-fixture roots more narrowly instead of treating any nested solution file as independent.

Useful? React with 👍 / 👎.

Comment thread AGENTS.md
@@ -1,91 +0,0 @@
# Agent Operating Guide - ancplua-claude-plugins

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore Codex-facing repo instructions

Deleting the root AGENTS.md removes the repo-level guide that Codex/local agent sessions discover automatically, while the repo still ships .agents/plugins/marketplace.json and Codex-specific artifacts. In those Codex contexts the replacement CLAUDE.md/Cursor/Windsurf copies are not guaranteed to load, so contributors lose rules such as Codex plugin layout, generated-artifact handling, and validation commands unless they manually know to open Claude docs; keep a thin AGENTS.md pointer or copy for the Codex surface.

Useful? React with 👍 / 👎.

Comment thread CLAUDE.md
Comment on lines +43 to +45
2. Register it in **both** manifests — `.claude-plugin/marketplace.json` (Claude)
and `.agents/plugins/marketplace.json` (Codex). Each entry needs `name`,
`source` (`./plugins/<name>`), `description`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Split Claude and Codex marketplace shapes

This replacement guide says every plugin entry in both manifests needs source as ./plugins/<name> plus description, but the Codex marketplace entries in .agents/plugins/marketplace.json use a source object with path, policy, and category, and do not have description. Following these lines for the Codex manifest would create entries that do not match the existing Codex marketplace schema, so the guide should spell out the two manifest shapes separately.

Useful? React with 👍 / 👎.

Comment on lines +65 to +67
ignored_dirs = {
os.path.normpath(os.path.join(soln_dir, p)) for p in out.split("\n") if p.strip()
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Skip ignored project files, not just directories

When .gitignore ignores a project file directly (for example *.csproj or scratch/Foo.csproj), git ls-files -oi --directory returns that file path, this set stores it, but the later filter only compares directory names. The hook therefore still reports an ignored .csproj as missing from the .slnx, causing a Stop-hook false positive for generated or scratch projects that are intentionally untracked; either filter ignored files from filenames too or keep only directory entries here.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant