CRC wave 4: apply CLI, Checkout, Config, ConfigLocator renames and moves #1024
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#1024
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 20 ledger rows (rename and move) for CLI, Checkout, Config, ConfigLocator. 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-backlog/tests/support/cli_test_helpers.rb->plugins/os-backlog/tests/support/cli_sandbox.rbCliTestHelpers->CliSandboxplugins/os-backlog/tests/support/forgejo_cli_helpers.rb->plugins/os-backlog/tests/support/forgejo_in_process_cli_run.rbForgejoCliHelpers->ForgejoInProcessCliRunplugins/os-backlog/tests/support/labels_cli_helpers.rb->plugins/os-backlog/tests/support/subprocess_cli_run.rbLabelsCliHelpers->SubprocessCliRunplugins/os-backlog/lib/backlog/bounce.rb->plugins/os-backlog/lib/backlog/checkout/bounce.rbBacklog::Bounce->Backlog::Checkout::Bounceplugins/os-backlog/lib/backlog/checkout_result.rb->plugins/os-backlog/lib/backlog/checkout/result.rbBacklog::CheckoutResult->Backlog::Checkout::Resultplugins/os-backlog/lib/backlog/heading_content_issues.rb->plugins/os-backlog/lib/backlog/checkout/template_validator/section.rbBacklog::HeadingContentIssues->Backlog::Checkout::TemplateValidator::Sectionplugins/os-backlog/lib/backlog/headings_holder.rb->plugins/os-backlog/lib/backlog/checkout/template_validator/headings.rbBacklog::HeadingsHolder->Backlog::Checkout::TemplateValidator::Headingsplugins/os-backlog/lib/backlog/issue_body.rb->plugins/os-backlog/lib/backlog/checkout/issue_body.rbBacklog::IssueBody->Backlog::Checkout::IssueBodyplugins/os-backlog/tests/issue_body_headings_fence_test.rb->plugins/os-backlog/tests/checkout/issue_body_headings_fence_test.rbplugins/os-backlog/lib/backlog/issue_body/fence_stack.rb->plugins/os-backlog/lib/backlog/checkout/issue_body/fence_stack.rbBacklog::IssueBody::FenceStack->Backlog::Checkout::IssueBody::FenceStackplugins/os-backlog/lib/backlog/issue_body/lines.rb->plugins/os-backlog/lib/backlog/checkout/issue_body/heading_parser.rbBacklog::IssueBody::Lines->Backlog::Checkout::IssueBody::HeadingParserplugins/os-backlog/lib/backlog/retired_test_lines.rb->plugins/os-backlog/lib/backlog/checkout/template_validator/retired_tests_section.rbBacklog::RetiredTestLines->Backlog::Checkout::TemplateValidator::RetiredTestsSectionplugins/os-backlog/lib/backlog/template_validation_result.rb->plugins/os-backlog/lib/backlog/checkout/template_validator/result.rbBacklog::TemplateValidationResult->Backlog::Checkout::TemplateValidator::Resultplugins/os-backlog/lib/backlog/template_validator.rb->plugins/os-backlog/lib/backlog/checkout/template_validator.rbBacklog::TemplateValidator->Backlog::Checkout::TemplateValidatorplugins/os-backlog/tests/template_validator_model_sections_test.rb->plugins/os-backlog/tests/checkout/template_validator_model_sections_test.rb,plugins/os-backlog/tests/template_validator_optional_sections_test.rb->plugins/os-backlog/tests/checkout/template_validator_optional_sections_test.rb,plugins/os-backlog/tests/template_validator_required_work_check_test.rb->plugins/os-backlog/tests/checkout/template_validator_required_work_check_test.rb,plugins/os-backlog/tests/template_validator_test.rb->plugins/os-backlog/tests/checkout/template_validator_test.rbplugins/os-backlog/lib/backlog/ticket_body_checker.rb->plugins/os-backlog/lib/backlog/checkout/template_validator/body_validator.rbBacklog::TicketBodyChecker->Backlog::Checkout::TemplateValidator::BodyValidatorplugins/os-backlog/lib/backlog/validation_report.rb->plugins/os-backlog/lib/backlog/checkout/template_validator/report.rbBacklog::ValidationReport->Backlog::Checkout::TemplateValidator::Reportplugins/os-backlog/tests/support/template_validator_stub_tracker.rb->plugins/os-backlog/tests/support/template_validator_fake_tracker.rbTemplateValidatorStubTracker->TemplateValidatorFakeTrackerplugins/os-backlog/lib/backlog/config_data.rb->plugins/os-backlog/lib/backlog/config/entries.rbBacklog::ConfigData->Backlog::Config::Entriesplugins/os-backlog/lib/backlog/config_line.rb->plugins/os-backlog/lib/backlog/config/line.rbBacklog::ConfigLine->Backlog::Config::Lineplugins/os-backlog/lib/backlog/config_write_command/failed.rb->plugins/os-backlog/lib/backlog/config_write_command/refused.rbBacklog::ConfigWriteCommand::Failed->Backlog::ConfigWriteCommand::Refusedplugins/os-backlog/lib/backlog/config_locator/dir_context.rb->plugins/os-backlog/lib/backlog/config_locator/directory_locator.rbBacklog::ConfigLocator::DirContext->Backlog::ConfigLocator::DirectoryLocatorBefore 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).
ConfigWriteCommandholds two jobs: split it (Q28; blind read)Validator, notChecker(Q8)Locatorfor "finds the path of a file";FinderandContextgo (Q9, Q10)Linesgoes:HeadingParserandRetiredTestsSection(Q12)*Sectionjudges one section;HeadingContentIssuesbecomesTemplateValidator::Section(Q13)Fakeis the one prefix for test stand-ins;StubandRecordinggo (Q17)SandboxandCliRun;*Chdirand*Assertionsstay (Q18, Q36)Resultis a verdict;Reportis a list of messages (Q19)Config::Entriesand the*Lineconvention (Q20)TemplateValidatorandIssueBodygo underCheckout(Q23, Q24 part)Acceptance criteria
ruby plugins/os-backlog/tests/all.rb0 failures.ruby -e 'require "./plugins/os-backlog/lib/backlog"; Backlog.loader.eager_load'silent.Owner sketch
Each constant matches its new path; callers follow the new name.
Non-goals
Origin
864da48ab17651f5and test-support commit plus template example commit (see git log); rows applied 20/20; rows deviated 0; rows blocked 0Resolution
Done: Applied 20/20 rows: Config and ConfigLocator, the Checkout cluster (TemplateValidator, IssueBody, RequiredWork), test-support renames, capture template example.
Evidence:
8247f419864da48ab17651f59bdc88cc(ledger0dea363a); branch crc-os-backlog-2026-10-16 (not merged); os-backlog suite 307 runs, 0 failures; eager load silent; inward lint noneFollow-ups: #1039 (fold Config::Entries into Config, skeptic CREATE)