Add os-sdlc journeys per entry family with a coverage figure per plugin (system-model step 7) #1481

Closed
opened 2026-11-01 15:46:57 +00:00 by jared · 1 comment
Owner

Problem

README section 6 step 7 asks for os-sdlc journeys. os-sdlc has 0 journeys on 2026-11-01 (os-me 47/125, os-backlog 23/98, os 3/25). Journey coverage biases role assignment, because entry? feeds DrivingAdapter and CompositionRoot.

Reproduce

plugins/os-sdlc/bin/system-model build plugins/os-sdlc

n/a for the bug-free path: the build writes no journeys for os-sdlc today.

Approach

Find the real entry families in os-sdlc: bin/* CLI, hook, pipeline runner, and any other family found. Count by family, not by a fixed number, and not one per bin. Add one tagged journey per family. Detector and build output print a coverage figure for each plugin.

Ticket #1434 (the Tracer records zero journeys silently when the trace subprocess fails) is fixed inside this work, because the os-sdlc trace is likely to hit it.

Required work:

  1. Tag one use_case test per entry family in os-sdlc — check: present use_case in plugins/os-sdlc/test/**/*.rb
  2. Print a coverage figure for each plugin — check: present coverage in plugins/os-sdlc/lib/os_sdlc/system_model/*.rb
  3. Refuse on a failed trace subprocess (#1434) — check: present RefusalError in plugins/os-sdlc/lib/os_sdlc/system_model/tracer.rb

Acceptance criteria

  1. Given os-sdlc, when system-model build plugins/os-sdlc runs, then it writes at least one journey for each entry family found.
  2. Given the build, when it finishes, then the output prints a journeys-covered count over total for each plugin.
  3. Given a target whose tagged test fails to load, when the build runs, then it exits 1 with the subprocess output (#1434).

Non-goals

A journey for every bin.

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 7)
  • Root candidate: none found; searched journey, coverage, entry family, system-model, tracer (#1434 overlaps on required work item 3 only)
  • Where: docs/system-design-format/README.md section 6 step 7; plugins/os-sdlc/lib/os_sdlc/system_model/tracer.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 7 asks for os-sdlc journeys. os-sdlc has 0 journeys on 2026-11-01 (os-me 47/125, os-backlog 23/98, os 3/25). Journey coverage biases role assignment, because `entry?` feeds DrivingAdapter and CompositionRoot. ## Reproduce ``` plugins/os-sdlc/bin/system-model build plugins/os-sdlc ``` n/a for the bug-free path: the build writes no journeys for os-sdlc today. ## Approach Find the real entry families in os-sdlc: `bin/*` CLI, hook, pipeline runner, and any other family found. Count by family, not by a fixed number, and not one per bin. Add one tagged journey per family. Detector and `build` output print a coverage figure for each plugin. Ticket #1434 (the Tracer records zero journeys silently when the trace subprocess fails) is fixed inside this work, because the os-sdlc trace is likely to hit it. Required work: 1. Tag one use_case test per entry family in os-sdlc — check: present `use_case` in `plugins/os-sdlc/test/**/*.rb` 2. Print a coverage figure for each plugin — check: present `coverage` in `plugins/os-sdlc/lib/os_sdlc/system_model/*.rb` 3. Refuse on a failed trace subprocess (#1434) — check: present `RefusalError` in `plugins/os-sdlc/lib/os_sdlc/system_model/tracer.rb` ## Acceptance criteria 1. Given os-sdlc, when `system-model build plugins/os-sdlc` runs, then it writes at least one journey for each entry family found. 2. Given the build, when it finishes, then the output prints a journeys-covered count over total for each plugin. 3. Given a target whose tagged test fails to load, when the build runs, then it exits 1 with the subprocess output (#1434). ## Non-goals A journey for every bin. ## 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 7) - Root candidate: none found; searched journey, coverage, entry family, system-model, tracer (#1434 overlaps on required work item 3 only) - Where: docs/system-design-format/README.md section 6 step 7; plugins/os-sdlc/lib/os_sdlc/system_model/tracer.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

Resolution

Done: Journeys recorded for four os-sdlc entry families; coverage figure printed

Evidence: 8c28fd4f, merge f9051edb, coverage 92/903

Follow-ups: #1484, #1485, #1486; families without a journey (standalone scripts, procman, eval bins): dropped by the step 8 course check — none of them feeds entry? or blocks the detectors

## Resolution **Done:** Journeys recorded for four os-sdlc entry families; coverage figure printed **Evidence:** 8c28fd4f, merge f9051edb, coverage 92/903 **Follow-ups:** #1484, #1485, #1486; families without a journey (standalone scripts, procman, eval bins): dropped by the step 8 course check — none of them feeds entry? or blocks the detectors
jared closed this issue 2026-11-01 16:00:30 +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#1481
No description provided.