lint-init classifier: cover non-Max numeric keys and resolve stock defaults from target rubocop #133
Labels
No labels
P0
P1
P2
P3
bug
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#133
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Known gaps
Found during slice-1 verification on 2026-07-26 (commit
49e0985). Both currently failing SAFE (landing entries inunknownrather than falsely inredundant):1. Non-Max numeric keys not recognized
raised_max?only inspects the literal"Max"key. A delta that loosens a different numeric key — e.g.Metrics/ParameterLists: MaxOptionalParameters: 15against rubocop's stock3— is a real loosening but is classified asunknowninstead ofloosening.Full coverage requires recognising every numeric key where higher means looser, per cop.
2. Stock defaults from invoking rubocop, not target project's
Stock defaults are read via
RuboCop::ConfigLoader.default_configurationfrom whichever rubocop the INVOKING process loads, not the rubocop the target project pins in its own Gemfile/gemspec. A target pinned to a different rubocop version with different stock defaults would be classified against the wrong baseline.Locally, 1.88.2 / 1.88.0 / 1.86.2 / 1.81.7 are all installed, so this is reachable in practice.
Context
The classifier applies nothing — it prints advice to a human — so neither gap can corrupt a project's config on its own. The risk is misleading advice rather than silent corruption.
Follow-up to lint-init slice 1. Reference: ADR-0066.
Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.