CRC wave 4: apply Gate, Implementation, Jobs, LifecycleIvarBehindAttrReader, Lint, Map, MapCatalog, MutableCollectionLeakViaAttrReader, Project, ProjectShell, RetiredTest, StepOutcome, SuiteOutput, Test, UnusedPrivateMethod, YamlFile renames and moves #1208
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1208
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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
plugins/os-sdlc/lib/os_sdlc/gate/name/unknown_error.rb->plugins/os-sdlc/lib/os_sdlc/gate/unknown_name_error.rbOsSdlc::Gate::Name::UnknownError->OsSdlc::Gate::UnknownNameErrorplugins/os-sdlc/lib/os_sdlc/gate/run/failed_error.rb->plugins/os-sdlc/lib/os_sdlc/gate/run_failed_error.rbOsSdlc::Gate::Run::FailedError->OsSdlc::Gate::RunFailedErrorplugins/os-sdlc/lib/os_sdlc/implementation/edge_selection/unroutable_verdict_error.rb->plugins/os-sdlc/lib/os_sdlc/implementation/unroutable_verdict_error.rbOsSdlc::Implementation::EdgeSelection::UnroutableVerdictError->OsSdlc::Implementation::UnroutableVerdictErrorplugins/os-sdlc/lib/os_sdlc/implementation/next_step/unexplained_state_error.rb->plugins/os-sdlc/lib/os_sdlc/implementation/unexplained_state_error.rbOsSdlc::Implementation::NextStep::UnexplainedStateError->OsSdlc::Implementation::UnexplainedStateErrorplugins/os-sdlc/lib/os_sdlc/implementation/node_name/invalid_error.rb->plugins/os-sdlc/lib/os_sdlc/implementation/invalid_node_name_error.rbOsSdlc::Implementation::NodeName::InvalidError->OsSdlc::Implementation::InvalidNodeNameErrorplugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake/refused_error.rb->plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake_refused_error.rbOsSdlc::Implementation::RerouteIntake::RefusedError->OsSdlc::Implementation::RerouteIntakeRefusedErrorplugins/os-sdlc/lib/os_sdlc/project/validation_error.rb->plugins/os-sdlc/lib/os_sdlc/implementation/project_validation_error.rbOsSdlc::Project::ValidationError->OsSdlc::Implementation::ProjectValidationErrorplugins/os-sdlc/lib/os_sdlc/crc/jobs/cell_merge.rb->plugins/os-sdlc/lib/os_sdlc/crc/cell_merge.rbOsSdlc::Crc::Jobs::CellMerge->OsSdlc::Crc::CellMergeplugins/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.rbRuboCop::Cop::Sdlc::Structural::LifecycleIvarBehindAttrReader::AttrDeclarationScan->RuboCop::Cop::Sdlc::Structural::LifecycleIvarBehindAttrReader::AttrDeclarationsplugins/os-sdlc/lib/os_sdlc/lint/checkpoint_label/no_prior_run_error.rb->plugins/os-sdlc/lib/os_sdlc/lint/no_prior_run_error.rbOsSdlc::Lint::CheckpointLabel::NoPriorRunError->OsSdlc::Lint::NoPriorRunErrorplugins/os-sdlc/lib/os_sdlc/fact_names.rb->plugins/os-sdlc/lib/os_sdlc/map/fact_names.rbOsSdlc::FactNames->OsSdlc::Map::FactNamesplugins/os-sdlc/lib/os_sdlc/map/gate_expectation/unknown_expect_error.rb->plugins/os-sdlc/lib/os_sdlc/map/unknown_expect_error.rbOsSdlc::Map::GateExpectation::UnknownExpectError->OsSdlc::Map::UnknownExpectErrorplugins/os-sdlc/lib/os_sdlc/map/catalog.rb->plugins/os-sdlc/lib/os_sdlc/map_catalog.rbOsSdlc::Map::Catalog->OsSdlc::MapCatalogplugins/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.rbplugins/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.rbRuboCop::Cop::Sdlc::Structural::MutableCollectionLeakViaAttrReader::IvarMutationScan->RuboCop::Cop::Sdlc::Structural::MutableCollectionLeakViaAttrReader::IvarMutationplugins/os-sdlc/lib/os_sdlc/project/lib_root_search/count_error.rb->plugins/os-sdlc/lib/os_sdlc/project/lib_root_count_error.rbOsSdlc::Project::LibRootSearch::CountError->OsSdlc::Project::LibRootCountErrorplugins/os-sdlc/lib/os_sdlc/project/shell.rb->plugins/os-sdlc/lib/os_sdlc/project_shell.rbOsSdlc::Project::Shell->OsSdlc::ProjectShellplugins/os-sdlc/tests/project/shell_test.rb->plugins/os-sdlc/tests/project_shell_test.rbplugins/os-sdlc/lib/os_sdlc/suite/retired_test.rb->plugins/os-sdlc/lib/os_sdlc/retired_test.rbOsSdlc::Suite::RetiredTest->OsSdlc::RetiredTestplugins/os-sdlc/tests/suite/retired_test_test.rb->plugins/os-sdlc/tests/retired_test_test.rbplugins/os-sdlc/lib/os_sdlc/gate/step_outcome.rb->plugins/os-sdlc/lib/os_sdlc/step_outcome.rbOsSdlc::Gate::StepOutcome->OsSdlc::StepOutcomeplugins/os-sdlc/tests/gate/step_outcome_test.rb->plugins/os-sdlc/tests/step_outcome_test.rbplugins/os-sdlc/lib/os_sdlc/suite/output.rb->plugins/os-sdlc/lib/os_sdlc/suite_output.rbOsSdlc::Suite::Output->OsSdlc::SuiteOutputplugins/os-sdlc/tests/suite/output_test.rb->plugins/os-sdlc/tests/suite_output_test.rbplugins/os-sdlc/lib/os_sdlc/suite/output/summary.rb->plugins/os-sdlc/lib/os_sdlc/suite_output/summary.rbOsSdlc::Suite::Output::Summary->OsSdlc::SuiteOutput::Summaryplugins/os-sdlc/tests/support/fake_shell.rb->plugins/os-sdlc/tests/support/fake_shell.rbOsSdlc::FakeShell->FakeShellplugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/file_analysis.rb->plugins/os-sdlc/lib/os_sdlc/cops/unused_private_method/unused_defs.rbRuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::FileAnalysis->RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::UnusedDefsplugins/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.rbRuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::PrivateScope->RuboCop::Cop::Sdlc::Structural::UnusedPrivateMethod::BodyPrivateDefsplugins/os-sdlc/lib/os_sdlc/yaml_file/error.rb->plugins/os-sdlc/lib/os_sdlc/yaml_file_error.rbOsSdlc::YamlFile::Error->OsSdlc::YamlFileErrorBefore 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).
Acceptance criteria
cd plugins/os-sdlc && ruby tests/all.rb0 failures.ruby -e 'require "./plugins/os-sdlc/lib/os_sdlc"; OsSdlc::Db.connect!(":memory:"); OsSdlc.loader.eager_load'silent.plugins/os-sdlc/bin/lint-sweepshows no unexplained new line.Owner sketch
Each constant matches its new path; callers follow the new name.
Non-goals
Origin
Commits
1e039408,26d36ece; rows applied 24/24; rows deviated 0 (9 inward-offense deviation lines in deviations.md, same cause as #1207); rows blocked 0Follow-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): "Old constants in the implementation-status leaf". The skeptic found no hits.
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 misses an in-place constant rename (FakeShell)". One row, stamped by script; the check side is fixed (
26d36ece). The depth-1 rule applies.Resolution
Done: Wave 4 batch applied: 12 ledger rows renamed or moved, behavior unchanged; placement rulings R123-R127 recorded.
Evidence:
1e03940826d36ece; check fixc0f985fc; ledger34c99fed; rulingsa3994edd; HEADa2199744suite 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