Carry detector lessons into the collaborator-pass brief #1223

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

Problem

Detector lessons do not reach the prescriber brief. OffenseDirective passes only cop names to Lesson::Relay. The eight lint-lessons/detector-<signal>.yml files from fast-batch-3 have no reader. Jared ruled B on 2026-10-21: the lesson mechanism keys on detector signal names. Steps 2 and 3 of ruling B are code, and this ticket holds them.

Reproduce

n/a: feature ticket; no detector lesson is read by any code today.

Approach

Add detector signal columns to the collaborator-pass findings TSV. Add a presenter that looks up detector-<signal> in Lesson::Catalog and carries the lesson text into the brief. The prescriber does not open the recipes file, so the brief must carry the text.

Required work: none beyond the acceptance criteria.

Orchestrator work: before the first edit, run /os-adr:find on the signal-name vocabulary. Signal names become parsed vocabulary here. If find says a ruling is needed, the ruling goes to Jared.

Acceptance criteria

  1. Given a collaborator-pass finding with a detector signal that has a detector-<signal>.yml lesson, when the brief is built, then the brief contains that lesson text.
  2. Given a finding with a detector signal that has no lesson file, when the brief is built, then the brief has no lesson text for it and the build does not fail.

Non-goals

The detector-versus-cop layer design (.cc-os/os/handoffs/2026-10-21-2018-detector-cop-design-debate.md) and #1220 stay out of scope. Do not add or rename signal names.

Origin

  • Trigger: fast-batch-3 measurement of ruling B (one home for detector rules)
  • Improvised this session: none
  • Chain: detector rules copied in prose ← no reader for detector lessons ← OffenseDirective passes cop names only (DESIGN: plugins/os-sdlc/lib/os_sdlc/lesson/relay.rb)
  • Root candidate: none found; searched lesson, Relay, OffenseDirective, detector, prescriber brief, collaborator-pass, detector-
  • Where: plugins/os-sdlc/lib/os_sdlc/lesson/relay.rb, OffenseDirective
  • 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 Detector lessons do not reach the prescriber brief. `OffenseDirective` passes only cop names to `Lesson::Relay`. The eight `lint-lessons/detector-<signal>.yml` files from fast-batch-3 have no reader. Jared ruled B on 2026-10-21: the lesson mechanism keys on detector signal names. Steps 2 and 3 of ruling B are code, and this ticket holds them. ## Reproduce n/a: feature ticket; no detector lesson is read by any code today. ## Approach Add detector signal columns to the collaborator-pass findings TSV. Add a presenter that looks up `detector-<signal>` in `Lesson::Catalog` and carries the lesson text into the brief. The prescriber does not open the recipes file, so the brief must carry the text. Required work: none beyond the acceptance criteria. Orchestrator work: before the first edit, run `/os-adr:find` on the signal-name vocabulary. Signal names become parsed vocabulary here. If find says a ruling is needed, the ruling goes to Jared. ## Acceptance criteria 1. Given a collaborator-pass finding with a detector signal that has a `detector-<signal>.yml` lesson, when the brief is built, then the brief contains that lesson text. 2. Given a finding with a detector signal that has no lesson file, when the brief is built, then the brief has no lesson text for it and the build does not fail. ## Non-goals The detector-versus-cop layer design (`.cc-os/os/handoffs/2026-10-21-2018-detector-cop-design-debate.md`) and #1220 stay out of scope. Do not add or rename signal names. ## Origin - Trigger: fast-batch-3 measurement of ruling B (one home for detector rules) - Improvised this session: none - Chain: detector rules copied in prose ← no reader for detector lessons ← `OffenseDirective` passes cop names only (DESIGN: `plugins/os-sdlc/lib/os_sdlc/lesson/relay.rb`) - Root candidate: none found; searched lesson, Relay, OffenseDirective, detector, prescriber brief, collaborator-pass, detector- - Where: `plugins/os-sdlc/lib/os_sdlc/lesson/relay.rb`, `OffenseDirective` - 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#1223
No description provided.