Delete inward_dependency_test ratchet when the CRC refactor ends #748

Closed
opened 2026-09-26 17:31:45 +00:00 by jared · 4 comments
Owner

Problem

The inward-dependency baseline (currently 73) is a ratchet test — a temporary upper bound that prevents accidental increases in complexity. Ratchets must exit when the underlying refactor completes.

Reproduce

n/a: Exit condition for a ratchet test, not a bug.

Approach

Required work:

  1. Delete the baseline constant and either drop the test or reduce it to a single directional assertion with no count

Acceptance criteria

  1. Given the CRC/role-morph refactor of os-sdlc is complete (HANDOFF.md next steps 3-5 done), when the inward_dependency_test is run, then the ratchet baseline is deleted and replaced with a single directional assertion.

Origin

  • Trigger: Procedure step 6, filed as part of #747 closure during 2026-09-26 session
  • Improvised this session: none
  • Chain: CRC refactor completion → ratchet exit → test simplification (DESIGN: HANDOFF.md next steps)
  • Root candidate: n/a — this is an exit condition
  • Where: plugins/os-sdlc/tests/inward_dependency_test.rb
## Problem The inward-dependency baseline (currently 73) is a ratchet test — a temporary upper bound that prevents accidental increases in complexity. Ratchets must exit when the underlying refactor completes. ## Reproduce n/a: Exit condition for a ratchet test, not a bug. ## Approach Required work: 1. Delete the baseline constant and either drop the test or reduce it to a single directional assertion with no count ## Acceptance criteria 1. Given the CRC/role-morph refactor of os-sdlc is complete (HANDOFF.md next steps 3-5 done), when the inward_dependency_test is run, then the ratchet baseline is deleted and replaced with a single directional assertion. ## Origin - Trigger: Procedure step 6, filed as part of #747 closure during 2026-09-26 session - Improvised this session: none - Chain: CRC refactor completion → ratchet exit → test simplification (DESIGN: HANDOFF.md next steps) - Root candidate: n/a — this is an exit condition - Where: plugins/os-sdlc/tests/inward_dependency_test.rb
Author
Owner

Moved 2026-09-26: the ratchet is now bin/lint-inward-dependencies, a hand-run signal with no baseline (commit 083901a7). Exit condition unchanged: delete the script and its class when the CRC role-morph refactor ends.

Moved 2026-09-26: the ratchet is now bin/lint-inward-dependencies, a hand-run signal with no baseline (commit 083901a7). Exit condition unchanged: delete the script and its class when the CRC role-morph refactor ends.
Author
Owner

Folded in #798. Still live on this branch: resolve in plugins/os-sdlc/lib/os_sdlc/lint/inward_dependencies.rb (lines ~98-106) falls back to the first segment for a qualified constant chain such as Project::Yaml::TEST_DIR_CANDIDATES, so a model to adapter edge goes unreported. Fix: try the longest known prefix before the first-segment fallback. Do it before this ticket deletes or simplifies the ratchet, because the fix may raise the baseline count.

Folded in #798. Still live on this branch: resolve in plugins/os-sdlc/lib/os_sdlc/lint/inward_dependencies.rb (lines ~98-106) falls back to the first segment for a qualified constant chain such as Project::Yaml::TEST_DIR_CANDIDATES, so a model to adapter edge goes unreported. Fix: try the longest known prefix before the first-segment fallback. Do it before this ticket deletes or simplifies the ratchet, because the fix may raise the baseline count.
Author
Owner

Folding #741 into this ticket (ruling (d), 2026-10-16). The live problem of #741: bin/lint-inward-dependencies prints 'unmapped' lines, IssueSource is split between adapter/issue_source/ and command/issue_source.rb, and no baseline gate exists. Phase 7 of docs/crc/PLAN.md deletes the inward-dependency ratchet, so the problem goes away with this ticket.

Folding #741 into this ticket (ruling (d), 2026-10-16). The live problem of #741: bin/lint-inward-dependencies prints 'unmapped' lines, IssueSource is split between adapter/issue_source/ and command/issue_source.rb, and no baseline gate exists. Phase 7 of docs/crc/PLAN.md deletes the inward-dependency ratchet, so the problem goes away with this ticket.
Author
Owner

Resolution

Done: The ratchet baseline and tests/inward_dependency_test.rb are gone. Per predicted ruling (o) the inward lint itself stays: its prefix bug is fixed and it now fails when a file is unmapped.

Evidence: commit 6e50fc6a on main; plugins/os-sdlc/tests/inward_dependency_test.rb absent; lint-inward-dependencies exits 0 with 0 unmapped on docs/crc/os-sdlc/ledger.tsv; docs/crc/PLAN.md ruling (o).

Follow-ups: The 54 outward edges go to Jared in the Phase 7 handoff before any ticket (ruling o).

## Resolution **Done:** The ratchet baseline and tests/inward_dependency_test.rb are gone. Per predicted ruling (o) the inward lint itself stays: its prefix bug is fixed and it now fails when a file is unmapped. **Evidence:** commit 6e50fc6a on main; plugins/os-sdlc/tests/inward_dependency_test.rb absent; lint-inward-dependencies exits 0 with 0 unmapped on docs/crc/os-sdlc/ledger.tsv; docs/crc/PLAN.md ruling (o). **Follow-ups:** The 54 outward edges go to Jared in the Phase 7 handoff before any ticket (ruling o).
jared closed this issue 2026-10-17 02:50:08 +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#748
No description provided.