Move lint-worklist batch to concept roots per roles-lint-worklist.md #783
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#783
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
Lint-worklist files sit in role directories with no concept root.
The role table in roles-lint-worklist.md names the moves to consolidate scattered lint-worklist concepts.
Reproduce
n/a: structure-only refactor from a role-morph table.
Approach
Apply the move map in roles-lint-worklist.md with git mv; rename constants; update every caller in lib/, bin/, hooks/, agents/, skills/; move tests to mirror the new paths; update lib/os_sdlc.rb inflections and lint/inward_dependencies.rb tables as needed. Rulings adopted: WorklistReport splits into a LintWorklist controller (controller/) and Worklist::Listing presenter; WorklistTarget becomes Project::LintTarget with a load class method; read-only shell-outs stay Adapters; WorklistRubocopConfig stays top-level; CopPhase nests under Worklist; LintOffense, LintViolations, LintFeedback nest under Brief, Gate, Gate. Decide by the lens heuristics (skills/lens-architecture, lens-tactics, lens-principles); where an Accepted ADR conflicts with a lens rule, follow the lens and record the deviation in docs/crc/os-sdlc/deviations.md.
Required work:
Acceptance criteria
Owner sketch
Non-goals
No behavior change. No new tests. Dead-code deletion is ticket A.
Origin
Commits:
c27fe148,c227d325,52ce20e6,1fb71a79,15db3713,2a76e2ea,b1129fd0(crc-pass-os-sdlc branch); suite 1300 runs/0 failures throughout, bin/lint-worklist byte-identical on --new-project error path.Rows applied: 11/11 (8 move-map rows + 3 renamed-not-relocated rows: CopPhase, RubocopReportFetcher, WorklistGate+Burndown, WorklistTarget+WorklistTargetLoader, WorklistReport split (LintWorklist/Worklist::Listing)+AssignmentFile fold, LintOffense, LintViolations, LintFeedback). WorklistRubocopConfig and FlayCheckTarget left untouched per ticket (flagged-shared adapter; not in this move map).
Rows deviated: 0 skipped; 1 flagged tension (not reverted, ruling stands): Project::LintTarget.load fetching Project::Yaml puts a fetch inside a model root, against lens A11 -- logged in docs/crc/os-sdlc/deviations.md. lint-inward-dependencies moved 63->65 (informational only, exits 0, no baseline gate).
Reversed the A11 fold in commit
4f7b9b30: LintWorklist controller now loads the project, Project::LintTarget only decides.Resolution
Done: lint-worklist batch moved to concept roots per roles-lint-worklist.md: LintWorklist controller, Worklist::Listing/CopPhase/Report/AssignmentFile, LintGate and LintGate::Ledger, Project::LintTarget, Brief::LintOffense, Gate::LintViolations, Gate::LintFeedback; 11 of 11 rows; LintTarget.load fold reversed under A6/A11 so the controller loads and the model decides.
Evidence: Commits c27fe148..4f7b9b30 on crc-pass-os-sdlc; suite 1300 runs 0 failures; bin/lint-worklist stdout byte-identical; inward lint exit 0.
Follow-ups: none