Remove the unchanged gate chain left without a map #1225

Open
opened 2026-10-21 20:37:38 +00:00 by jared · 0 comments
Owner

Problem

Blocked by: #1224.
After ticket 1 deletes the structure-change map, no map uses the unchanged gate.
The gate chain stays as dead code: 8 lib and bin files and 6 tests.
Jared has not ruled on the parent delete choice; it was predicted on his behalf (option A, 75% confidence) and is open for his review, so this ticket depends on that review.

Reproduce

n/a: this is dead code after ticket 1; no failing behavior exists.

Approach

Delete the unchanged gate chain and every reference to it.
The chain is Gate::Name::UNCHANGED, Gate::Commands#unchanged_command, Gate::UnchangedCheck with base_checkout, comparison, and measurement, Implementation::Acceptance#unchanged_check, the unchanged-check entry in Boot::Commands, and bin/os-sdlc-unchanged-check.
Delete the support file for the retired test as well.
Required work:

  1. Delete the gate name and command — check: absent unchanged in plugins/os-sdlc/lib/os_sdlc/gate/name.rb
  2. Delete the gate command builder — check: absent unchanged_command in plugins/os-sdlc/lib/os_sdlc/gate/commands.rb
  3. Delete the check class and its three helpers — check: absent UnchangedCheck in plugins/os-sdlc/lib/**/*.rb
  4. Delete the acceptance method — check: absent unchanged_check in plugins/os-sdlc/lib/os_sdlc/implementation/acceptance.rb
  5. Delete the boot command entry — check: absent unchanged-check in plugins/os-sdlc/lib/os_sdlc/boot/commands.rb
  6. Delete the executable — check: absent unchanged in plugins/os-sdlc/bin/*
  7. Delete the test support file — check: absent UnchangedCheckScenario in plugins/os-sdlc/tests/support/*.rb
    Orchestrator work: run bin/refresh-plugins after the deletion.
    Rejected: keep the chain for future maps — no map names it and no ticket plans one; git history keeps the code.

Acceptance criteria

  1. Given the gate names, when the gate list loads, then no unchanged gate exists.
  2. Given the plugin bin directory, when listed, then no os-sdlc-unchanged-check executable exists.
  3. Given the boot command table, when listed, then no unchanged-check entry exists.
  4. Given the full suite, when it runs, then it passes with the unchanged-check test and support file absent.

Owner sketch

# deleted: OsSdlc::Gate::UnchangedCheck (+ BaseCheckout, Comparison, Measurement)
# edited:  OsSdlc::Gate::Name, OsSdlc::Gate::Commands
# edited:  OsSdlc::Implementation::Acceptance, OsSdlc::Boot::Commands
# deleted: bin/os-sdlc-unchanged-check

Retired tests

plugins/os-sdlc/tests/boot_unchanged_check_test.rb

Origin

  • Trigger: F4 measurement, fast-path handoff 2026-10-21
  • Improvised this session: none
  • Chain: F4 measurement -> ruling A -> ticket 1 -> this ticket (stop at DESIGN with the file)
  • Root candidate: #1224 (blocking ticket); searched unchanged-check, UnchangedCheck, unchanged gate
  • Where: plugins/os-sdlc/lib/os_sdlc/gate/unchanged_check.rb
  • Session: 03befa1b-ac60-4013-8433-1e4b189d9a85
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/03befa1b-ac60-4013-8433-1e4b189d9a85.jsonl

VERDICT: CREATE

## Problem Blocked by: #1224. After ticket 1 deletes the `structure-change` map, no map uses the `unchanged` gate. The gate chain stays as dead code: 8 lib and bin files and 6 tests. Jared has not ruled on the parent delete choice; it was predicted on his behalf (option A, 75% confidence) and is open for his review, so this ticket depends on that review. ## Reproduce n/a: this is dead code after ticket 1; no failing behavior exists. ## Approach Delete the `unchanged` gate chain and every reference to it. The chain is `Gate::Name::UNCHANGED`, `Gate::Commands#unchanged_command`, `Gate::UnchangedCheck` with `base_checkout`, `comparison`, and `measurement`, `Implementation::Acceptance#unchanged_check`, the `unchanged-check` entry in `Boot::Commands`, and `bin/os-sdlc-unchanged-check`. Delete the support file for the retired test as well. Required work: 1. Delete the gate name and command — check: absent `unchanged` in `plugins/os-sdlc/lib/os_sdlc/gate/name.rb` 2. Delete the gate command builder — check: absent `unchanged_command` in `plugins/os-sdlc/lib/os_sdlc/gate/commands.rb` 3. Delete the check class and its three helpers — check: absent `UnchangedCheck` in `plugins/os-sdlc/lib/**/*.rb` 4. Delete the acceptance method — check: absent `unchanged_check` in `plugins/os-sdlc/lib/os_sdlc/implementation/acceptance.rb` 5. Delete the boot command entry — check: absent `unchanged-check` in `plugins/os-sdlc/lib/os_sdlc/boot/commands.rb` 6. Delete the executable — check: absent `unchanged` in `plugins/os-sdlc/bin/*` 7. Delete the test support file — check: absent `UnchangedCheckScenario` in `plugins/os-sdlc/tests/support/*.rb` Orchestrator work: run `bin/refresh-plugins` after the deletion. Rejected: keep the chain for future maps — no map names it and no ticket plans one; git history keeps the code. ## Acceptance criteria 1. Given the gate names, when the gate list loads, then no `unchanged` gate exists. 2. Given the plugin `bin` directory, when listed, then no `os-sdlc-unchanged-check` executable exists. 3. Given the boot command table, when listed, then no `unchanged-check` entry exists. 4. Given the full suite, when it runs, then it passes with the unchanged-check test and support file absent. ## Owner sketch ```ruby # deleted: OsSdlc::Gate::UnchangedCheck (+ BaseCheckout, Comparison, Measurement) # edited: OsSdlc::Gate::Name, OsSdlc::Gate::Commands # edited: OsSdlc::Implementation::Acceptance, OsSdlc::Boot::Commands # deleted: bin/os-sdlc-unchanged-check ``` ## Retired tests plugins/os-sdlc/tests/boot_unchanged_check_test.rb ## Origin - Trigger: F4 measurement, fast-path handoff 2026-10-21 - Improvised this session: none - Chain: F4 measurement -> ruling A -> ticket 1 -> this ticket (stop at DESIGN with the file) - Root candidate: #1224 (blocking ticket); searched unchanged-check, UnchangedCheck, unchanged gate - Where: plugins/os-sdlc/lib/os_sdlc/gate/unchanged_check.rb - Session: 03befa1b-ac60-4013-8433-1e4b189d9a85 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/03befa1b-ac60-4013-8433-1e4b189d9a85.jsonl VERDICT: CREATE
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#1225
No description provided.