CRC wave 4: apply CLI, Inspector, Issues renames and moves #1036

Closed
opened 2026-10-16 19:12:32 +00:00 by jared · 2 comments
Owner

Problem

Apply 4 ledger rows (rename and move) for CLI, Inspector, Issues. Each row's path, constant, and test path change as listed in Approach.

Reproduce

n/a: structure-only refactor, no behavior change.

Approach

  1. Required work, in order:
    1. plugins/os-backlog/lib/backlog/cli_option_validator.rb -> plugins/os-backlog/lib/backlog/cli_options.rb
      • constant: Backlog::CliOptionValidator -> Backlog::CliOptions
      • test: no test file
    2. plugins/os-backlog/lib/backlog/cli_start.rb -> plugins/os-backlog/lib/backlog/cli_entry.rb
      • constant: Backlog::CliStart -> Backlog::CliEntry
      • test: no test file
    3. plugins/os-backlog/lib/backlog/tracker/remote_output_parser.rb -> plugins/os-backlog/lib/backlog/inspector/remote_output_parser.rb
      • constant: Backlog::Tracker::RemoteOutputParser -> Backlog::Inspector::RemoteOutputParser
      • test: plugins/os-backlog/tests/tracker/remote_output_parser_test.rb -> plugins/os-backlog/tests/inspector/remote_output_parser_test.rb
    4. plugins/os-backlog/lib/backlog/issues/checked_command.rb -> plugins/os-backlog/lib/backlog/issues/checked_runner.rb
      • constant: Backlog::Issues::CheckedCommand -> Backlog::Issues::CheckedRunner
      • test: no test file
        Before you finish, grep the repository for each old file path and each old constant, not only the constant. Config and docs keep old paths (for example .rubocop.yml, loader collapse lists).
  2. Governing rulings:
    • R11: Lines goes: HeadingParser and RetiredTestsSection (Q12)
    • R15: Runner for the real runner and the test stand-ins; ShellRunner goes top-level (Q16, Q35)
    • R20: The failure-exit rule has one owner; the cwd-tracker part goes to Config, extractable (Q21; os-sdlc caller)
    • R33: CliOptionValidator becomes CliOptions: callers ask it for values, not a verdict (Q38)
    • R35: R1 covers the wave-5 parts of the CLI cluster; they stay top-level with the Cli prefix (Q40, Q42)
    • R36: CliStart becomes CliEntry: a noun for the process entry, not the Thor step (Q41)
    • R39: Issues::CheckedCommand becomes Issues::CheckedRunner (Q45)
    • R47: RemoteOutputParser moves to Inspector, its one caller (Q53)

Acceptance criteria

  • Every named ledger row is applied, or logged in deviations.md, or reported blocked.
  • ruby plugins/os-backlog/tests/all.rb 0 failures.
  • ruby -e 'require "./plugins/os-backlog/lib/backlog"; Backlog.loader.eager_load' silent.

Owner sketch

Each constant matches its new path; callers follow the new name.

Non-goals

  • No behavior change.
  • No new tests.
  • No deletion of code that has callers.

Origin

  • Session: a5e278ab-89aa-4ed6-adb4-b70820788f0c
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-adr-2026-10-04/a5e278ab-89aa-4ed6-adb4-b70820788f0c.jsonl
  • Where: plugins/os-backlog/lib/backlog/cli_option_validator.rb, plugins/os-backlog/lib/backlog/cli_start.rb, plugins/os-backlog/lib/backlog/tracker/remote_output_parser.rb, plugins/os-backlog/lib/backlog/issues/checked_command.rb
  • CRC refactor run: docs/crc/os-backlog.
  • Ledger: docs/crc/os-backlog/ledger.tsv
  • Rulings: docs/crc/os-backlog/rulings.md
  • Wave: 4.
