CRC wave 5: split Backlog::Tracker #1032

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

Problem

plugins/os-backlog/lib/backlog/tracker.rb (Backlog::Tracker) has the job sentence "This object owns the closed set of tracker value formats and the parsing of git remote output.", 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/tracker.rb (Backlog::Tracker)
    • public methods: valid? kind issues_destination parse_remote
    • test: plugins/os-backlog/tests/tracker_test.rb
    • 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:
    • R14: Tracker and IssuesTracker keep their names; IssuesTracker stays top-level (Q15, Q24 part)

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/tracker.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/tracker.rb` (`Backlog::Tracker`) has the job sentence "This object owns the closed set of tracker value formats and the parsing of git remote output.", 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/tracker.rb` (`Backlog::Tracker`) - public methods: valid? kind issues_destination parse_remote - test: `plugins/os-backlog/tests/tracker_test.rb` - 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: - R14: `Tracker` and `IssuesTracker` keep their names; `IssuesTracker` stays top-level (Q15, Q24 part) ## 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/tracker.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

see HEAD; rows applied 1/1; rows deviated 0; rows blocked 0

see HEAD; rows applied 1/1; rows deviated 0; rows blocked 0
Author
Owner

Commit 78a1ab4f; rows applied 1/1; rows deviated 0; rows blocked 0

Commit 78a1ab4f; rows applied 1/1; rows deviated 0; rows blocked 0
Author
Owner

Resolution

Done: Split Tracker: Tracker::RemoteOutputParser made public and owns its data (moved to Inspector::RemoteOutputParser by #1036).

Evidence: 78a1ab4f; ledger 1dadd435; branch crc-os-backlog-2026-10-16 (not merged); os-backlog suite 307 runs, 0 failures; eager load silent; inward lint none

Follow-ups: dropped: Tracker.issues_destination dead code (skeptic DROP; recorded in HANDOFF.md Review)

## Resolution **Done:** Split Tracker: Tracker::RemoteOutputParser made public and owns its data (moved to Inspector::RemoteOutputParser by #1036). **Evidence:** 78a1ab4f; ledger 1dadd435; branch crc-os-backlog-2026-10-16 (not merged); os-backlog suite 307 runs, 0 failures; eager load silent; inward lint none **Follow-ups:** dropped: Tracker.issues_destination dead code (skeptic DROP; recorded in HANDOFF.md Review)
jared closed this issue 2026-10-16 19:26:16 +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#1032
No description provided.