Run the inheritance and includes fact spike with precision and recall per scale group (system-model step 9) #1482

Closed
opened 2026-11-01 15:46:58 +00:00 by jared · 4 comments
Owner

Problem

README section 6 step 9 asks for a fact spike. The class-scale patterns need facts that ClassFacts does not carry: inheritance and includes, and the facts Card holds today (interface, injected, constructs, senders). We cannot yet measure precision and recall per scale group.

Reproduce

n/a: new capability.

Approach

Step 8 course check (2026-11-01, decided AFK) rescoped this step. Move the facts Card already holds (interface, injected, constructs, senders) into ClassFacts, and add inheritance and includes. That covers 15 landscape rows (docs/system-design-format/pattern-landscape.md), 8 of them class-scale, with low signal overlap. Run runs 1 and 2 again (docs/system-design-format/proof/pattern-distance-experiment.md, proof/pattern-distance-run-2.md). Compare precision at convergence >= 3 for each scale group (pattern-matching.md section 5, "convergence per scale group"). Run the recall check (pattern-matching.md section 9); it includes Extractor::FactScan < Prism::Visitor, which must present as Visitor. Record the figures in docs/system-design-format/proof/.

Steps 6, 7 and 8 are done (#1480, #1481, course check in README section 6).

Required work:

  1. Extract inheritance and includes facts, and move the Card facts (interface, injected, constructs, senders) into ClassFacts — check: present includes in plugins/os-sdlc/lib/os_sdlc/system_model/class_facts.rb
  2. Add the class-scale patterns (8 class rows of the 15) to the catalog as data — check: present includes in plugins/os-sdlc/lib/os_sdlc/system_model/catalog/*.rb

Acceptance criteria

  1. Given the re-run of runs 1 and 2, when the proof file is read, then it holds precision at convergence >= 3 for each scale group.
  2. Given the recall check of pattern-matching.md section 9, when the proof file is read, then it holds a recall figure for each scale group.
  3. Given a class that includes a module or inherits, when facts are extracted, then ClassFacts records it.
  4. Given Extractor::FactScan < Prism::Visitor, when the recall check runs, then it presents as Visitor.

Non-goals

Detectors (step 10).

Origin

  • Trigger: Jared's ruling of 2026-11-01 recorded in docs/system-design-format/README.md section 6 (commit 1b4ea2d5)
  • Improvised this session: none
  • Chain: step not built ← plan from the 2026-11-01 ruling ← DESIGN (docs/system-design-format/README.md section 6 step 9)
  • Root candidate: none found; searched fact spike, inheritance includes facts, ClassFacts precision recall
  • Where: docs/system-design-format/README.md section 6 step 9; plugins/os-sdlc/lib/os_sdlc/system_model/class_facts.rb
  • Session: 313ee80d-b132-4de6-a01d-e1a57fbd3450
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/313ee80d-b132-4de6-a01d-e1a57fbd3450.jsonl

VERDICT: CREATE

## Problem README section 6 step 9 asks for a fact spike. The class-scale patterns need facts that `ClassFacts` does not carry: inheritance and includes, and the facts `Card` holds today (interface, injected, constructs, senders). We cannot yet measure precision and recall per scale group. ## Reproduce n/a: new capability. ## Approach Step 8 course check (2026-11-01, decided AFK) rescoped this step. Move the facts `Card` already holds (interface, injected, constructs, senders) into `ClassFacts`, and add inheritance and includes. That covers 15 landscape rows (docs/system-design-format/pattern-landscape.md), 8 of them class-scale, with low signal overlap. Run runs 1 and 2 again (`docs/system-design-format/proof/pattern-distance-experiment.md`, `proof/pattern-distance-run-2.md`). Compare precision at convergence >= 3 for each scale group (pattern-matching.md section 5, "convergence per scale group"). Run the recall check (pattern-matching.md section 9); it includes `Extractor::FactScan < Prism::Visitor`, which must present as Visitor. Record the figures in `docs/system-design-format/proof/`. Steps 6, 7 and 8 are done (#1480, #1481, course check in README section 6). Required work: 1. Extract inheritance and includes facts, and move the Card facts (interface, injected, constructs, senders) into `ClassFacts` — check: present `includes` in `plugins/os-sdlc/lib/os_sdlc/system_model/class_facts.rb` 2. Add the class-scale patterns (8 class rows of the 15) to the catalog as data — check: present `includes` in `plugins/os-sdlc/lib/os_sdlc/system_model/catalog/*.rb` ## Acceptance criteria 1. Given the re-run of runs 1 and 2, when the proof file is read, then it holds precision at convergence >= 3 for each scale group. 2. Given the recall check of pattern-matching.md section 9, when the proof file is read, then it holds a recall figure for each scale group. 3. Given a class that includes a module or inherits, when facts are extracted, then `ClassFacts` records it. 4. Given `Extractor::FactScan < Prism::Visitor`, when the recall check runs, then it presents as Visitor. ## Non-goals Detectors (step 10). ## Origin - Trigger: Jared's ruling of 2026-11-01 recorded in docs/system-design-format/README.md section 6 (commit 1b4ea2d5) - Improvised this session: none - Chain: step not built ← plan from the 2026-11-01 ruling ← DESIGN (docs/system-design-format/README.md section 6 step 9) - Root candidate: none found; searched fact spike, inheritance includes facts, ClassFacts precision recall - Where: docs/system-design-format/README.md section 6 step 9; plugins/os-sdlc/lib/os_sdlc/system_model/class_facts.rb - Session: 313ee80d-b132-4de6-a01d-e1a57fbd3450 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/313ee80d-b132-4de6-a01d-e1a57fbd3450.jsonl VERDICT: CREATE
Author
Owner

Part A (fact spike) started on branch worktree-agent-a7c2e2b021b985923 (worktree agent-a7c2e2b021b985923).

Part A (fact spike) started on branch worktree-agent-a7c2e2b021b985923 (worktree agent-a7c2e2b021b985923).
Author
Owner

Part B started (2026-11-01): scale group per pattern, 2-3 class-scale patterns incl. Visitor, convergence per scale group, run 3 measurement (precision per group, recall, cost of every-role-it-fits).

Part B started (2026-11-01): scale group per pattern, 2-3 class-scale patterns incl. Visitor, convergence per scale group, run 3 measurement (precision per group, recall, cost of every-role-it-fits).
Author
Owner

Recall fixes started: process/env/network io kinds (F21) and entry? narrowing. Worktree agent-a92b82003bcc33a16.

Recall fixes started: process/env/network io kinds (F21) and entry? narrowing. Worktree agent-a92b82003bcc33a16.
Author
Owner

Resolution

Done: Pattern distance fact spike and recall fixes shipped; run 3 recorded

Evidence: merges 7cc16026 part A, 914918c5 part B, 2b1d9823 recall fixes; run 3 at docs/system-design-format/proof/pattern-distance-run-3.md; suite green

Follow-ups: #1489 #1490 #1491 #1492 #1493

## Resolution **Done:** Pattern distance fact spike and recall fixes shipped; run 3 recorded **Evidence:** merges 7cc16026 part A, 914918c5 part B, 2b1d9823 recall fixes; run 3 at docs/system-design-format/proof/pattern-distance-run-3.md; suite green **Follow-ups:** #1489 #1490 #1491 #1492 #1493
jared closed this issue 2026-11-01 17:18:37 +00:00
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#1482
No description provided.