Rename WorkOrder#map_path to map_name end to end #900

Closed
opened 2026-10-02 13:34:46 +00:00 by jared · 2 comments
Owner

Problem

Dispatch::WorkOrder#map_path holds a map name, not a path. The user ruled on 2026-10-02 that Map#name comes from the file basename and that the database stores only the name. The map_path field, the ArgsHolder#map_path! parser method, and the WorkOrder.new(... map_path: ...) call sites carry that name from the implementation-open CLI into Implementation.create. The name map_path now misleads readers. #895 renames the database column to map_name; this ticket renames the work-order side to match.

Reproduce

n/a: naming change, nothing to reproduce.

Approach

Rename the field and its readers in one change. fixture_map_path in plugins/os-sdlc/tests/support/tmpdir_test_case.rb stays as it is: it holds a real path.

Required work:

  1. Rename the Dispatch::WorkOrder field map_path to map_name — check: absent map_path in plugins/os-sdlc/lib/os_sdlc/model/dispatch/work_order.rb
  2. Rename ArgsHolder#map_path! to map_name! and its use — check: absent map_path in plugins/os-sdlc/lib/os_sdlc/parser/dispatch_commands/args_holder.rb
  3. Update command/implementation/open.rb line 18 to read @work_order.map_name — check: absent map_path in plugins/os-sdlc/lib/os_sdlc/command/implementation/open.rb
  4. Update Implementation.create to read work_order.map_name — check: absent map_path in plugins/os-sdlc/lib/**/*.rb
  5. Rename the keyword in every WorkOrder.new(... map_path: ...) call in the tests — check: absent map_path: in plugins/os-sdlc/tests/**/*.rb

Acceptance criteria

  1. Given Dispatch::WorkOrder.new(session_id: "s", ticket: 1, map_name: "toy"), when it is built, then map_name returns "toy" and map_path is not defined.
  2. Given the implementation-open CLI with a map name argument, when it runs, then the new implementation row stores that name in map_name.
  3. Given the plugin source and tests, when searched for map_path, then the only match is fixture_map_path in tests/support/tmpdir_test_case.rb.

Owner sketch

module OsSdlc
  module Dispatch
    WorkOrder = Data.define(:session_id, :ticket, :map_name, :target)
  end
end

class OsSdlc::Parser::DispatchCommands::ArgsHolder
  def map_name!
end

Origin

  • Trigger: user ruling on map naming, 2026-10-02
  • Improvised this session: none
  • Chain: WorkOrder#map_path holds a name ← the map name moved to the file basename and the DB stores only the name ← DESIGN (docs/adr/0261, amended by the ADR that drops the name header)
  • Root candidate: #859
  • Where: plugins/os-sdlc/lib/os_sdlc/model/dispatch/work_order.rb
  • Session: 616e6f92-69d9-4a00-bf30-33a77404deb3
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/616e6f92-69d9-4a00-bf30-33a77404deb3.jsonl

Parent: #859
Blocked by: #895

VERDICT: CREATE (user-directed 2026-10-02)

## Problem `Dispatch::WorkOrder#map_path` holds a map name, not a path. The user ruled on 2026-10-02 that `Map#name` comes from the file basename and that the database stores only the name. The `map_path` field, the `ArgsHolder#map_path!` parser method, and the `WorkOrder.new(... map_path: ...)` call sites carry that name from the implementation-open CLI into `Implementation.create`. The name `map_path` now misleads readers. #895 renames the database column to `map_name`; this ticket renames the work-order side to match. ## Reproduce n/a: naming change, nothing to reproduce. ## Approach Rename the field and its readers in one change. `fixture_map_path` in `plugins/os-sdlc/tests/support/tmpdir_test_case.rb` stays as it is: it holds a real path. Required work: 1. Rename the `Dispatch::WorkOrder` field `map_path` to `map_name` — check: absent `map_path` in `plugins/os-sdlc/lib/os_sdlc/model/dispatch/work_order.rb` 2. Rename `ArgsHolder#map_path!` to `map_name!` and its use — check: absent `map_path` in `plugins/os-sdlc/lib/os_sdlc/parser/dispatch_commands/args_holder.rb` 3. Update `command/implementation/open.rb` line 18 to read `@work_order.map_name` — check: absent `map_path` in `plugins/os-sdlc/lib/os_sdlc/command/implementation/open.rb` 4. Update `Implementation.create` to read `work_order.map_name` — check: absent `map_path` in `plugins/os-sdlc/lib/**/*.rb` 5. Rename the keyword in every `WorkOrder.new(... map_path: ...)` call in the tests — check: absent `map_path:` in `plugins/os-sdlc/tests/**/*.rb` ## Acceptance criteria 1. Given `Dispatch::WorkOrder.new(session_id: "s", ticket: 1, map_name: "toy")`, when it is built, then `map_name` returns "toy" and `map_path` is not defined. 2. Given the `implementation-open` CLI with a map name argument, when it runs, then the new implementation row stores that name in `map_name`. 3. Given the plugin source and tests, when searched for `map_path`, then the only match is `fixture_map_path` in `tests/support/tmpdir_test_case.rb`. ## Owner sketch ```ruby module OsSdlc module Dispatch WorkOrder = Data.define(:session_id, :ticket, :map_name, :target) end end class OsSdlc::Parser::DispatchCommands::ArgsHolder def map_name! end ``` ## Origin - Trigger: user ruling on map naming, 2026-10-02 - Improvised this session: none - Chain: WorkOrder#map_path holds a name ← the map name moved to the file basename and the DB stores only the name ← DESIGN (docs/adr/0261, amended by the ADR that drops the name header) - Root candidate: #859 - Where: plugins/os-sdlc/lib/os_sdlc/model/dispatch/work_order.rb - Session: 616e6f92-69d9-4a00-bf30-33a77404deb3 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/616e6f92-69d9-4a00-bf30-33a77404deb3.jsonl Parent: #859 Blocked by: #895 VERDICT: CREATE (user-directed 2026-10-02)
Author
Owner

Work started on branch ticket-900 through /os-sdlc:implement (poodr-ticket-implementation, target os-sdlc).

Work started on branch ticket-900 through /os-sdlc:implement (poodr-ticket-implementation, target os-sdlc).
Author
Owner

Resolution

Done: Dispatch::WorkOrder#map_path renamed to map_name in the implementation-open parser (args_holder.rb), Command::Implementation::Open and Implementation.open; test call sites updated; new WorkOrder test.

Evidence: Branch ticket-900: 3e484ecb (Runner commit, implementation 7, 12 dispatches, 13 min 49 s, no dirty paths, no LENS lines). Full os-sdlc suite on the clean tree: 1427 runs, 0 failures, 0 errors. grep: no map_path left in lib/, bin/, agents/, skills/; the remaining test hits are the fixture_map_path helper and the schema-30 test that refutes the column.

Follow-ups: none

## Resolution **Done:** Dispatch::WorkOrder#map_path renamed to map_name in the implementation-open parser (args_holder.rb), Command::Implementation::Open and Implementation.open; test call sites updated; new WorkOrder test. **Evidence:** Branch ticket-900: 3e484ecb (Runner commit, implementation 7, 12 dispatches, 13 min 49 s, no dirty paths, no LENS lines). Full os-sdlc suite on the clean tree: 1427 runs, 0 failures, 0 errors. grep: no map_path left in lib/, bin/, agents/, skills/; the remaining test hits are the fixture_map_path helper and the schema-30 test that refutes the column. **Follow-ups:** none
jared closed this issue 2026-10-02 15:26:04 +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#900
No description provided.