CRC wave 4: apply Gate, Implementation, Jobs, LifecycleIvarBehindAttrReader, Lint, Map, MapCatalog, MutableCollectionLeakViaAttrReader, Project, ProjectShell, RetiredTest, StepOutcome, SuiteOutput, Test, UnusedPrivateMethod, YamlFile renames and moves #1208

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

Problem

Apply 24 ledger rows (rename and move) for Gate, Implementation, Jobs, LifecycleIvarBehindAttrReader, Lint, Map, MapCatalog, MutableCollectionLeakViaAttrReader, Project, ProjectShell, RetiredTest, StepOutcome, SuiteOutput, Test, UnusedPrivateMethod, YamlFile. Each row's path, constant, and test path change as listed in Approach.

Reproduce

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

Approach

  1. Required work, in order:
    1. plugins/os-sdlc/lib/os_sdlc/gate/name/unknown_error.rb -> plugins/os-sdlc/lib/os_sdlc/gate/unknown_name_error.rb
      • constant: OsSdlc::Gate::Name::UnknownError -> OsSdlc::Gate::UnknownNameError
      • test: no test file
    2. plugins/os-sdlc/lib/os_sdlc/gate/run/failed_error.rb -> plugins/os-sdlc/lib/os_sdlc/gate/run_failed_error.rb
      • constant: OsSdlc::Gate::Run::FailedError -> OsSdlc::Gate::RunFailedError
      • test: no test file
    3. plugins/os-sdlc/lib/os_sdlc/implementation/edge_selection/unroutable_verdict_error.rb -> plugins/os-sdlc/lib/os_sdlc/implementation/unroutable_verdict_error.rb
      • constant: OsSdlc::Implementation::EdgeSelection::UnroutableVerdictError -> OsSdlc::Implementation::UnroutableVerdictError
      • test: no test file
    4. plugins/os-sdlc/lib/os_sdlc/implementation/next_step/unexplained_state_error.rb -> plugins/os-sdlc/lib/os_sdlc/implementation/unexplained_state_error.rb
      • constant: OsSdlc::Implementation::NextStep::UnexplainedStateError -> OsSdlc::Implementation::UnexplainedStateError
      • test: no test file
    5. plugins/os-sdlc/lib/os_sdlc/implementation/node_name/invalid_error.rb -> plugins/os-sdlc/lib/os_sdlc/implementation/invalid_node_name_error.rb
      • constant: OsSdlc::Implementation::NodeName::InvalidError -> OsSdlc::Implementation::InvalidNodeNameError
      • test: no test file
    6. plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake/refused_error.rb -> plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake_refused_error.rb
      • constant: OsSdlc::Implementation::RerouteIntake::RefusedError -> OsSdlc::Implementation::RerouteIntakeRefusedError
      • test: no test file
    7. plugins/os-sdlc/lib/os_sdlc/project/validation_error.rb -> plugins/os-sdlc/lib/os_sdlc/implementation/project_validation_error.rb
      • constant: OsSdlc::Project::ValidationError -> OsSdlc::Implementation::ProjectValidationError
      • test: no test file
    8. plugins/os-sdlc/lib/os_sdlc/crc/jobs/cell_merge.rb -> plugins/os-sdlc/lib/os_sdlc/crc/cell_merge.rb
      • constant: OsSdlc::Crc::Jobs::CellMerge -> OsSdlc::Crc::CellMerge
      • test: no test file
    9. plugins/os-sdlc/lib/os_sdlc/cops/lifecycle_ivar_behind_attr_reader/attr_declaration_scan.rb -> plugins/os-sdlc/lib/os_sdlc/cops/lifecycle_ivar_behind_attr_reader/attr_declarations.rb
      • constant: RuboCop::Cop::Sdlc::Structural::LifecycleIvarBehindAttrReader::AttrDeclarationScan -> RuboCop::Cop::Sdlc::Structural::LifecycleIvarBehindAttrReader::AttrDeclarations
      • test: no test file
    10. plugins/os-sdlc/lib/os_sdlc/lint/checkpoint_label/no_prior_run_error.rb -> plugins/os-sdlc/lib/os_sdlc/lint/no_prior_run_error.rb
    • constant: OsSdlc::Lint::CheckpointLabel::NoPriorRunError -> OsSdlc::Lint::NoPriorRunError
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/fact_names.rb -> plugins/os-sdlc/lib/os_sdlc/map/fact_names.rb
    • constant: OsSdlc::FactNames -> OsSdlc::Map::FactNames
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/map/gate_expectation/unknown_expect_error.rb -> plugins/os-sdlc/lib/os_sdlc/map/unknown_expect_error.rb
    • constant: OsSdlc::Map::GateExpectation::UnknownExpectError -> OsSdlc::Map::UnknownExpectError
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/map/catalog.rb -> plugins/os-sdlc/lib/os_sdlc/map_catalog.rb
    • constant: OsSdlc::Map::Catalog -> OsSdlc::MapCatalog
    • test: plugins/os-sdlc/tests/map/catalog_drafts_test.rb -> plugins/os-sdlc/tests/map_catalog_drafts_test.rb, plugins/os-sdlc/tests/map/catalog_guard_map_test.rb -> plugins/os-sdlc/tests/map_catalog_guard_map_test.rb, plugins/os-sdlc/tests/map/catalog_requires_drafts_dir_test.rb -> plugins/os-sdlc/tests/map_catalog_requires_drafts_dir_test.rb, plugins/os-sdlc/tests/map/catalog_takedown_map_test.rb -> plugins/os-sdlc/tests/map_catalog_takedown_map_test.rb, plugins/os-sdlc/tests/map/catalog_takedown_placement_test.rb -> plugins/os-sdlc/tests/map_catalog_takedown_placement_test.rb
    1. plugins/os-sdlc/lib/os_sdlc/cops/mutable_collection_leak_via_attr_reader/ivar_mutation_scan.rb -> plugins/os-sdlc/lib/os_sdlc/cops/mutable_collection_leak_via_attr_reader/ivar_mutation.rb
    • constant: RuboCop::Cop::Sdlc::Structural::MutableCollectionLeakViaAttrReader::IvarMutationScan -> RuboCop::Cop::Sdlc::Structural::MutableCollectionLeakViaAttrReader::IvarMutation
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/project/lib_root_search/count_error.rb -> plugins/os-sdlc/lib/os_sdlc/project/lib_root_count_error.rb
    • constant: OsSdlc::Project::LibRootSearch::CountError -> OsSdlc::Project::LibRootCountError
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/project/shell.rb -> plugins/os-sdlc/lib/os_sdlc/project_shell.rb
    • constant: OsSdlc::Project::Shell -> OsSdlc::ProjectShell
    • test: plugins/os-sdlc/tests/project/shell_test.rb -> plugins/os-sdlc/tests/project_shell_test.rb
    1. plugins/os-sdlc/lib/os_sdlc/suite/retired_test.rb -> plugins/os-sdlc/lib/os_sdlc/retired_test.rb
    • constant: OsSdlc::Suite::RetiredTest -> OsSdlc::RetiredTest
    • test: plugins/os-sdlc/tests/suite/retired_test_test.rb -> plugins/os-sdlc/tests/retired_test_test.rb
    1. plugins/os-sdlc/lib/os_sdlc/gate/step_outcome.rb -> plugins/os-sdlc/lib/os_sdlc/step_outcome.rb
    • constant: OsSdlc::Gate::StepOutcome -> OsSdlc::StepOutcome
    • test: plugins/os-sdlc/tests/gate/step_outcome_test.rb -> plugins/os-sdlc/tests/step_outcome_test.rb
    1. plugins/os-sdlc/lib/os_sdlc/suite/output.rb -> plugins/os-sdlc/lib/os_sdlc/suite_output.rb
    • constant: OsSdlc::Suite::Output -> OsSdlc::SuiteOutput
    • test: plugins/os-sdlc/tests/suite/output_test.rb -> plugins/os-sdlc/tests/suite_output_test.rb
    1. plugins/os-sdlc/lib/os_sdlc/suite/output/summary.rb -> plugins/os-sdlc/lib/os_sdlc/suite_output/summary.rb
    • constant: OsSdlc::Suite::Output::Summary -> OsSdlc::SuiteOutput::Summary
    • test: no test file
    1. plugins/os-sdlc/tests/support/fake_shell.rb -> plugins/os-sdlc/tests/support/fake_shell.rb
    • constant: OsSdlc::FakeShell -> FakeShell
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/file_analysis.rb -> plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/unused_defs.rb
    • constant: RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::FileAnalysis -> RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::UnusedDefs
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/private_scope.rb -> plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/body_private_defs.rb
    • constant: RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::PrivateScope -> RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::BodyPrivateDefs
    • test: no test file
    1. plugins/os-sdlc/lib/os_sdlc/yaml_file/error.rb -> plugins/os-sdlc/lib/os_sdlc/yaml_file_error.rb
    • constant: OsSdlc::YamlFile::Error -> OsSdlc::YamlFileError
    • test: no test file
      Before you finish, grep the repository for each old file path and each old constant, not only the constant. Config and docs keep old paths (for example .rubocop.yml, loader collapse lists).
  2. Governing rulings:
    • R1
    • R2
    • R3
    • R4
    • R5
    • R6
    • R16
    • R20
    • R32
    • R39
    • R49
    • R51
    • R52

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 constant matches its new path; callers follow the new name.

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/lib/os_sdlc/gate/name/unknown_error.rb, plugins/os-sdlc/lib/os_sdlc/gate/run/failed_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/edge_selection/unroutable_verdict_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/next_step/unexplained_state_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/node_name/invalid_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake/refused_error.rb, plugins/os-sdlc/lib/os_sdlc/project/validation_error.rb, plugins/os-sdlc/lib/os_sdlc/crc/jobs/cell_merge.rb, plugins/os-sdlc/lib/os_sdlc/cops/lifecycle_ivar_behind_attr_reader/attr_declaration_scan.rb, plugins/os-sdlc/lib/os_sdlc/lint/checkpoint_label/no_prior_run_error.rb, plugins/os-sdlc/lib/os_sdlc/fact_names.rb, plugins/os-sdlc/lib/os_sdlc/map/gate_expectation/unknown_expect_error.rb, plugins/os-sdlc/lib/os_sdlc/map/catalog.rb, plugins/os-sdlc/lib/os_sdlc/cops/mutable_collection_leak_via_attr_reader/ivar_mutation_scan.rb, plugins/os-sdlc/lib/os_sdlc/project/lib_root_search/count_error.rb, plugins/os-sdlc/lib/os_sdlc/project/shell.rb, plugins/os-sdlc/lib/os_sdlc/suite/retired_test.rb, plugins/os-sdlc/lib/os_sdlc/gate/step_outcome.rb, plugins/os-sdlc/lib/os_sdlc/suite/output.rb, plugins/os-sdlc/lib/os_sdlc/suite/output/summary.rb, plugins/os-sdlc/tests/support/fake_shell.rb, plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/file_analysis.rb, plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/private_scope.rb, plugins/os-sdlc/lib/os_sdlc/yaml_file/error.rb
  • CRC refactor run: docs/crc/os-sdlc/.
  • Ledger: docs/crc/os-sdlc/ledger.tsv
  • Wave: 4.
