CRC wave 5: split Backlog::Wakeup #1033

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

Problem

plugins/os-backlog/lib/backlog/wakeup.rb (Backlog::Wakeup) has the job sentence "This object owns the choice of which new issues wake which projects and the text of the session that starts.", 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/wakeup.rb (Backlog::Wakeup)
    • public methods: tier eligible_projects new_issues highest_index tmux_command session_prompt label_names project_data prompt_lines
    • test: plugins/os-backlog/tests/wakeup_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:
    • R31: Wakeup splits in three: the root keeps the issue choice; Eligibility and Session leave

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/wakeup.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/wakeup.rb` (`Backlog::Wakeup`) has the job sentence "This object owns the choice of which new issues wake which projects and the text of the session that starts.", 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/wakeup.rb` (`Backlog::Wakeup`) - public methods: tier eligible_projects new_issues highest_index tmux_command session_prompt label_names project_data prompt_lines - test: `plugins/os-backlog/tests/wakeup_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: - R31: `Wakeup` splits in three: the root keeps the issue choice; `Eligibility` and `Session` leave ## 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/wakeup.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

1a0e591d; rows applied 1/1; rows deviated 0; rows blocked 0

1a0e591d; rows applied 1/1; rows deviated 0; rows blocked 0
Author
Owner

Resolution

Done: Split Wakeup into root (issue choice), Wakeup::Eligibility and Wakeup::Session (R31).

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

Follow-ups: #1042 (unused tier: keyword, skeptic CREATE); dropped: further Wakeup root split (R48, skeptic DROP; user decides at review)

## Resolution **Done:** Split Wakeup into root (issue choice), Wakeup::Eligibility and Wakeup::Session (R31). **Evidence:** 1a0e591d; ledger 97dab7d7; branch crc-os-backlog-2026-10-16 (not merged); os-backlog suite 307 runs, 0 failures; eager load silent; inward lint none **Follow-ups:** #1042 (unused tier: keyword, skeptic CREATE); dropped: further Wakeup root split (R48, skeptic DROP; user decides at review)
jared closed this issue 2026-10-16 19:26:19 +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#1033
No description provided.