Add DomainOperandInEdge and DomainEffectInEdge to the system-model Edge cop list #1526

Open
opened 2026-11-03 14:39:54 +00:00 by jared · 0 comments
Owner

Problem

Catalog::Edge asks only one A19 cop whether a class holds a domain rule. #1517 made PrecedenceInEdge that cop. Cops O (Sdlc/Structural/DomainOperandInEdge, #1510) and E (Sdlc/Structural/DomainEffectInEdge, #1511) find other shapes of a domain rule inside an adapter. The extractor does not run them. After #1517, run-4 agreement is 13/18. All five disagreements are misses: the expert says the class holds a domain rule, and PrecedenceInEdge has no hit in it (OsMe::LabelFile, OsMe::RouteComparison, OsMe::Scorer, OsMe::ReplyShape::EvalRun, OsSdlc::Crc::Census::SourceRow).

Reproduce

n/a: detector design change. Measure with docs/system-design-format/proof/run-4/measure_edge.rb and the D-row script described in #1517.

Approach

Add O and E to OsSdlc::SystemModel::Extractor::CopOffenses::COPS in plugins/os-sdlc/lib/os_sdlc/system_model/extractor/cop_offenses.rb, beside PrecedenceInEdge.

Measure before and after over os-sdlc, os-backlog and os-me: Edge, Domain, Repository, Hex, and TRUE/FALSE against docs/system-design-format/proof/2026-11-02-detector-a19/findings.tsv, plus run-4 agreement. Record the numbers as dated snapshots, not as fixed targets. The bar is 0 FALSE on labeled sites. Misses are acceptable.

Held for Jared: he reviews the system-model map before any change of detector direction (2026-11-03). Rule on this ticket after that review.

Origin

  • Trigger: handoff 2026-11-02-2359-detector-mvp-unblocked-tickets-afk.md ("If both are closed, capture a follow-up that adds O and E to the D cop-list constant from #1517")
  • Improvised this session: none
  • Chain: run-4 misses after #1517 ← Edge asks only PrecedenceInEdge ← DESIGN #1517 (option D, cop list of one)
  • Root candidate: none found; searched DomainOperandInEdge, DomainEffectInEdge, PrecedenceInEdge, cop list, COPS, CopOffenses
  • Where: plugins/os-sdlc/lib/os_sdlc/system_model/extractor/cop_offenses.rb
  • Session: cc05262b-5edf-4587-a1fc-bdc8e26b9a45
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/cc05262b-5edf-4587-a1fc-bdc8e26b9a45.jsonl

VERDICT: CREATE

## Problem `Catalog::Edge` asks only one A19 cop whether a class holds a domain rule. #1517 made `PrecedenceInEdge` that cop. Cops O (`Sdlc/Structural/DomainOperandInEdge`, #1510) and E (`Sdlc/Structural/DomainEffectInEdge`, #1511) find other shapes of a domain rule inside an adapter. The extractor does not run them. After #1517, run-4 agreement is 13/18. All five disagreements are misses: the expert says the class holds a domain rule, and `PrecedenceInEdge` has no hit in it (`OsMe::LabelFile`, `OsMe::RouteComparison`, `OsMe::Scorer`, `OsMe::ReplyShape::EvalRun`, `OsSdlc::Crc::Census::SourceRow`). ## Reproduce n/a: detector design change. Measure with `docs/system-design-format/proof/run-4/measure_edge.rb` and the D-row script described in #1517. ## Approach Add O and E to `OsSdlc::SystemModel::Extractor::CopOffenses::COPS` in `plugins/os-sdlc/lib/os_sdlc/system_model/extractor/cop_offenses.rb`, beside `PrecedenceInEdge`. Measure before and after over os-sdlc, os-backlog and os-me: Edge, Domain, Repository, Hex, and TRUE/FALSE against `docs/system-design-format/proof/2026-11-02-detector-a19/findings.tsv`, plus run-4 agreement. Record the numbers as dated snapshots, not as fixed targets. The bar is 0 FALSE on labeled sites. Misses are acceptable. Held for Jared: he reviews the system-model map before any change of detector direction (2026-11-03). Rule on this ticket after that review. ## Origin - Trigger: handoff `2026-11-02-2359-detector-mvp-unblocked-tickets-afk.md` ("If both are closed, capture a follow-up that adds O and E to the D cop-list constant from #1517") - Improvised this session: none - Chain: run-4 misses after #1517 ← Edge asks only `PrecedenceInEdge` ← DESIGN #1517 (option D, cop list of one) - Root candidate: none found; searched DomainOperandInEdge, DomainEffectInEdge, PrecedenceInEdge, cop list, COPS, CopOffenses - Where: plugins/os-sdlc/lib/os_sdlc/system_model/extractor/cop_offenses.rb - Session: cc05262b-5edf-4587-a1fc-bdc8e26b9a45 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/cc05262b-5edf-4587-a1fc-bdc8e26b9a45.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#1526
No description provided.