ci: add docstring coverage gate via interrogate#42
Conversation
Surface missing docstrings on the public API surface as a failing
PR check rather than letting them leak into the auto-generated docs
as empty headings.
Initial thresholds anchor today's measured coverage with a small
buffer so new code can't regress, and the floor can be raised
incrementally as gaps fill in:
resq-mcp: fail-under = 75 (current 81%; concentration in
core/telemetry.py)
resq-dsa: fail-under = 90 (current 100% with private/init/magic
exclusions)
Configuration lives in `[tool.interrogate]` per-package so contributors
can run `uvx interrogate --config pyproject.toml src/` locally and
get the same result.
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ 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: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ 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 interrogate configuration to the resq-dsa and resq-mcp packages to enforce docstring coverage. The reviewer identified discrepancies between the coverage percentages mentioned in the configuration comments and the PR description, suggesting that the fail-under thresholds be increased to better reflect the current state and provide more effective regression testing.
Per gemini-code-assist review on PR #42, the original comments cited raw interrogate output (95%, 76.6%) but [tool.interrogate] enables ignore-init/ignore-magic/ignore-private which raise the measured coverage to 100% / 81%. Update comments to match what the gate actually evaluates.
|
Updated pyproject.toml comments to reference post-[tool.interrogate]-exclusion coverage numbers (resq-dsa 100%, resq-mcp 81%) per @gemini-code-assist review. Resolves the discrepancy with the PR description. |
Summary
Surface missing docstrings on the public API surface as a failing PR check rather than letting them leak into the auto-generated docs (resq-software/docs) as empty headings.
Adds:
Initial thresholds
Anchor today's measured coverage with a small buffer so new code can't regress; ratchet up as gaps fill in:
Both packages pass with these thresholds today.
Test plan