## Problem Apply 24 ledger rows (rename and move) for Gate, Implementation, Jobs, LifecycleIvarBehindAttrReader, Lint, Map, MapCatalog, MutableCollectionLeakViaAttrReader, Project, ProjectShell, RetiredTest, StepOutcome, SuiteOutput, Test, UnusedPrivateMethod, YamlFile. Each row's path, constant, and test path change as listed in Approach. ## Reproduce n/a: structure-only refactor, no behavior change. ## Approach 1. Required work, in order: 1. `plugins/os-sdlc/lib/os_sdlc/gate/name/unknown_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/gate/unknown_name_error.rb` - constant: `OsSdlc::Gate::Name::UnknownError` -> `OsSdlc::Gate::UnknownNameError` - test: no test file 2. `plugins/os-sdlc/lib/os_sdlc/gate/run/failed_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/gate/run_failed_error.rb` - constant: `OsSdlc::Gate::Run::FailedError` -> `OsSdlc::Gate::RunFailedError` - test: no test file 3. `plugins/os-sdlc/lib/os_sdlc/implementation/edge_selection/unroutable_verdict_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/implementation/unroutable_verdict_error.rb` - constant: `OsSdlc::Implementation::EdgeSelection::UnroutableVerdictError` -> `OsSdlc::Implementation::UnroutableVerdictError` - test: no test file 4. `plugins/os-sdlc/lib/os_sdlc/implementation/next_step/unexplained_state_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/implementation/unexplained_state_error.rb` - constant: `OsSdlc::Implementation::NextStep::UnexplainedStateError` -> `OsSdlc::Implementation::UnexplainedStateError` - test: no test file 5. `plugins/os-sdlc/lib/os_sdlc/implementation/node_name/invalid_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/implementation/invalid_node_name_error.rb` - constant: `OsSdlc::Implementation::NodeName::InvalidError` -> `OsSdlc::Implementation::InvalidNodeNameError` - test: no test file 6. `plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake/refused_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake_refused_error.rb` - constant: `OsSdlc::Implementation::RerouteIntake::RefusedError` -> `OsSdlc::Implementation::RerouteIntakeRefusedError` - test: no test file 7. `plugins/os-sdlc/lib/os_sdlc/project/validation_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/implementation/project_validation_error.rb` - constant: `OsSdlc::Project::ValidationError` -> `OsSdlc::Implementation::ProjectValidationError` - test: no test file 8. `plugins/os-sdlc/lib/os_sdlc/crc/jobs/cell_merge.rb` -> `plugins/os-sdlc/lib/os_sdlc/crc/cell_merge.rb` - constant: `OsSdlc::Crc::Jobs::CellMerge` -> `OsSdlc::Crc::CellMerge` - test: no test file 9. `plugins/os-sdlc/lib/os_sdlc/cops/lifecycle_ivar_behind_attr_reader/attr_declaration_scan.rb` -> `plugins/os-sdlc/lib/os_sdlc/cops/lifecycle_ivar_behind_attr_reader/attr_declarations.rb` - constant: `RuboCop::Cop::Sdlc::Structural::LifecycleIvarBehindAttrReader::AttrDeclarationScan` -> `RuboCop::Cop::Sdlc::Structural::LifecycleIvarBehindAttrReader::AttrDeclarations` - test: no test file 10. `plugins/os-sdlc/lib/os_sdlc/lint/checkpoint_label/no_prior_run_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/lint/no_prior_run_error.rb` - constant: `OsSdlc::Lint::CheckpointLabel::NoPriorRunError` -> `OsSdlc::Lint::NoPriorRunError` - test: no test file 11. `plugins/os-sdlc/lib/os_sdlc/fact_names.rb` -> `plugins/os-sdlc/lib/os_sdlc/map/fact_names.rb` - constant: `OsSdlc::FactNames` -> `OsSdlc::Map::FactNames` - test: no test file 12. `plugins/os-sdlc/lib/os_sdlc/map/gate_expectation/unknown_expect_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/map/unknown_expect_error.rb` - constant: `OsSdlc::Map::GateExpectation::UnknownExpectError` -> `OsSdlc::Map::UnknownExpectError` - test: no test file 13. `plugins/os-sdlc/lib/os_sdlc/map/catalog.rb` -> `plugins/os-sdlc/lib/os_sdlc/map_catalog.rb` - constant: `OsSdlc::Map::Catalog` -> `OsSdlc::MapCatalog` - test: `plugins/os-sdlc/tests/map/catalog_drafts_test.rb` -> `plugins/os-sdlc/tests/map_catalog_drafts_test.rb`, `plugins/os-sdlc/tests/map/catalog_guard_map_test.rb` -> `plugins/os-sdlc/tests/map_catalog_guard_map_test.rb`, `plugins/os-sdlc/tests/map/catalog_requires_drafts_dir_test.rb` -> `plugins/os-sdlc/tests/map_catalog_requires_drafts_dir_test.rb`, `plugins/os-sdlc/tests/map/catalog_takedown_map_test.rb` -> `plugins/os-sdlc/tests/map_catalog_takedown_map_test.rb`, `plugins/os-sdlc/tests/map/catalog_takedown_placement_test.rb` -> `plugins/os-sdlc/tests/map_catalog_takedown_placement_test.rb` 14. `plugins/os-sdlc/lib/os_sdlc/cops/mutable_collection_leak_via_attr_reader/ivar_mutation_scan.rb` -> `plugins/os-sdlc/lib/os_sdlc/cops/mutable_collection_leak_via_attr_reader/ivar_mutation.rb` - constant: `RuboCop::Cop::Sdlc::Structural::MutableCollectionLeakViaAttrReader::IvarMutationScan` -> `RuboCop::Cop::Sdlc::Structural::MutableCollectionLeakViaAttrReader::IvarMutation` - test: no test file 15. `plugins/os-sdlc/lib/os_sdlc/project/lib_root_search/count_error.rb` -> `plugins/os-sdlc/lib/os_sdlc/project/lib_root_count_error.rb` - constant: `OsSdlc::Project::LibRootSearch::CountError` -> `OsSdlc::Project::LibRootCountError` - test: no test file 16. `plugins/os-sdlc/lib/os_sdlc/project/shell.rb` -> `plugins/os-sdlc/lib/os_sdlc/project_shell.rb` - constant: `OsSdlc::Project::Shell` -> `OsSdlc::ProjectShell` - test: `plugins/os-sdlc/tests/project/shell_test.rb` -> `plugins/os-sdlc/tests/project_shell_test.rb` 17. `plugins/os-sdlc/lib/os_sdlc/suite/retired_test.rb` -> `plugins/os-sdlc/lib/os_sdlc/retired_test.rb` - constant: `OsSdlc::Suite::RetiredTest` -> `OsSdlc::RetiredTest` - test: `plugins/os-sdlc/tests/suite/retired_test_test.rb` -> `plugins/os-sdlc/tests/retired_test_test.rb` 18. `plugins/os-sdlc/lib/os_sdlc/gate/step_outcome.rb` -> `plugins/os-sdlc/lib/os_sdlc/step_outcome.rb` - constant: `OsSdlc::Gate::StepOutcome` -> `OsSdlc::StepOutcome` - test: `plugins/os-sdlc/tests/gate/step_outcome_test.rb` -> `plugins/os-sdlc/tests/step_outcome_test.rb` 19. `plugins/os-sdlc/lib/os_sdlc/suite/output.rb` -> `plugins/os-sdlc/lib/os_sdlc/suite_output.rb` - constant: `OsSdlc::Suite::Output` -> `OsSdlc::SuiteOutput` - test: `plugins/os-sdlc/tests/suite/output_test.rb` -> `plugins/os-sdlc/tests/suite_output_test.rb` 20. `plugins/os-sdlc/lib/os_sdlc/suite/output/summary.rb` -> `plugins/os-sdlc/lib/os_sdlc/suite_output/summary.rb` - constant: `OsSdlc::Suite::Output::Summary` -> `OsSdlc::SuiteOutput::Summary` - test: no test file 21. `plugins/os-sdlc/tests/support/fake_shell.rb` -> `plugins/os-sdlc/tests/support/fake_shell.rb` - constant: `OsSdlc::FakeShell` -> `FakeShell` - test: no test file 22. `plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/file_analysis.rb` -> `plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/unused_defs.rb` - constant: `RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::FileAnalysis` -> `RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::UnusedDefs` - test: no test file 23. `plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/private_scope.rb` -> `plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/body_private_defs.rb` - constant: `RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::PrivateScope` -> `RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::BodyPrivateDefs` - test: no test file 24. `plugins/os-sdlc/lib/os_sdlc/yaml_file/error.rb` -> `plugins/os-sdlc/lib/os_sdlc/yaml_file_error.rb` - constant: `OsSdlc::YamlFile::Error` -> `OsSdlc::YamlFileError` - test: no test file Before you finish, grep the repository for each old file path and each old constant, not only the constant. Config and docs keep old paths (for example .rubocop.yml, loader collapse lists). 2. Governing rulings: - R1 - R2 - R3 - R4 - R5 - R6 - R16 - R20 - R32 - R39 - R49 - R51 - R52 ## 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 constant matches its new path; callers follow the new name. ## 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/lib/os_sdlc/gate/name/unknown_error.rb, plugins/os-sdlc/lib/os_sdlc/gate/run/failed_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/edge_selection/unroutable_verdict_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/next_step/unexplained_state_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/node_name/invalid_error.rb, plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake/refused_error.rb, plugins/os-sdlc/lib/os_sdlc/project/validation_error.rb, plugins/os-sdlc/lib/os_sdlc/crc/jobs/cell_merge.rb, plugins/os-sdlc/lib/os_sdlc/cops/lifecycle_ivar_behind_attr_reader/attr_declaration_scan.rb, plugins/os-sdlc/lib/os_sdlc/lint/checkpoint_label/no_prior_run_error.rb, plugins/os-sdlc/lib/os_sdlc/fact_names.rb, plugins/os-sdlc/lib/os_sdlc/map/gate_expectation/unknown_expect_error.rb, plugins/os-sdlc/lib/os_sdlc/map/catalog.rb, plugins/os-sdlc/lib/os_sdlc/cops/mutable_collection_leak_via_attr_reader/ivar_mutation_scan.rb, plugins/os-sdlc/lib/os_sdlc/project/lib_root_search/count_error.rb, plugins/os-sdlc/lib/os_sdlc/project/shell.rb, plugins/os-sdlc/lib/os_sdlc/suite/retired_test.rb, plugins/os-sdlc/lib/os_sdlc/gate/step_outcome.rb, plugins/os-sdlc/lib/os_sdlc/suite/output.rb, plugins/os-sdlc/lib/os_sdlc/suite/output/summary.rb, plugins/os-sdlc/tests/support/fake_shell.rb, plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/file_analysis.rb, plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/private_scope.rb, plugins/os-sdlc/lib/os_sdlc/yaml_file/error.rb - CRC refactor run: docs/crc/os-sdlc/. - Ledger: docs/crc/os-sdlc/ledger.tsv - Wave: 4.
Author
Owner

