CRC wave 5: split Backlog::CliSupport #1027

Closed
opened 2026-10-16 18:24:38 +00:00 by jared · 2 comments
Owner

Problem

plugins/os-backlog/lib/backlog/cli_support.rb (Backlog::CliSupport) has the job sentence "This object owns the exit-with-message rule for a failed command and the tracker configured for the current directory.", which needs "and". Extract it into separate files.

Reproduce

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

Approach

  1. Required work:
    • split plugins/os-backlog/lib/backlog/cli_support.rb (Backlog::CliSupport)
    • public methods: fail_soft cwd_tracker require_cwd_tracker
    • test: no test file
    • Part names are chosen at extraction; the ledger and rulings do not name them.
    • Before you finish, grep the repository for the old file path, not only the constant.
  2. Governing rulings:
    • R20: The failure-exit rule has one owner; the cwd-tracker part goes to Config, extractable (Q21; os-sdlc caller)

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 part owns one job; the old file is removed.

Non-goals

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

Origin

  • Session: 6bf383dd-a0e8-4c9b-9e75-286ee89969c3
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-adr-2026-10-04/6bf383dd-a0e8-4c9b-9e75-286ee89969c3.jsonl
  • Where: plugins/os-backlog/lib/backlog/cli_support.rb
  • CRC refactor run: docs/crc/os-backlog.
  • Ledger: docs/crc/os-backlog/ledger.tsv
  • Rulings: docs/crc/os-backlog/rulings.md
  • Wave: 5.
## Problem `plugins/os-backlog/lib/backlog/cli_support.rb` (`Backlog::CliSupport`) has the job sentence "This object owns the exit-with-message rule for a failed command and the tracker configured for the current directory.", which needs "and". Extract it into separate files. ## Reproduce n/a: structure-only refactor, no behavior change. ## Approach 1. Required work: - split `plugins/os-backlog/lib/backlog/cli_support.rb` (`Backlog::CliSupport`) - public methods: fail_soft cwd_tracker require_cwd_tracker - test: no test file - Part names are chosen at extraction; the ledger and rulings do not name them. - Before you finish, grep the repository for the old file path, not only the constant. 2. Governing rulings: - R20: The failure-exit rule has one owner; the cwd-tracker part goes to `Config`, extractable (Q21; os-sdlc caller) ## 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 part owns one job; the old file is removed. ## Non-goals - No behavior change. - No new tests. - No deletion of code that has callers. ## Origin - Session: 6bf383dd-a0e8-4c9b-9e75-286ee89969c3 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-adr-2026-10-04/6bf383dd-a0e8-4c9b-9e75-286ee89969c3.jsonl - Where: plugins/os-backlog/lib/backlog/cli_support.rb - CRC refactor run: docs/crc/os-backlog. - Ledger: docs/crc/os-backlog/ledger.tsv - Rulings: docs/crc/os-backlog/rulings.md - Wave: 5.
Author
Owner

42a96f40; rows applied 1/1; rows deviated 0; rows blocked 0

42a96f40; rows applied 1/1; rows deviated 0; rows blocked 0
Author
Owner

Resolution

Done: Split CliSupport: Config::Reader extracted (R20), remainder CliExit; os-sdlc takedown adapter backlog_tracker.rb:24 updated.

Evidence: 42a96f40; re-run edb75abb; os-backlog 307 runs, 0 failures; os-sdlc 1701 runs, 0 failures; takedown eval unit tests 607 runs, 0 failures; eager load silent; inward lint none; branch crc-os-backlog-2026-10-16 (not merged)

Follow-ups: #1040 (duplicate config read, skeptic CREATE); #1044 (Sdlc/RequireInMethod crash, pre-existing, skeptic CREATE)

## Resolution **Done:** Split CliSupport: Config::Reader extracted (R20), remainder CliExit; os-sdlc takedown adapter backlog_tracker.rb:24 updated. **Evidence:** 42a96f40; re-run edb75abb; os-backlog 307 runs, 0 failures; os-sdlc 1701 runs, 0 failures; takedown eval unit tests 607 runs, 0 failures; eager load silent; inward lint none; branch crc-os-backlog-2026-10-16 (not merged) **Follow-ups:** #1040 (duplicate config read, skeptic CREATE); #1044 (Sdlc/RequireInMethod crash, pre-existing, skeptic CREATE)
jared closed this issue 2026-10-16 19:26:05 +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#1027
No description provided.