Give "the valid tracker configured for a directory" one owner #1040

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

Problem

Three places answer "what tracker is configured here, and is it valid?", each a different way. A change to the lookup or validity rule must be made three times.

Observed

Evidence: lib/backlog/cli_tracker_requirement.rb:5-9 (Config::Reader + Tracker.valid?, exits via CliExit.fail_soft); lib/backlog/cli_command_wiring.rb:187-188 (dispatch_labels repeats the check, prints instead of exiting); lib/backlog/inspector/command.rb:23-27 (tracker_configured builds its own ConfigLocator + File.read + Config.new, no validity check). Rulings R20, R37, follow-ups 3 and 11.

Reproduce

n/a: duplicated lookup logic found in a crc-refactor tuning run; no runtime command reproduces it.

Acceptance criteria

  1. One method returns the valid tracker for a directory or nil; CliTrackerRequirement calls it and keeps the exit; dispatch_labels calls it and keeps the print; Inspector::Command#tracker_configured calls it; the ConfigLocator/File.read copy is gone; existing tests pass.

Skeptic: VERDICT: CREATE — real duplication, recorded in rulings R20 and R37.

Origin

  • Trigger: crc-refactor tuning run on plugins/os-backlog, branch crc-os-backlog-2026-10-16 (ledger docs/crc/os-backlog/ledger.tsv, rulings docs/crc/os-backlog/rulings.md).
  • Improvised this session: none
  • Chain: duplicated tracker lookup in plugins/os-backlog ← rulings R20 and R37 (docs/crc/os-backlog/rulings.md) ← DESIGN
  • Root candidate: none beyond this ticket
  • Where: plugins/os-backlog/lib/backlog/cli_tracker_requirement.rb
  • Session: a5e278ab-89aa-4ed6-adb4-b70820788f0c
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-backlog-2026-10-16/a5e278ab-89aa-4ed6-adb4-b70820788f0c.jsonl
## Problem Three places answer "what tracker is configured here, and is it valid?", each a different way. A change to the lookup or validity rule must be made three times. ## Observed Evidence: lib/backlog/cli_tracker_requirement.rb:5-9 (Config::Reader + Tracker.valid?, exits via CliExit.fail_soft); lib/backlog/cli_command_wiring.rb:187-188 (`dispatch_labels` repeats the check, prints instead of exiting); lib/backlog/inspector/command.rb:23-27 (`tracker_configured` builds its own ConfigLocator + File.read + Config.new, no validity check). Rulings R20, R37, follow-ups 3 and 11. ## Reproduce n/a: duplicated lookup logic found in a crc-refactor tuning run; no runtime command reproduces it. ## Acceptance criteria 1. One method returns the valid tracker for a directory or nil; CliTrackerRequirement calls it and keeps the exit; dispatch_labels calls it and keeps the print; Inspector::Command#tracker_configured calls it; the ConfigLocator/File.read copy is gone; existing tests pass. Skeptic: VERDICT: CREATE — real duplication, recorded in rulings R20 and R37. ## Origin - Trigger: crc-refactor tuning run on plugins/os-backlog, branch crc-os-backlog-2026-10-16 (ledger docs/crc/os-backlog/ledger.tsv, rulings docs/crc/os-backlog/rulings.md). - Improvised this session: none - Chain: duplicated tracker lookup in plugins/os-backlog ← rulings R20 and R37 (docs/crc/os-backlog/rulings.md) ← DESIGN - Root candidate: none beyond this ticket - Where: plugins/os-backlog/lib/backlog/cli_tracker_requirement.rb - Session: a5e278ab-89aa-4ed6-adb4-b70820788f0c - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-backlog-2026-10-16/a5e278ab-89aa-4ed6-adb4-b70820788f0c.jsonl
Author
Owner

Port slice #1621 does this work through Project. Close this ticket when #1621 ships.

Port slice #1621 does this work through Project. Close this ticket when #1621 ships.
Author
Owner

Resolution

Done: Project is the one owner of the tracker lookup; Tracker::Resolver and the Tracker forwarders are deleted (#1621).

Evidence: main 1fb00d98, #1621

Follow-ups: none

## Resolution **Done:** Project is the one owner of the tracker lookup; Tracker::Resolver and the Tracker forwarders are deleted (#1621). **Evidence:** main 1fb00d98, #1621 **Follow-ups:** none
jared closed this issue 2026-11-07 12:22:23 +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#1040
No description provided.