os-sdlc: rename the three *CLI controllers by purpose #833

Closed
opened 2026-09-29 16:33:04 +00:00 by jared · 1 comment
Owner

Problem

Three controller classes keep the CLI suffix.
CLI names a transport, the smell #781 and #829 removed from namespaces (ADR-0236, ADR-0246).
The user wants the architecture and naming corrected for clarity of purpose.

Reproduce

n/a: design and rename ticket.

Approach

Choose names by one rule applied to all three classes.
The user rules on the names before implementation; a design proposal is in preparation in session 17.
Do not label ready-for-agent until the user rules.

Classes:

  • Project::SetupCLI (controller/project/setup_cli.rb, bin/os-sdlc): lint-init writes .rubocop-sdlc.yml; project-config writes .sdlc/project.yaml once when a project joins os-sdlc. It onboards; it does not validate (Project::Validation in implementation-open validates).
  • Evidence::ReportCLI (controller/evidence/report_cli.rb).
  • Daemon::ProbeCLI (controller/daemon/probe_cli.rb, bin/lsp-probe): asks the ruby-lsp daemon for definitions, references, symbols, outline, plus stop, warm, serve. The user suggested Daemon::RubyLsp.

Required work:

  1. Rename the classes, files, Zeitwerk inflections in lib/os_sdlc.rb ("setup_cli", "report_cli", "probe_cli"), bin scripts, and tests — check: bin/os-sdlc-test

Acceptance criteria

  1. Given the renamed controllers, when any bin script runs, then stdout, stderr, and exit status are byte-identical to before.
  2. Given the codebase, when searched, then no controller class keeps the CLI suffix.

Origin

  • Trigger: user request in session 17 design work
  • Improvised this session: none
  • Chain: CLI suffix ← transport naming ← DESIGN (ADR-0236, ADR-0246)
  • Root candidate: none
  • Where: controller/project/setup_cli.rb; controller/evidence/report_cli.rb; controller/daemon/probe_cli.rb
  • Session: 61834fd0-8fa2-40d2-8215-fb2f0622220d
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-pass-os-sdlc/61834fd0-8fa2-40d2-8215-fb2f0622220d.jsonl
## Problem Three controller classes keep the `CLI` suffix. `CLI` names a transport, the smell #781 and #829 removed from namespaces (ADR-0236, ADR-0246). The user wants the architecture and naming corrected for clarity of purpose. ## Reproduce n/a: design and rename ticket. ## Approach Choose names by one rule applied to all three classes. The user rules on the names before implementation; a design proposal is in preparation in session 17. Do not label ready-for-agent until the user rules. Classes: - Project::SetupCLI (controller/project/setup_cli.rb, bin/os-sdlc): lint-init writes .rubocop-sdlc.yml; project-config writes .sdlc/project.yaml once when a project joins os-sdlc. It onboards; it does not validate (Project::Validation in implementation-open validates). - Evidence::ReportCLI (controller/evidence/report_cli.rb). - Daemon::ProbeCLI (controller/daemon/probe_cli.rb, bin/lsp-probe): asks the ruby-lsp daemon for definitions, references, symbols, outline, plus stop, warm, serve. The user suggested Daemon::RubyLsp. Required work: 1. Rename the classes, files, Zeitwerk inflections in lib/os_sdlc.rb ("setup_cli", "report_cli", "probe_cli"), bin scripts, and tests — check: `bin/os-sdlc-test` ## Acceptance criteria 1. Given the renamed controllers, when any bin script runs, then stdout, stderr, and exit status are byte-identical to before. 2. Given the codebase, when searched, then no controller class keeps the `CLI` suffix. ## Origin - Trigger: user request in session 17 design work - Improvised this session: none - Chain: CLI suffix ← transport naming ← DESIGN (ADR-0236, ADR-0246) - Root candidate: none - Where: controller/project/setup_cli.rb; controller/evidence/report_cli.rb; controller/daemon/probe_cli.rb - Session: 61834fd0-8fa2-40d2-8215-fb2f0622220d - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-pass-os-sdlc/61834fd0-8fa2-40d2-8215-fb2f0622220d.jsonl
Author
Owner

Resolution

Done: Project::SetupCLI -> Project::Onboarding, Evidence::ReportCLI -> Evidence::Collection, Daemon::ProbeCLI -> Daemon::Navigation; *_cli inflections removed.

Evidence: Commit e5e3e2dd on main (588e81c9); ADR-0247; bin output byte-identical incl. Thor help; suite 1331 runs 0 failures.

Follow-ups: Five sibling controllers (ArrivalHook, CompletionHook, AsyncLaunchHook, DispatchScripts, ImplementationScripts) await a user ruling on proposed names; recorded in docs/crc/os-sdlc/HANDOFF.md Session 17; ticket to be filed after the ruling

## Resolution **Done:** Project::SetupCLI -> Project::Onboarding, Evidence::ReportCLI -> Evidence::Collection, Daemon::ProbeCLI -> Daemon::Navigation; *_cli inflections removed. **Evidence:** Commit e5e3e2dd on main (588e81c9); ADR-0247; bin output byte-identical incl. Thor help; suite 1331 runs 0 failures. **Follow-ups:** Five sibling controllers (ArrivalHook, CompletionHook, AsyncLaunchHook, DispatchScripts, ImplementationScripts) await a user ruling on proposed names; recorded in docs/crc/os-sdlc/HANDOFF.md Session 17; ticket to be filed after the ruling
jared closed this issue 2026-09-29 16:49:33 +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#833
No description provided.