Raise Refused from TrackerValue#checked instead of NameError #1553

Open
opened 2026-11-04 21:46:57 +00:00 by jared · 0 comments
Owner

Problem

Backlog::Config::TrackerValue#checked raises NameError instead of Refused, because raise Refused does not resolve from that class. A caller that rescues the refusal does not catch it, and the user sees the wrong error.

Reproduce

n/a: run Backlog::Config::TrackerValue#checked on a refused tracker value and read the exception class.

Approach

Name the constant so that it resolves.

Required work: none beyond the acceptance criteria.

Acceptance criteria

  1. Given a refused tracker value, when TrackerValue#checked runs, then it raises the Refused error and not NameError.

Origin

  • Trigger: catalog ticket drafting on 2026-11-04 ran this path by hand
  • Improvised this session: none
  • Chain: wrong exception ← raise Refused does not resolve. DESIGN: plugins/os-backlog/lib/backlog/config/
  • Root candidate: none found; searched Refused, TrackerValue, NameError, config-write
  • Where: Backlog::Config::TrackerValue#checked
  • Session: 16528b06-720e-4ee8-b195-838770c1efe8
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/16528b06-720e-4ee8-b195-838770c1efe8.jsonl

VERDICT: CREATE

## Problem `Backlog::Config::TrackerValue#checked` raises `NameError` instead of `Refused`, because `raise Refused` does not resolve from that class. A caller that rescues the refusal does not catch it, and the user sees the wrong error. ## Reproduce n/a: run `Backlog::Config::TrackerValue#checked` on a refused tracker value and read the exception class. ## Approach Name the constant so that it resolves. Required work: none beyond the acceptance criteria. ## Acceptance criteria 1. Given a refused tracker value, when `TrackerValue#checked` runs, then it raises the `Refused` error and not `NameError`. ## Origin - Trigger: catalog ticket drafting on 2026-11-04 ran this path by hand - Improvised this session: none - Chain: wrong exception ← `raise Refused` does not resolve. DESIGN: `plugins/os-backlog/lib/backlog/config/` - Root candidate: none found; searched Refused, TrackerValue, NameError, config-write - Where: `Backlog::Config::TrackerValue#checked` - Session: 16528b06-720e-4ee8-b195-838770c1efe8 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/16528b06-720e-4ee8-b195-838770c1efe8.jsonl VERDICT: CREATE
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#1553
No description provided.