Skip to content

ci: run anti-slop lint in CI and pre-push (CMP-84) - #153

Merged
ripgrim merged 1 commit into
mainfrom
rg/gate-anti-slop-ci
Aug 13, 2026
Merged

ci: run anti-slop lint in CI and pre-push (CMP-84)#153
ripgrim merged 1 commit into
mainfrom
rg/gate-anti-slop-ci

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Opened automatically when rg/gate-anti-slop-ci was pushed.

The title is written from the diff and rewritten as you push, because this is squashed onto main and the title becomes the commit subject and the changelog line. Retitle it yourself and it is yours — the automation stops touching it.


Summary by cubic

Runs lint:slop in CI and the pre-push hook to enforce boundary parsing rules, so regressions fail locally and in CI. Previously CI/pre-push ran only check-types, lint, and test, and the anti-slop plugin triggered a Node reparse warning; now the plugin loads as ESM and the warning is gone. Addresses CMP-84.

Review notes

  • CI and pre-push now run bun run lint:slop alongside check-types, lint, and test; CONTRIBUTING.md documents the rule and how to fix violations.
  • Adds tools/oxlint/anti-slop/package.json with "type": "module" to load the plugin as ESM and remove Node reparse warnings.

Rollout

  • Run bun install to install the pre-push hook.
  • If lint:slop fails: define schemas in packages/validation/src and parse data at the I/O boundary; only exempt genuine open maps in .oxlintrc.json with a reason.

Written for commit ca4f590. Summary will update on new commits.

Review in cubic

The rules went to zero in one pass, but nothing kept them there. A
single Record<string, unknown> merged tomorrow puts the count back to
one, and the next one hides in the noise.

lint:slop joins check-types, lint and test in CI and in the pre-push
hook, so a boundary that stops being parsed fails on the machine that
wrote it rather than in review.

The plugin is loaded as an ES module from a directory with no type
field, which made node reparse it and warn about the cost on every run.
tools is not a workspace, so a package.json there scopes the declaration
to the plugin without touching the root.
@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
crm-agent Ready Ready Preview Aug 13, 2026 9:14pm
crm-api Ready Ready Preview Aug 13, 2026 9:14pm
crm-app Ready Ready Preview Aug 13, 2026 9:14pm

Request Review

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 4 files

Re-trigger cubic

@ripgrim ripgrim changed the title ci: run anti-slop lint in ci and pre-push ci: run anti-slop lint in CI and pre-push (CMP-84) Aug 13, 2026
@ripgrim
ripgrim merged commit d7040b4 into main Aug 13, 2026
10 checks passed
@ripgrim
ripgrim deleted the rg/gate-anti-slop-ci branch August 13, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant