Skip to content

chore(tooling): replace Node markdown tooling with rumdl#394

Merged
acgetchell merged 6 commits into
mainfrom
chore/379-rumdl-markdown-tooling
May 18, 2026
Merged

chore(tooling): replace Node markdown tooling with rumdl#394
acgetchell merged 6 commits into
mainfrom
chore/379-rumdl-markdown-tooling

Conversation

@acgetchell
Copy link
Copy Markdown
Owner

  • Switch Markdown checks and Codacy configuration from markdownlint/npx to rumdl.
  • Add dprint/pretty_yaml YAML formatting and wire yaml-check/yaml-fix through dprint plus yamllint.
  • Format generated changelog archives with rumdl after git-cliff postprocessing.
  • Add Semgrep guards for check-before-fix docs and pinned, allowlisted GitHub Actions.

Closes #379

- Switch Markdown checks and Codacy configuration from markdownlint/npx to rumdl.
- Add dprint/pretty_yaml YAML formatting and wire yaml-check/yaml-fix through dprint plus yamllint.
- Format generated changelog archives with rumdl after git-cliff postprocessing.
- Add Semgrep guards for check-before-fix docs and pinned, allowlisted GitHub Actions.
@acgetchell acgetchell enabled auto-merge (squash) May 18, 2026 05:12
@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented May 18, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 46 complexity

Metric Results
Complexity 46

View in Codacy

🟢 Coverage ∅ diff coverage · +0.00% coverage variation

Metric Results
Coverage variation +0.00% coverage variation (-1.00%)
Diff coverage diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (48935d5) 61626 55767 90.49%
Head commit (5e32561) 61626 (+0) 55768 (+1) 90.49% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#394) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 18, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: b2af19ba-9517-403a-b6ee-8dbfcd85380b

📥 Commits

Reviewing files that changed from the base of the PR and between 310e4bb and 5e32561.

📒 Files selected for processing (2)
  • .codacy.yml
  • CONTRIBUTING.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .codacy.yml

Walkthrough

Repository-wide migration from Node-based Markdown/YAML tooling to rumdl/dprint; CI and justfile updated to install/pin new tools; changelog postprocessing and archive normalization refactored (with tests); Semgrep rules and fixtures added; extensive docs and archive formatting edits and small config tweaks.

Changes

Node→Rust Documentation and Config Tool Migration

