Skip to content

fix: the preset's grouping was narrower than the repos consuming it - #19

Merged
stxkxs merged 1 commit into
mainfrom
fix/preset-grouping-union
Aug 8, 2026
Merged

fix: the preset's grouping was narrower than the repos consuming it#19
stxkxs merged 1 commit into
mainfrom
fix/preset-grouping-union

Conversation

@stxkxs

@stxkxs stxkxs commented Aug 8, 2026

Copy link
Copy Markdown
Member

What I got wrong

The preset was lifted from eks-agent-platform's config — and that copy turned out to be the narrowest of the six, not the canonical one. Adopting it as written would have regressed grouping in the four tenant repos, quietly, in the very change meant to stop them drifting.

Caught by diffing every consumer's rules against the preset before converting them, rather than assuming the bodies matched because the group names did.

Two rules take the union

aws-sdk-js now also matches @smithy/*. Smithy is the runtime the AWS JS SDK is generated against. All four tenant repos grouped them; eks-agent-platform did not. Split apart, a smithy bump lands as its own PR that cannot pass CI without the SDK bump that belongs with it.

eslint-stack now also matches @eslint/* and eslint-config-*. Under flat config the @eslint/js core package moves with the plugins, and an upgrade taking one without the others fails lint on its own.

repo had @eslint/* had eslint-config-*
competitive-intelligence yes no
slack-knowledge-bot yes no
digest-pipeline yes yes
eks-agent-platform no no

Why widening is the safe direction

For a shared grouping rule, a pattern that matches nothing in a given repo costs nothing there — while a missing pattern produces a PR that cannot merge on its own. Union, not intersection.

https://claude.ai/code/session_012iMnbboJuiUMSvu7n8oRhz

The preset was lifted from eks-agent-platform's config, and that copy turned out
to be the narrowest of the six rather than the canonical one. Adopting it as
written would have regressed grouping in the four tenant repos, quietly, in the
same change that was meant to stop them drifting.

Two rules take the union instead.

aws-sdk-js now also matches @smithy/*. Smithy is the runtime the AWS JS SDK is
generated against; the four tenant repos already grouped them and
eks-agent-platform did not. Split apart, a smithy bump lands as its own PR that
cannot pass CI without the SDK bump that belongs with it.

eslint-stack now also matches @eslint/* and eslint-config-*. Under flat config
the @eslint/js core package moves with the plugins, and an upgrade that takes
one without the others fails lint on its own. competitive-intelligence and
slack-knowledge-bot had the @eslint/* half; digest-pipeline had both halves;
eks-agent-platform had neither.

Widening is the safe direction for a shared grouping rule: a pattern that
matches nothing in a given repo costs nothing there, while a missing pattern
produces a PR that cannot merge on its own.
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