Fix the 10 unmapped-cop offenses that crash the os-sdlc lint worklist #825

Closed
opened 2026-09-29 15:41:16 +00:00 by jared · 2 comments
Owner

Problem

The fix-lints lint worklist fails on main for the os-sdlc target. Rubocop reports 10 offenses from 4 cops that have no fix-lints phase, and Worklist#raise_if_unmapped raises. The offenses were on main at 3063a13f, before #802. All 10 are autocorrectable. Decide whether to fix the offenses or map the cops to a phase.

Observed

plugins/os-sdlc/bin/lint-worklist --target os-sdlc
plugins/os-sdlc/lib/os_sdlc/model/worklist.rb:67:in 'OsSdlc::Worklist#raise_if_unmapped': no fix-lints phase mapped for cop(s): Layout/ArgumentAlignment, Layout/EmptyLinesAroundClassBody, Layout/HashAlignment, Style/FrozenStringLiteralComment (OsSdlc::Worklist::UnmappedCop)

Offense counts: Layout/ArgumentAlignment 4, Layout/HashAlignment 4, Layout/EmptyLinesAroundClassBody 1, Style/FrozenStringLiteralComment 1.
Files: plugins/os-sdlc/Gemfile, plugins/os-sdlc/tests/model/agent/transcript_path_test.rb, plugins/os-sdlc/tests/model/project_target_path_test.rb, plugins/os-sdlc/tests/presenter/gate/lesson_relay_test.rb.

Reproduce

plugins/os-sdlc/bin/lint-worklist --target os-sdlc

Origin

  • Trigger: end-to-end check of the lint worklist while verifying #802 (implementation 77)
  • Improvised this session: none
  • Chain: worklist raises UnmappedCop ← 10 offenses in files committed after the last fix-lints run (source: rubocop run, 2026-09-29) ← IMPROVISATION: no gate lints Gemfile or those test files at commit time (unverified)
  • Root candidate: this ticket
  • Where: plugins/os-sdlc/lib/os_sdlc/model/worklist.rb
  • Session: 175d0e16-79aa-402d-8a69-56c74e4d5764
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-pass-os-sdlc/175d0e16-79aa-402d-8a69-56c74e4d5764.jsonl
## Problem The fix-lints lint worklist fails on main for the os-sdlc target. Rubocop reports 10 offenses from 4 cops that have no fix-lints phase, and `Worklist#raise_if_unmapped` raises. The offenses were on main at 3063a13f, before #802. All 10 are autocorrectable. Decide whether to fix the offenses or map the cops to a phase. ## Observed ``` plugins/os-sdlc/bin/lint-worklist --target os-sdlc ``` ``` plugins/os-sdlc/lib/os_sdlc/model/worklist.rb:67:in 'OsSdlc::Worklist#raise_if_unmapped': no fix-lints phase mapped for cop(s): Layout/ArgumentAlignment, Layout/EmptyLinesAroundClassBody, Layout/HashAlignment, Style/FrozenStringLiteralComment (OsSdlc::Worklist::UnmappedCop) ``` Offense counts: Layout/ArgumentAlignment 4, Layout/HashAlignment 4, Layout/EmptyLinesAroundClassBody 1, Style/FrozenStringLiteralComment 1. Files: `plugins/os-sdlc/Gemfile`, `plugins/os-sdlc/tests/model/agent/transcript_path_test.rb`, `plugins/os-sdlc/tests/model/project_target_path_test.rb`, `plugins/os-sdlc/tests/presenter/gate/lesson_relay_test.rb`. ## Reproduce ``` plugins/os-sdlc/bin/lint-worklist --target os-sdlc ``` ## Origin - Trigger: end-to-end check of the lint worklist while verifying #802 (implementation 77) - Improvised this session: none - Chain: worklist raises UnmappedCop ← 10 offenses in files committed after the last fix-lints run (source: rubocop run, 2026-09-29) ← IMPROVISATION: no gate lints `Gemfile` or those test files at commit time (unverified) - Root candidate: this ticket - Where: plugins/os-sdlc/lib/os_sdlc/model/worklist.rb - Session: 175d0e16-79aa-402d-8a69-56c74e4d5764 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-pass-os-sdlc/175d0e16-79aa-402d-8a69-56c74e4d5764.jsonl
Author
Owner

Follow-up dropped (ticket-skeptic, depth-1): the os-sdlc pipeline lint gate skips extensionless Ruby files such as Gemfile (RubyFile.ruby?, adapter/project/ruby_file.rb:10-16). One old Gemfile offense is not a recurring failure, and lint-worklist already lints the whole target and caught it.

Follow-up dropped (ticket-skeptic, depth-1): the os-sdlc pipeline lint gate skips extensionless Ruby files such as Gemfile (RubyFile.ruby?, adapter/project/ruby_file.rb:10-16). One old Gemfile offense is not a recurring failure, and lint-worklist already lints the whole target and caught it.
Author
Owner

Resolution

Done: Autocorrected the 10 offenses in Gemfile and 3 os-sdlc test files (rubocop -a on the tests; -A on Gemfile for the frozen_string_literal comment). No worklist phase mapping added; UnmappedCop stays deliberate.

Evidence: Commit a46f31b2 on main. bin/lint-worklist --target os-sdlc exits 0. ruby tests/all.rb: 1328 runs, 2916 assertions, 0 failures, 0 errors, 9 skips.

Follow-ups: Gemfile lint-gate gap: dropped by ticket-skeptic (depth-1, speculative hardening); reason posted as a comment. Pre-commit lint hook for hand commits: dropped, one layout slip does not justify it. Remaining worklist offenses (Sdlc/Structural cops): none filed; already visible in lint-worklist output.

## Resolution **Done:** Autocorrected the 10 offenses in Gemfile and 3 os-sdlc test files (rubocop -a on the tests; -A on Gemfile for the frozen_string_literal comment). No worklist phase mapping added; UnmappedCop stays deliberate. **Evidence:** Commit a46f31b2 on main. bin/lint-worklist --target os-sdlc exits 0. ruby tests/all.rb: 1328 runs, 2916 assertions, 0 failures, 0 errors, 9 skips. **Follow-ups:** Gemfile lint-gate gap: dropped by ticket-skeptic (depth-1, speculative hardening); reason posted as a comment. Pre-commit lint hook for hand commits: dropped, one layout slip does not justify it. Remaining worklist offenses (Sdlc/Structural cops): none filed; already visible in lint-worklist output.
jared closed this issue 2026-09-29 16:39:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#825
No description provided.