Layer / File(s) Summary
Formatter configuration & linter rules
dprint.json, pyproject.toml, .codacy.yml, .yamllint, .coderabbit.yml
Add dprint.json for YAML/CFF formatting; add [tool.rumdl] in pyproject.toml; update .codacy.yml engine excludes and bandit include paths; relax .yamllint line-length and raise docstring threshold.
CI workflow updates
.github/workflows/ci.yml, .github/workflows/audit.yml, .github/workflows/codacy.yml, .github/workflows/profiling-benchmarks.yml
Install rumdl and dprint via taiki-e/install-action, add pinned env versions (RUMDL_VERSION, DPRINT_VERSION), remove Node/npm markdownlint install, change audit.yml permission to security-events: write, and add Codacy action version comment.
Justfile recipe refactor
justfile
Add _ensure-dprint and _ensure-rumdl, switch markdown-check/markdown-fix to rumdl, rework yaml-check/yaml-fix to use dprint, add shell-fix/toml-fix, update setup-tools and required tool lists.
Changelog normalization & tooling
scripts/postprocess_changelog.py, scripts/archive_changelog.py, scripts/tests/test_postprocess_changelog.py, scripts/tests/test_archive_changelog.py
Normalize squash/indented headings to level-4 (#### ...), add continuation-indent and horizontal-rule handling, postprocess existing archives, and update/add tests to assert new heading normalization.
Semgrep rules & fixtures
semgrep.yaml, tests/semgrep/.github/workflows/action_policy.yml, tests/semgrep/docs/command_order.sh
Add rules: delaunay.docs.check-before-fix-command-order, delaunay.github-actions.external-action-sha-pinned, delaunay.github-actions.external-action-approved-allowlist, and delaunay.github-actions.external-action-version-comment; add workflow and script fixtures for testing rules.
Docs: developer commands & tooling alignment
docs/dev/commands.md, docs/dev/tooling-alignment.md
Document rumdl/dprint usage, add markdown-check/markdown-fix guidance, update TOML/YAML check/fix docs, and remove Node-backed tooling from parity notes.
Docs: contributor and policy updates
CONTRIBUTING.md, AGENTS.md, CODE_OF_CONDUCT.md
Update just recipe names in docs, swap check/fix ordering example in AGENTS.md, reflow design-principles text, and normalize mailto link formatting.
Docs: code organization, invariants, validation, robustness
docs/code_organization.md, docs/invariants.md, docs/validation.md, docs/numerical_robustness_guide.md
Update directory snapshots (add dprint.json, tests/semgrep), reflow bibliography footnotes, and adjust code-snippet spacing/line-wrapping.
Archive documentation formatting
docs/archive/*
Widespread whitespace, table, link, and snippet formatting changes across archived roadmap, changelogs, and design notes; no behavioral code changes.
Misc config & thresholds
.coderabbit.yml, .markdownlint.json (removed)
Raise docstring threshold in .coderabbit.yml; remove .markdownlint.json as rumdl replaces markdownlint usage.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related issues

Possibly related PRs

"🐰 Rumdl in my paws I go, dprint trims each YAML row,
Semgrep guards action pins with care, CI learns new tools to share,
Check then fix — my rule to keep, small hops tidy docs in a leap."

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/379-rumdl-markdown-tooling

@coderabbitai coderabbitai Bot added documentation Improvements or additions to documentation enhancement New feature or request rust Pull requests that update rust code labels May 18, 2026
coderabbitai[bot]
coderabbitai Bot previously requested changes May 18, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CODE_OF_CONDUCT.md`:
- Line 148: The mailto link reference labeled "[maintainer]" is malformed: it
currently uses mailto:<adam@adamgetchell.org> which is invalid Markdown; update
the reference for the "[maintainer]" link (the link target for the maintainer
reference) to a valid URI such as mailto:adam@adamgetchell.org or wrap the
entire URI in angle brackets e.g. <mailto:adam@adamgetchell.org> so Markdown
parsers resolve the contact link correctly.

In `@CONTRIBUTING.md`:
- Line 1232: Update the reference-style link target for [maintainer-email] so
the entire URI is wrapped in angle brackets; replace the current malformed
mailto:<adam@adamgetchell.org> with the correct form
<mailto:adam@adamgetchell.org> so Markdown treats it as a valid mailto URI for
the [maintainer-email] reference.

In `@docs/archive/changelog/0.5.md`:
- Around line 330-352: Several in-entry headings (e.g., "Duplicate Vertex
Handling", "Property Test Improvements", "Serialization Test Fixes", "New
Property Tests") are using level-2/level-3 marks inside an existing release
subsection; update those heading markers from `##` or `###` to `####` (or
convert to bullet/list text) so they are demoted to level-4 and preserve
changelog hierarchy and lint rules; apply the same demotion to the other
indicated sections (around the ranges noted in the review: 403-428, 437-450,
469-494, 520-550, 563-575) ensuring each in-entry heading now uses `####` or
list form.

In `@docs/archive/phase_3c_action_plan.md`:
- Around line 193-198: The Markdown table in
docs/archive/phase_3c_action_plan.md has inconsistent column counts because each
row ends with an extra trailing empty cell ("|  |") while the header already
accounts for the leading empty column; fix this by removing the trailing empty
"|  |" from the header and each row (the lines showing "Task 1:
InsertionAlgorithm trait", "Task 2: ConvexHull module", "Task 3: Test updates",
"Test consolidation", and the "**Total**" row) so all rows have the same number
of pipe-separated columns and the table renders correctly.

In `@docs/numerical_robustness_guide.md`:
- Line 268: The markdown line "computed during Hilbert index generation). It
removes the vast majority of exact and" exceeds the 80-char limit; wrap this
sentence into shorter lines (<=80 chars) so the markdown linter passes, e.g.,
break after a natural phrase boundary to create two lines (maintain original
wording and punctuation) in the paragraph where this text appears.

In `@semgrep.yaml`:
- Around line 615-618: Add explicit exclusions for the test fixtures to the
three action-policy Semgrep rules by excluding the tests/semgrep/** path in
their "exclude" or "paths-ignore" settings so the intentional violations in
tests/semgrep/.github/workflows/action_policy.yml are not scanned; update the
three rule blocks that reference "/.github/workflows/**/*.yml" or
"/.github/workflows/**/*.yaml" (the action-policy rule entries around the
include/patterns sections) to add the exclusion and then update
docs/dev/tooling-alignment.md with a brief comparison and rationale describing
why tests/semgrep/** is excluded from these rules.
- Around line 598-603: The current pattern-regex entries (the lines matching
"just fix" followed immediately by "just check", "just python-fix" / "just
python-check", etc.) fail when there are blank lines or comment-only lines
between commands; update each pattern-regex to use the DOTALL flag (?s) and
replace the strict immediate newline sequence with a construct that allows any
number of intermediate lines that are either blank or contain only comments
before the follow-up command. In practice, prepend (?s) to each pattern and
change the "\n\s*" separator between the "fix" and "check" halves to a
non-greedy match that accepts zero-or-more lines consisting only of whitespace
or comment tokens so patterns like the ones for "just fix"/"just check", "just
python-fix"/"just python-check", "just yaml-fix"/"just yaml-check", "just
markdown-fix"/"just markdown-check", "just toml-fix"/"just toml-check", and
"just shell-fix"/"just shell-check" will permit blank/comment lines in between.
🪄 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: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 226b6706-7031-489a-9740-5d7adaa91e56

📥 Commits

Reviewing files that changed from the base of the PR and between 48935d5 and edea152.

📒 Files selected for processing (41)
  • .codacy.yml
  • .github/workflows/audit.yml
  • .github/workflows/ci.yml
  • .github/workflows/codacy.yml
  • .github/workflows/profiling-benchmarks.yml
  • .markdownlint.json
  • AGENTS.md
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • docs/archive/OPTIMIZATION_ROADMAP.md
  • docs/archive/changelog/0.2.md
  • docs/archive/changelog/0.3.md
  • docs/archive/changelog/0.4.md
  • docs/archive/changelog/0.5.md
  • docs/archive/changelog/0.6.md
  • docs/archive/fix-delaunay.md
  • docs/archive/invariant_validation_plan.md
  • docs/archive/issue_120_investigation.md
  • docs/archive/issue_204_investigation.md
  • docs/archive/known_issues_4d_2026-04-23.md
  • docs/archive/optimization_recommendations_historical.md
  • docs/archive/phase2_bowyer_watson_optimization.md
  • docs/archive/phase4.md
  • docs/archive/phase_3a_implementation_guide.md
  • docs/archive/phase_3c_action_plan.md
  • docs/archive/topology_integration_design_historical.md
  • docs/code_organization.md
  • docs/dev/commands.md
  • docs/dev/tooling-alignment.md
  • docs/invariants.md
  • docs/numerical_robustness_guide.md
  • docs/validation.md
  • dprint.json
  • justfile
  • pyproject.toml
  • scripts/postprocess_changelog.py
  • scripts/tests/test_postprocess_changelog.py
  • semgrep.yaml
  • tests/semgrep/.github/workflows/action_policy.yml
  • tests/semgrep/docs/command_order.sh
💤 Files with no reviewable changes (5)
  • .markdownlint.json
  • .github/workflows/profiling-benchmarks.yml
  • .github/workflows/audit.yml
  • .codacy.yml
  • docs/archive/changelog/0.2.md

Comment thread CODE_OF_CONDUCT.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread docs/archive/changelog/0.5.md Outdated
Comment thread docs/archive/phase_3c_action_plan.md Outdated
Comment thread docs/numerical_robustness_guide.md Outdated
Comment thread semgrep.yaml Outdated
Comment thread semgrep.yaml
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.48%. Comparing base (48935d5) to head (5e32561).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #394   +/-   ##
=======================================
  Coverage   90.48%   90.48%           
=======================================
  Files          61       61           
  Lines       61422    61422           
=======================================
+ Hits        55577    55578    +1     
+ Misses       5845     5844    -1     
Flag Coverage Δ
unittests 90.48% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

- Scope Codacy markdownlint to active Markdown docs while keeping the 120-column
  MD013 threshold managed in Codacy's Code Patterns UI.
- Normalize CodeRabbit docstring review length to the same 120-column policy.
- Teach changelog postprocessing to demote entry-local headings in existing
  archived changelogs without rewriting unrelated archive formatting.
- Fix malformed mailto references, archived Markdown hierarchy, table structure,
  and Semgrep fixture exclusions that caused review noise.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.coderabbit.yml:
- Line 54: The docstrings.threshold value is set to 120 which violates the
schema's 0..100 bound; update the docstrings.threshold entry (the threshold: 120
line) to a valid integer within 0..100 (e.g., threshold: 100 or another
appropriate value) so the config passes schema validation and re-run validation
to confirm.

In `@CONTRIBUTING.md`:
- Line 577: The "Documentation Analysis" bullet is over 120 columns; edit that
Markdown list item so it wraps under 120 characters while preserving content and
formatting (keep the bold label and inline code markers for `rumdl` and
`pyproject.toml`); break the sentence into two lines (e.g., after "rumdl" or
before "`pyproject.toml`") to satisfy the markdown lint rule and ensure the
wrapped lines remain a single list item.

In `@docs/archive/changelog/0.5.md`:
- Line 558: The heading text contains asterisks causing Markdown lint MD037
errors; update the heading so the identifiers saturating_* and bbox_* are
rendered as inline code by wrapping each in backticks (e.g., `saturating_*` and
`bbox_*`) so the line reads "Documentation: Rename `saturating_*` helpers to
`bbox_*` and clarify float semantics" and avoids emphasis parsing.
- Line 544: The file contains a duplicate markdown heading "#### Performance
Optimization" which triggers MD024; locate the duplicated heading in
docs/archive/changelog/0.5.md and rename this instance to a distinct heading
(e.g., "#### Performance Improvements" or "#### Performance Optimizations -
Additional Changes") so the heading text is unique while preserving the same
semantic level.
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c0e1c5bc-b9f3-4e30-a98b-0b53c91cbad2

📥 Commits

Reviewing files that changed from the base of the PR and between edea152 and 2c59b8d.

📒 Files selected for processing (14)
  • .codacy.yml
  • .coderabbit.yml
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • docs/archive/changelog/0.5.md
  • docs/archive/phase_3c_action_plan.md
  • docs/dev/tooling-alignment.md
  • docs/numerical_robustness_guide.md
  • scripts/archive_changelog.py
  • scripts/postprocess_changelog.py
  • scripts/tests/test_archive_changelog.py
  • scripts/tests/test_postprocess_changelog.py
  • semgrep.yaml
  • tests/semgrep/docs/command_order.sh
✅ Files skipped from review due to trivial changes (3)
  • CODE_OF_CONDUCT.md
  • docs/numerical_robustness_guide.md
  • docs/dev/tooling-alignment.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/archive/phase_3c_action_plan.md
  • tests/semgrep/docs/command_order.sh
  • semgrep.yaml

Comment thread .coderabbit.yml Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread docs/archive/changelog/0.5.md Outdated
Comment thread docs/archive/changelog/0.5.md Outdated
- Normalize local Python, Markdown, YAML, and review line-length settings to the
  160-column policy while keeping CodeRabbit docstring checks schema-valid.
- Scope Codacy Bandit to production Python scripts so security checks skip test
  fixtures with intentional assertions.
- Teach changelog postprocessing to preserve archive heading hierarchy and render
  wildcard helper names as inline code in generated changelog output.
- Scope Codacy Ruff to production Python scripts so script test fixtures do not
  produce pull-request quality findings.
- Document that Codacy Python engines exclude scripts/tests while local and CI
  checks remain the source of truth for the full Python test suite.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.codacy.yml (1)

23-27: 💤 Low value

Remove redundant exclude_paths pattern from engine-specific configurations.

The pattern scripts/tests/** is specified in both the top-level exclude_paths (line 78) and engine-specific configurations for bandit (line 27) and ruff (line 68). Since Codacy applies both top-level and engine-specific exclusions additively, this duplication has no functional effect. Consolidate by removing the engine-specific exclude_paths entries and relying solely on the top-level configuration.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.codacy.yml around lines 23 - 27, Remove the redundant engine-specific
exclude_paths entries under the bandit and ruff blocks and rely on the top-level
exclude_paths instead; specifically, delete the exclude_paths key (and its value
"scripts/tests/**") from the bandit and ruff sections in .codacy.yml so only the
global exclude_paths remains, ensuring no functional change and eliminating
duplication.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.codacy.yml:
- Around line 23-27: Remove the redundant engine-specific exclude_paths entries
under the bandit and ruff blocks and rely on the top-level exclude_paths
instead; specifically, delete the exclude_paths key (and its value
"scripts/tests/**") from the bandit and ruff sections in .codacy.yml so only the
global exclude_paths remains, ensuring no functional change and eliminating
duplication.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 782429a9-c16b-4863-8f53-2185cf1fdc74

📥 Commits

Reviewing files that changed from the base of the PR and between aed4bd8 and 829d1c8.

📒 Files selected for processing (2)
  • .codacy.yml
  • docs/dev/tooling-alignment.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/dev/tooling-alignment.md

- Rely on the top-level Codacy exclusion for Python script tests instead of
  repeating the same path under individual Python engines.
- Keep contributor tooling documentation wrapped for external Markdown review
  thresholds without changing the documented policy.
- Make generated archived changelog headings distinct when historical entry-local
  body headings repeat within the same release section.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
.codacy.yml (1)

17-17: 💤 Low value

Clarify "Ruff/ty" reference.

The term "Ruff/ty" is ambiguous. Consider clarifying:

  • If referring to type checking generally: "redundant with Ruff and type checking"
  • If referring to a specific tool: "redundant with Ruff/Mypy" or "redundant with Ruff and mypy"
  • If "ty" is intentional: add a brief explanation of what it refers to

This will help contributors understand which tools provide redundant coverage.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.codacy.yml at line 17, Replace the ambiguous "Ruff/ty" phrase in the
comment string "prospector, pylintpython3: redundant with Ruff/ty" with a clear
reference to the tools or meanings intended; update it to either "redundant with
Ruff and type checking" if you mean generic type checking, or "redundant with
Ruff and mypy" (or "redundant with Ruff/Mypy") if you mean the specific Mypy
tool, or add a brief parenthetical explanation if "ty" is intentional so
contributors understand the exact overlap.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.codacy.yml:
- Around line 9-11: The comment in .codacy.yml listing "bandit" and
"markdownlint" as recommended enabled tools conflicts with CONTRIBUTING.md which
marks them disabled; reconcile by either updating the .codacy.yml comment to
indicate bandit and markdownlint are disabled (adjust the lines that currently
name bandit and markdownlint) or by editing CONTRIBUTING.md to remove them from
the "Disabled Tools" section and the "Codacy Markdownlint is disabled" note so
both files consistently state the tools' enabled/disabled status; ensure the
same tool names (bandit, markdownlint) appear identically in both files so
contributors see a single source of truth.

In `@CONTRIBUTING.md`:
- Around line 575-578: The CONTRIBUTING.md tool lists contradict .codacy.yml:
inspect .codacy.yml for the "Bandit" and "Markdownlint" entries (the Recommended
enabled tool blocks), then reconcile CONTRIBUTING.md's Enabled/Disabled Tools
section so it matches the repo config—either mark Bandit and Markdownlint as
enabled with a short parenthetical noting their configured
include/exclude/options from .codacy.yml, or update .codacy.yml to truly disable
them; ensure the Documentation Analysis line clarifies that Markdown checks use
rumdl per pyproject.toml if you choose to keep Markdownlint disabled.

---

Nitpick comments:
In @.codacy.yml:
- Line 17: Replace the ambiguous "Ruff/ty" phrase in the comment string
"prospector, pylintpython3: redundant with Ruff/ty" with a clear reference to
the tools or meanings intended; update it to either "redundant with Ruff and
type checking" if you mean generic type checking, or "redundant with Ruff and
mypy" (or "redundant with Ruff/Mypy") if you mean the specific Mypy tool, or add
a brief parenthetical explanation if "ty" is intentional so contributors
understand the exact overlap.
🪄 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: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: e38037ad-5f72-49f0-8773-e5525a466736

📥 Commits

Reviewing files that changed from the base of the PR and between 829d1c8 and 310e4bb.

📒 Files selected for processing (6)
  • .codacy.yml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • docs/archive/changelog/0.5.md
  • scripts/postprocess_changelog.py
  • scripts/tests/test_postprocess_changelog.py
✅ Files skipped from review due to trivial changes (1)
  • docs/archive/changelog/0.5.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • scripts/tests/test_postprocess_changelog.py
  • scripts/postprocess_changelog.py

Comment thread .codacy.yml
Comment thread CONTRIBUTING.md Outdated
- Mark bandit and markdownlint consistently as enabled in the Codacy contributor
  guidance to match the repository Codacy configuration.
- Clarify that Codacy markdownlint is path-scoped in `.codacy.yml` while MD013
  remains managed in the Codacy UI.
- Spell out that Prospector and Pylint overlap with Ruff and ty type checking.
@acgetchell acgetchell merged commit 5654d14 into main May 18, 2026
21 checks passed
@acgetchell acgetchell deleted the chore/379-rumdl-markdown-tooling branch May 18, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: replace Node markdown and YAML tooling with Rust-native tools

1 participant