CRC wave 5: split CrcLedgerFiles #1211

Closed
opened 2026-10-20 06:34:10 +00:00 by jared · 3 comments
Owner

Problem

plugins/os-sdlc/tests/support/crc_ledger_files.rb (CrcLedgerFiles) has the job sentence "This object owns the reading and writing of the ledger.tsv file and the outcome of a crc command run for tests.", which holds two jobs. Extract it into separate files.

Reproduce

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

Approach

  1. Required work:
    • split plugins/os-sdlc/tests/support/crc_ledger_files.rb (CrcLedgerFiles)
    • public methods: write bytes rows
    • test: no test file
    • Part names: read the governing rulings below. Where they name no part, choose the names at extraction.
    • Before you finish, grep the repository for the old file path, not only the constant.
  2. Governing rulings:
    • R13
    • R50

Acceptance criteria

  • Every named ledger row is applied, or logged in deviations.md, or reported blocked.
  • cd plugins/os-sdlc && ruby tests/all.rb 0 failures.
  • ruby -e 'require "./plugins/os-sdlc/lib/os_sdlc"; OsSdlc::Db.connect!(":memory:"); OsSdlc.loader.eager_load' silent.
  • plugins/os-sdlc/bin/lint-sweep shows no unexplained new line.

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: 2e167079-f404-4139-9cfa-6c0c937ce9f0
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-sdlc-run-3/2e167079-f404-4139-9cfa-6c0c937ce9f0.jsonl
  • Where: plugins/os-sdlc/tests/support/crc_ledger_files.rb
  • CRC refactor run: docs/crc/os-sdlc/.
  • Ledger: docs/crc/os-sdlc/ledger.tsv
  • Wave: 5.
## Problem `plugins/os-sdlc/tests/support/crc_ledger_files.rb` (`CrcLedgerFiles`) has the job sentence "This object owns the reading and writing of the ledger.tsv file and the outcome of a crc command run for tests.", which holds two jobs. Extract it into separate files. ## Reproduce n/a: structure-only refactor, no behavior change. ## Approach 1. Required work: - split `plugins/os-sdlc/tests/support/crc_ledger_files.rb` (`CrcLedgerFiles`) - public methods: write bytes rows - test: no test file - Part names: read the governing rulings below. Where they name no part, choose the names at extraction. - Before you finish, grep the repository for the old file path, not only the constant. 2. Governing rulings: - R13 - R50 ## Acceptance criteria - Every named ledger row is applied, or logged in deviations.md, or reported blocked. - `cd plugins/os-sdlc && ruby tests/all.rb` 0 failures. - `ruby -e 'require "./plugins/os-sdlc/lib/os_sdlc"; OsSdlc::Db.connect!(":memory:"); OsSdlc.loader.eager_load'` silent. - `plugins/os-sdlc/bin/lint-sweep` shows no unexplained new line. ## 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: 2e167079-f404-4139-9cfa-6c0c937ce9f0 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-os-sdlc-run-3/2e167079-f404-4139-9cfa-6c0c937ce9f0.jsonl - Where: plugins/os-sdlc/tests/support/crc_ledger_files.rb - CRC refactor run: docs/crc/os-sdlc/. - Ledger: docs/crc/os-sdlc/ledger.tsv - Wave: 5.
Author
Owner

01e4fd98; rows applied 1/1; rows deviated 0; rows blocked 0

01e4fd98; rows applied 1/1; rows deviated 0; rows blocked 0
Author
Owner

Follow-up dropped (skeptic, run 3 close-out): "New value-record category for CrcRunOutcome". The row fits "owns one parsed value", and StepOutcome set that precedent.

Follow-up dropped (skeptic, run 3 close-out): "New value-record category for CrcRunOutcome". The row fits "owns one parsed value", and StepOutcome set that precedent.
Author
Owner

Resolution

Done: Wave 5 split applied: CrcLedgerFixture and CrcRunOutcome (both keep); split-rename stamping fixed.

Evidence: 01e4fd98; tool fix 26c85bf0; records 7971da13; HEAD a2199744 suite 2273 runs 5106 assertions 0 failures 0 errors 45.3s; rubocop on run 3 files: no new offense

Follow-ups: drop 23 (value-record category) noted on this ticket

## Resolution **Done:** Wave 5 split applied: CrcLedgerFixture and CrcRunOutcome (both keep); split-rename stamping fixed. **Evidence:** 01e4fd98; tool fix 26c85bf0; records 7971da13; HEAD a2199744 suite 2273 runs 5106 assertions 0 failures 0 errors 45.3s; rubocop on run 3 files: no new offense **Follow-ups:** drop 23 (value-record category) noted on this ticket
jared closed this issue 2026-10-20 14:09:18 +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#1211
No description provided.