Commits 1e039408, 26d36ece; rows applied 24/24; rows deviated 0 (9 inward-offense deviation lines in deviations.md, same cause as #1207); rows blocked 0

Commits 1e039408, 26d36ece; rows applied 24/24; rows deviated 0 (9 inward-offense deviation lines in deviations.md, same cause as #1207); rows blocked 0
Author
Owner

Follow-up dropped (skeptic, run 3 close-out): "FACT_RESOLVERS message at facts.rb:21". It is a one-string cosmetic fix, and the depth-1 rule applies.

Follow-up dropped (skeptic, run 3 close-out): "FACT_RESOLVERS message at facts.rb:21". It is a one-string cosmetic fix, and the depth-1 rule applies.
Author
Owner

Follow-up dropped (skeptic, run 3 close-out): "Old constants in the implementation-status leaf". The skeptic found no hits.

Follow-up dropped (skeptic, run 3 close-out): "Old constants in the implementation-status leaf". The skeptic found no hits.
Author
Owner

Follow-up dropped (skeptic, run 3 close-out): "crc-ledger-commits pairs renames wrongly". A script stamped the commit cell; the depth-1 rule applies. If it recurs, one Changes#landed? ticket covers this and the in-place rename case.

Follow-up dropped (skeptic, run 3 close-out): "crc-ledger-commits pairs renames wrongly". A script stamped the commit cell; the depth-1 rule applies. If it recurs, one Changes#landed? ticket covers this and the in-place rename case.
Author
Owner

Follow-up dropped (skeptic, run 3 close-out): "crc-ledger-commits misses an in-place constant rename (FakeShell)". One row, stamped by script; the check side is fixed (26d36ece). The depth-1 rule applies.

Follow-up dropped (skeptic, run 3 close-out): "crc-ledger-commits misses an in-place constant rename (FakeShell)". One row, stamped by script; the check side is fixed (26d36ece). The depth-1 rule applies.
Author
Owner

Resolution

Done: Wave 4 batch applied: 12 ledger rows renamed or moved, behavior unchanged; placement rulings R123-R127 recorded.

Evidence: 1e039408 26d36ece; check fix c0f985fc; ledger 34c99fed; rulings a3994edd; HEAD a2199744 suite 2273 runs 5106 assertions 0 failures 0 errors 45.3s; rubocop on run 3 files: no new offense (tests/dispatch_test.rb:211 InlineDatasetQuery predates run 3; PrimitiveObsessedIvar crashes on retired_test.rb, tooling item)

Follow-ups: #1212 (inward edges, created); drops 03, 04, 18, 19 noted on this ticket

## Resolution **Done:** Wave 4 batch applied: 12 ledger rows renamed or moved, behavior unchanged; placement rulings R123-R127 recorded. **Evidence:** 1e039408 26d36ece; check fix c0f985fc; ledger 34c99fed; rulings a3994edd; HEAD a2199744 suite 2273 runs 5106 assertions 0 failures 0 errors 45.3s; rubocop on run 3 files: no new offense (tests/dispatch_test.rb:211 InlineDatasetQuery predates run 3; PrimitiveObsessedIvar crashes on retired_test.rb, tooling item) **Follow-ups:** #1212 (inward edges, created); drops 03, 04, 18, 19 noted on this ticket
jared closed this issue 2026-10-20 14:09:10 +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#1208
No description provided.