Write seed lint-lesson files for negotiation-prone cops #519

Open
opened 2026-08-26 21:33:59 +00:00 by jared · 0 comments
Owner

Context

The lint-lessons relay (built 2026-08-26) maps cop name → .sdlc/lint-lessons/.md, but no lesson files exist yet. Without content the mechanism is inert. Motivating case: Metrics/ParameterLists tripped and the agent requested an exemption because nothing explained the POODR meaning (long parameter list = class doing too much; extract a concrete collaborator, pass it, query via duck type).

Tasks

  • Mine candidates offline from the #507 violations DB: ViolationsQuery keys minus existing lesson files
  • Write Metrics/ParameterLists lesson first (POODR extraction guidance)
  • Lessons for the os-aidd length cops (SkillFileLength/ClaudeMdFileLength successor) and Sdlc/StepBulk
  • Each lesson ~200-400 tokens: the smell, why the threshold is a clue, fix hierarchy, ONE before/after example, legitimate-exemption criteria

Acceptance criteria

  • Lessons render through LessonRelay in a real gate failure
  • Each lesson passes the linter's own token budget (no recursive bloat)

Origin

  • Trigger: lint-lessons design session 2026-08-26; parameter-lists exemption-request incident recounted by the user
  • Improvised this session: none
  • Chain: agents mis-fix or negotiate away offenses ← offense messages carry thresholds without design meaning ← DESIGN (feedback-lint-cop-messages-need-prescription; lesson-relay implementation this session)
  • Root candidate: this ticket
## Context The lint-lessons relay (built 2026-08-26) maps cop name → .sdlc/lint-lessons/<kebab-name>.md, but no lesson files exist yet. Without content the mechanism is inert. Motivating case: Metrics/ParameterLists tripped and the agent requested an exemption because nothing explained the POODR meaning (long parameter list = class doing too much; extract a concrete collaborator, pass it, query via duck type). ## Tasks - [ ] Mine candidates offline from the #507 violations DB: ViolationsQuery keys minus existing lesson files - [ ] Write Metrics/ParameterLists lesson first (POODR extraction guidance) - [ ] Lessons for the os-aidd length cops (SkillFileLength/ClaudeMdFileLength successor) and Sdlc/StepBulk - [ ] Each lesson ~200-400 tokens: the smell, why the threshold is a clue, fix hierarchy, ONE before/after example, legitimate-exemption criteria ## Acceptance criteria - [ ] Lessons render through LessonRelay in a real gate failure - [ ] Each lesson passes the linter's own token budget (no recursive bloat) ## Origin - Trigger: lint-lessons design session 2026-08-26; parameter-lists exemption-request incident recounted by the user - Improvised this session: none - Chain: agents mis-fix or negotiate away offenses ← offense messages carry thresholds without design meaning ← DESIGN (feedback-lint-cop-messages-need-prescription; lesson-relay implementation this session) - Root candidate: this ticket
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#519
No description provided.