Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 2 minutes and 50 seconds. ⌛ 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. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (47)
📝 WalkthroughWalkthroughThis PR implements automated documentation validation CI that extracts CLI command examples from markdown files, validates them against actual Typer/Click command registrations, detects stale legacy resource references, and validates cross-site documentation links. Changes
Sequence DiagramsequenceDiagram
participant WF as CI Workflow
participant Script as check-docs-commands.py
participant Docs as Markdown Files
participant Reg as Command Registry
participant Config as docs/_config.yml
WF->>Script: Execute on file changes
Script->>Docs: Scan for markdown files
Docs-->>Script: File content
Script->>Script: Extract command examples
Script->>Reg: Validate against registrations
Reg-->>Script: Valid/Invalid status
Script->>Docs: Check for legacy resource paths
Docs-->>Script: Match results
Script->>Docs: Validate links & hrefs
Docs-->>Script: URLs found
Script->>Config: Validate config values
Config-->>Script: URL values
Script->>WF: Report findings (exit 0 or 1)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related issues
Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@coderabbitai review the updated PR |
|
🧠 Learnings used✅ Actions performedFull review triggered. |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/docs-review.yml:
- Line 51: The pip install line in the GitHub Actions workflow misses an
explicit click dependency even though scripts/check-docs-commands.py imports
click; update the pip install command (the line installing pytest typer PyYAML
beartype icontract rich pydantic specfact-cli) to also include click so the
workflow explicitly installs click alongside the other packages, ensuring
scripts/check-docs-commands.py has its runtime dependency satisfied.
In `@scripts/check-docs-commands.py`:
- Around line 104-117: The fence detection in _iter_bash_examples is too strict:
change the checks that compare stripped == "```bash" and stripped == "```" to
more permissive startswith checks (e.g., use stripped.startswith("```bash") and
stripped.startswith("```")) so that trailing spaces or attributes on the fence
line are accepted; update the in_bash_block toggles around those checks
(in_bash_block variable and the block that appends CommandExample) so behavior
remains identical except for relaxed fence matching.
- Around line 195-211: Multiple functions (_validate_command_examples,
_validate_legacy_resource_paths, _validate_core_docs_links) reread the same
files; refactor to read each file once and reuse its contents by introducing a
cached mapping (e.g., dict[Path, str]) or by changing call sites to pass file
text to these validators; update _validate_legacy_resource_paths to accept
either a mapping or the file text rather than calling Path.read_text itself
(refer to function name _validate_legacy_resource_paths and the other
validators) and use that shared cache when iterating snippets so each file is
read only once.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: fe50fdbe-5768-40f7-9f98-82bb3228b07a
📒 Files selected for processing (14)
.github/workflows/docs-review.ymldocs/bundles/backlog/policy-engine.mddocs/bundles/backlog/refinement.mdopenspec/CHANGE_ORDER.mdopenspec/changes/docs-12-docs-validation-ci/TDD_EVIDENCE.mdopenspec/changes/docs-12-docs-validation-ci/specs/modules-docs-command-validation/spec.mdopenspec/changes/docs-12-docs-validation-ci/tasks.mdopenspec/specs/enterprise-config-docs/spec.mdopenspec/specs/missing-command-docs/spec.mdopenspec/specs/modules-docs-command-validation/spec.mdopenspec/specs/team-setup-docs/spec.mdpyproject.tomlscripts/check-docs-commands.pytests/unit/test_check_docs_commands_script.py
💤 Files with no reviewable changes (1)
- docs/bundles/backlog/refinement.md
Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
Summary
Verification