Cut Lint -> Gate: move Gate::ExitClassification into Lint #1165
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#1165
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
The Lint concept calls into the Gate concept.
Lint::GreenAssertclassifies an exit status withGate::ExitClassification.classify(lint/green_assert.rb:11). That call is the only caller ofGate::ExitClassificationin lib. The edge Lint -> Gate lies on 71 concept cycles. The module belongs with its only caller.Reproduce
n/a: structure-wave cut, nothing to reproduce
Approach
Required work:
plugins/os-sdlc/lib/os_sdlc/gate/exit_classification.rbtoplugins/os-sdlc/lib/os_sdlc/lint/exit_classification.rband rename the module toOsSdlc::Lint::ExitClassification. Behavior stays the same — check: presentExitClassificationinplugins/os-sdlc/lib/os_sdlc/lint/exit_classification.rbplugins/os-sdlc/lib/os_sdlc/lint/green_assert.rb, change the call toExitClassification.classify(exit_status)— check: absentGate::ExitClassificationinplugins/os-sdlc/lib/os_sdlc/lint/green_assert.rbplugins/os-sdlc/tests/gate/exit_classification_test.rbtoplugins/os-sdlc/tests/lint/exit_classification_test.rband update the constant toOsSdlc::Lint::ExitClassification.plugins/os-sdlc/reference/adding-a-summary-parser.mdline 15, change the nameGate::ExitClassificationtoLint::ExitClassification.Acceptance criteria
bin/crc-cycle-edgesruns, then no edge Lint -> Gate listslint/green_assert.rb:11.OsSdlc::Gate::ExitClassificationis referenced, then the constant does not load.Owner sketch
Lint::GreenAssertcallsExitClassification.classify(exit_status). Pinning tests:tests/lint/green_assert_test.rb,tests/lint/base_assert_test.rb,tests/lint/gated_run_test.rb.Retired tests
plugins/os-sdlc/tests/gate/exit_classification_test.rb
Origin
049a7820)VERDICT: CREATE
Work started: os-sdlc CRC run 3 structure wave (S1), /os-sdlc:implement on branch crc-os-sdlc-run-3 (structure-change map).
Resolution
Done: Gate::ExitClassification moved to Lint::ExitClassification; Lint::GreenAssert calls it bare; test moved to tests/lint/exit_classification_test.rb; reference doc updated. Edge Lint->Gate is gone; cycle edges 43 -> 23.
Evidence:
f8a06e1d(runner),c67ca2b3(staged deletion + test restore),a960f488(ledger S1); suite 2248 runs 0 failures 0 errors; eager load silent; crc-inward-delta new 0; rubocop 3 files no offensesFollow-ups: Runner commit left a staged deletion: occurrence posted on #916. Moved test listed under Retired tests was deleted: fixed in the S2/S8 ticket bodies before they run.