Skip to content

mordant: drop three baseline entries that no longer have a finding - #42698

Closed
robobun wants to merge 1 commit into
mainfrom
robobun/d9d77bb4/mordant-stale-baseline-entries
Closed

robobun wants to merge 1 commit into
mainfrom
robobun/d9d77bb4/mordant-stale-baseline-entries

Conversation

@robobun

@robobun robobun commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

  • mordant-baseline.toml holds three entries that no longer have a finding behind them:
    • "generic_body_not_generic:src/io/pipes.rs" = 1
    • "generic_body_not_generic:src/watcher/Watcher.rs" = 1
    • "parallel_vecs:src/js_printer/lib.rs" = 1
  • The entries date from 2026-08-14 (js_printer) and 2026-08-31 (the other two). All three files changed after that, and the flagged shapes are gone. The ratchet tolerates an over-count, so nothing removed the lines.
  • A stale line is spare allowance. A new finding of that lint in that file passes CI without notice.

Fix

  • Delete the three lines and the [bun_io], [bun_js_printer] and [bun_watcher] section headers that they leave empty. No code change.
  • Checked with the pinned mordant (0d9bace) on Linux. A run with an empty baseline prints every finding. It prints none for these three (lint, file) pairs. The other 144 entries match their recorded counts exactly.
  • Verified: the mordant job on this PR is the check. It is advisory, so read its result directly.

Background

  • mordant is the dylint lint pack pinned in Cargo.toml under [workspace.metadata.dylint]. The mordant job in .github/workflows/rust-lints.yml runs it.
  • mordant-baseline.toml is a ratchet. Each line is the number of findings accepted for one lint in one file. CI suppresses up to that number and fails only on overflow.
  • Mordant never lowers a count by itself. Only a regeneration or a hand edit does.

no test proof · iteration 0 · no src or test change; test-proof not applicable

The pinned mordant reports nothing for generic_body_not_generic in
src/io/pipes.rs and src/watcher/Watcher.rs, and nothing for
parallel_vecs in src/js_printer/lib.rs. Later edits to those files
removed the flagged shapes. The ratchet tolerates an over-count, so
the lines stayed. Remove them and the three section headers they
leave empty.
@robobun

robobun commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator Author
Updated 3:10 AM PT - Sep 14th, 2026

✅ @robobun, your commit dec9c2ac13eeb57c2242832501513c762f68352a passed in Build #115472! 🎉


🧪   To try this PR locally:

bunx bun-pr 42698

That installs a local version of the PR into your bun-42698 executable, so you can run:

bun-42698 --bun

@coderabbitai

coderabbitai Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Essentials

Run ID: 3ddde258-c397-4de6-a2e5-826cb3ec1788

📥 Commits

Reviewing files that changed from the base of the PR and between 5fce36e and dec9c2a.

📒 Files selected for processing (1)
  • mordant-baseline.toml
💤 Files with no reviewable changes (1)
  • mordant-baseline.toml

Included review availability: Your plan provides up to 10 included reviews per hour; 5 remain after this review.


Walkthrough

The change removes the bun_io, bun_js_printer, and bun_watcher sections and their diagnostic entries from mordant-baseline.toml.

Changes

Mordant baseline cleanup

Layer / File(s) Summary
Remove obsolete diagnostic baselines
mordant-baseline.toml
Removes the baseline entries for bun_io, bun_js_printer, and bun_watcher.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to dec9c

The change is limited to removing obsolete lint-baseline entries. No actionable merge risk is established from the available evidence.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description check ✅ Passed The description clearly explains the stale baseline entries, the file changes, and the verification performed. It does not use the exact template headings, but it covers both required topics: what the…
Title check ✅ Passed The title clearly and concisely describes the main change: removing three obsolete Mordant baseline entries.

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

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM — pure lint-baseline tightening, no code touched.

What was reviewed:

  • Confirmed the diff only deletes three (lint, file) entries and their now-empty section headers from mordant-baseline.toml; no other hunks.
  • Direction is safe: removing baseline allowance can only make the mordant job stricter, so a stale claim would fail CI rather than mask anything.
  • Checked CODEOWNERS — mordant-baseline.toml is not owned.
Extended reasoning...

Overview

This PR edits only the repo-root mordant-baseline.toml, deleting three suppression entries (generic_body_not_generic in src/io/pipes.rs and src/watcher/Watcher.rs, parallel_vecs in src/js_printer/lib.rs) along with the [bun_io], [bun_js_printer], and [bun_watcher] section headers that become empty. No Rust, C++, TypeScript, or test code is touched. The baseline file is a per-crate ratchet consumed by the advisory mordant dylint job; each entry records how many findings of a given lint in a given file CI will tolerate before flagging.

Security risks

None. The file is CI lint configuration only — it does not ship in the binary, affect runtime behavior, or gate any auth/crypto/permission path. No user-controlled input is parsed and no dependency surface changes.

Level of scrutiny

Low. This is a mechanical config-only cleanup in the safe direction: dropping baseline entries reduces tolerated findings, so if the PR author's claim that the underlying findings are gone were wrong, the mordant job on this very PR would surface it. Per REVIEW.md's "never silently weaken a safety net" rule, the concern is weakening — this is the opposite. There is no way for this diff to hide a regression; at worst it produces a visible CI failure.

Other factors

CODEOWNERS does not cover mordant-baseline.toml. The PR timeline shows no outstanding third-party objections. The bug hunt exited on dry_streak with no findings and nothing ruled out. The description gives a clear per-entry rationale (files changed after the baseline dates, flagged shapes gone, verified against pinned mordant 0d9bace), satisfying the "every hunk explainable" convention. Given the change is trivially reversible and self-verifying via CI, approval is appropriate.

@robobun

robobun commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator Author

Status: the mordant job on this PR passed, including the step "Fail on findings over the baseline" (job). That confirms the three entries were stale on CI too. Ready for review.

@robobun

robobun commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator Author

Closing: this change is already on main. #43661 regenerated mordant-baseline.toml and removed the same three entries with their section headers.

@robobun robobun closed this Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants