Enforce enhanced lint requirements - #158
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
Added a new lint/formatting policy and supporting docs: the repository now pins the Rust toolchain to nightly, imports a shared rustfmt baseline, and enforces 100% Python docstring coverage via CI was updated to install Also added a small test-support module for isolated environment mutation helpers used by the updated tests. WalkthroughUpdate the Rust toolchain and formatter settings, switch CI to install ChangesToolchain, formatter, lint gate, and mass reformatting
Sequence Diagram(s)sequenceDiagram
participant ci.yml
participant astral-sh/setup-uv
participant uv
ci.yml->>astral-sh/setup-uv: set up uv
ci.yml->>uv: tool install interrogate==1.7.0
Possibly related PRs
Suggested labels: Poem
🚥 Pre-merge checks | ✅ 20✅ Passed checks (20 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai resume |
✅ Action performedReviews resumed. |
bc2a1ed to
524afff
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
@coderabbitai resume |
✅ Action performedReviews resumed. |
This comment was marked as resolved.
This comment was marked as resolved.
|
@coderabbitai resume |
✅ Action performedReviews resumed. |
Add the template rustfmt configuration and move the project toolchain to nightly so the imported unstable formatting rules are available. Apply the resulting Rust formatting changes across the workspace. Extend `make lint` with `interrogate --fail-under 100 .` so Python docstring coverage is mandatory, and install `interrogate` as a uv tool in CI before the lint step runs.
Pin the CI `interrogate` tool installation and the nightly Rust toolchain so lint and formatting behaviour remains reproducible. Restrict shared singleton test helper exports to documentation, tests, and explicit testing features while leaving the dummy fixture constructors available for the intended unit-test support API.
Add contributor guidance for the pinned nightly rustfmt toolchain and Interrogate-backed lint gate so developers can reproduce CI locally. Record the quality-gate import in the roadmap and include the Markdown normalisation produced by the repository formatter.
Document the `make lint` tier ordering with Interrogate as the 100% Python docstring-coverage gate. Record the decision to pin the nightly rustfmt toolchain and import the shared Rust lint template in an ADR.
Disable persisted checkout credentials in CI because the job does not push or perform authenticated fetches after checkout. Correct the Unix cfg example in the doctest guide so the code and prose use the valid `unix` cfg.
f1f334a to
df32254
Compare
Remove duplicated roadmap sections introduced during the rebase and normalize blank lines so the Markdown quality gates pass.
Fix the documented worker environment signature and replace long backslash-continued strings with stable concat-based forms.
|
@coderabbitai resume |
✅ Action performedReviews resumed. |
Move raw environment mutation helpers into a small support module so the failure-cache test no longer compiles unused shared helpers or hides dead-code warnings.
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai Have the following now been resolved? Inline comments:
In
In
|
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
echo "=== ci.yml checkout step ==="
sed -n '1,30p' .github/workflows/ci.yml
echo "=== ADR date/status ==="
sed -n '1,15p' docs/adr-004-enhanced-lint-requirements.md
echo "=== rust-doctest-dry-guide.md cfg example ==="
sed -n '395,420p' docs/rust-doctest-dry-guide.mdLength of output: 2908
Nothing further outstanding on these three items. (=^・ω・^=) |
Summary
This branch strengthens the local and CI lint gates by requiring complete Python docstring coverage and by adopting the Rust formatting and lint baseline from the Rust agent template. It also applies the resulting workspace-wide Rust formatting changes so the new nightly rustfmt configuration passes immediately.
Review walkthrough
interrogate --fail-under 100 .added to thelinttarget.interrogatetool installation before CI linting.Validation
make check-fmt: passedmake lint: passed, includinginterrogate --fail-under 100 .at 100.0%make typecheck: passedmake test: passed; first nextest pass ran 270 tests with 270 passed and 4 skipped, and the no-default-featuresdev-workerpass ran 156 tests with 156 passedNotes
The supplied template URL for
rustfmt.tomlusedblopand the repository stores the file astemplate/.rustfmt.toml; this branch imports that template content into the local rustfmt.toml, which rustfmt recognises at the workspace root.References