## Problem Apply 4 ledger rows (rename and move) for CLI, Inspector, Issues. Each row's path, constant, and test path change as listed in Approach. ## Reproduce n/a: structure-only refactor, no behavior change. ## Approach 1. Required work, in order: 1. `plugins/os-backlog/lib/backlog/cli_option_validator.rb` -> `plugins/os-backlog/lib/backlog/cli_options.rb` - constant: `Backlog::CliOptionValidator` -> `Backlog::CliOptions` - test: no test file 2. `plugins/os-backlog/lib/backlog/cli_start.rb` -> `plugins/os-backlog/lib/backlog/cli_entry.rb` - constant: `Backlog::CliStart` -> `Backlog::CliEntry` - test: no test file 3. `plugins/os-backlog/lib/backlog/tracker/remote_output_parser.rb` -> `plugins/os-backlog/lib/backlog/inspector/remote_output_parser.rb` - constant: `Backlog::Tracker::RemoteOutputParser` -> `Backlog::Inspector::RemoteOutputParser` - test: `plugins/os-backlog/tests/tracker/remote_output_parser_test.rb` -> `plugins/os-backlog/tests/inspector/remote_output_parser_test.rb` 4. `plugins/os-backlog/lib/backlog/issues/checked_command.rb` -> `plugins/os-backlog/lib/backlog/issues/checked_runner.rb` - constant: `Backlog::Issues::CheckedCommand` -> `Backlog::Issues::CheckedRunner` - test: no test file Before you finish, grep the repository for each old file path and each old constant, not only the constant. Config and docs keep old paths (for example .rubocop.yml, loader collapse lists). 2. Governing rulings: - R11: `Lines` goes: `HeadingParser` and `RetiredTestsSection` (Q12) - R15: `Runner` for the real runner and the test stand-ins; `ShellRunner` goes top-level (Q16, Q35) - R20: The failure-exit rule has one owner; the cwd-tracker part goes to `Config`, extractable (Q21; os-sdlc caller) - R33: `CliOptionValidator` becomes `CliOptions`: callers ask it for values, not a verdict (Q38) - R35: R1 covers the wave-5 parts of the CLI cluster; they stay top-level with the `Cli` prefix (Q40, Q42) - R36: `CliStart` becomes `CliEntry`: a noun for the process entry, not the Thor step (Q41) - R39: `Issues::CheckedCommand` becomes `Issues::CheckedRunner` (Q45) - R47: `RemoteOutputParser` moves to `Inspector`, its one caller (Q53) ## Acceptance criteria - Every named ledger row is applied, or logged in deviations.md, or reported blocked. - `ruby plugins/os-backlog/tests/all.rb` 0 failures. - `ruby -e 'require "./plugins/os-backlog/lib/backlog"; Backlog.loader.eager_load'` silent. ## Owner sketch Each constant matches its new path; callers follow the new name. ## Non-goals - No behavior change. - No new tests. - No deletion of code that has callers. ## Origin - Session: a5e278ab-89aa-4ed6-adb4-b70820788f0c - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-adr-2026-10-04/a5e278ab-89aa-4ed6-adb4-b70820788f0c.jsonl - Where: plugins/os-backlog/lib/backlog/cli_option_validator.rb, plugins/os-backlog/lib/backlog/cli_start.rb, plugins/os-backlog/lib/backlog/tracker/remote_output_parser.rb, plugins/os-backlog/lib/backlog/issues/checked_command.rb - CRC refactor run: docs/crc/os-backlog. - Ledger: docs/crc/os-backlog/ledger.tsv - Rulings: docs/crc/os-backlog/rulings.md - Wave: 4.
Author
Owner

Commits 05da26ec (cli_option_validator.rb -> cli_options.rb, cli_start.rb -> cli_entry.rb), 11a40133 (issues/checked_command.rb -> issues/checked_runner.rb), 14e94e37 (tracker/remote_output_parser.rb -> inspector/remote_output_parser.rb plus test); rows applied 4/4; rows deviated 0; rows blocked 0

Commits 05da26ec (cli_option_validator.rb -> cli_options.rb, cli_start.rb -> cli_entry.rb), 11a40133 (issues/checked_command.rb -> issues/checked_runner.rb), 14e94e37 (tracker/remote_output_parser.rb -> inspector/remote_output_parser.rb plus test); rows applied 4/4; rows deviated 0; rows blocked 0
Author
Owner

Resolution

Done: Applied 4/4 rows: CliOptions, CliEntry, Issues::CheckedRunner, Inspector::RemoteOutputParser (R33 R36 R39 R47).

Evidence: 05da26ec 11a40133 14e94e37 (ledger f82b0d7a); branch crc-os-backlog-2026-10-16 (not merged); os-backlog suite 307 runs, 0 failures; eager load silent; inward lint none

Follow-ups: none

## Resolution **Done:** Applied 4/4 rows: CliOptions, CliEntry, Issues::CheckedRunner, Inspector::RemoteOutputParser (R33 R36 R39 R47). **Evidence:** 05da26ec 11a40133 14e94e37 (ledger f82b0d7a); branch crc-os-backlog-2026-10-16 (not merged); os-backlog suite 307 runs, 0 failures; eager load silent; inward lint none **Follow-ups:** none
jared closed this issue 2026-10-16 19:26:24 +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#1036
No description provided.