Lens proposal: A4 system-model usage rescue in shared Boot#third_argument #1529

Open
opened 2026-11-03 15:30:43 +00:00 by jared · 0 comments
Owner

Problem

Boot#third_argument (plugins/os-sdlc/lib/os_sdlc/boot.rb:71-79) is shared by all commands. It now holds a rescue that only system-model uses: on a bind error it appends Inputs::SYSTEM_MODEL_USAGE, keyed on Input#project_scan (lens A4). The contract-auditor marked the break JUSTIFIED: yes: one sender, and the rescue keeps two pinned usage refusals.

LENS line: LENS: A4 broken at plugins/os-sdlc/lib/os_sdlc/boot.rb:75-78 -- BREAKS: shared Boot#third_argument holds a system-model-only rescue that appends Inputs::SYSTEM_MODEL_USAGE, keyed on the system-model-only Input#project_scan flag; JUSTIFIED: yes, one sender only, and the rescue keeps pinned usage refusals (system_model_coverage_test.rb:72, system_model_opportunities_cli_test.rb:71); a general usage field on Input is speculative (principle 1); PROPOSAL: NONE: a second sender is the signal to move the usage text onto Input.

Challenge verdict: heuristic holds. The rescue is error translation at the entry edge, as Boot#prepared already does (boot.rb:66-68). A usage field on Input would not replace project_scan, which also drives Input#project?. No lens edit. Trigger to revisit: a second command needs its own usage text on a bind error.

Run ticket: #1516.

Reproduce

n/a: lens proposal from implementation 225.

Origin

  • Trigger: /os-sdlc:implement 1516, contract-auditor dispatch 2067 LENS line, opus lens challenge
  • Improvised this session: none
  • Chain: command-specific rescue in shared Boot method ← one sender needs usage text on bind errors ← DESIGN #1516
  • Root candidate: none found; searched third_argument, SYSTEM_MODEL_USAGE, project_scan, Boot#, A4, usage rescue
  • Where: plugins/os-sdlc/lib/os_sdlc/boot.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 `Boot#third_argument` (`plugins/os-sdlc/lib/os_sdlc/boot.rb:71-79`) is shared by all commands. It now holds a rescue that only system-model uses: on a bind error it appends `Inputs::SYSTEM_MODEL_USAGE`, keyed on `Input#project_scan` (lens A4). The contract-auditor marked the break `JUSTIFIED: yes`: one sender, and the rescue keeps two pinned usage refusals. LENS line: `LENS: A4 broken at plugins/os-sdlc/lib/os_sdlc/boot.rb:75-78 -- BREAKS: shared Boot#third_argument holds a system-model-only rescue that appends Inputs::SYSTEM_MODEL_USAGE, keyed on the system-model-only Input#project_scan flag; JUSTIFIED: yes, one sender only, and the rescue keeps pinned usage refusals (system_model_coverage_test.rb:72, system_model_opportunities_cli_test.rb:71); a general usage field on Input is speculative (principle 1); PROPOSAL: NONE: a second sender is the signal to move the usage text onto Input.` Challenge verdict: heuristic holds. The rescue is error translation at the entry edge, as `Boot#prepared` already does (`boot.rb:66-68`). A `usage` field on `Input` would not replace `project_scan`, which also drives `Input#project?`. No lens edit. Trigger to revisit: a second command needs its own usage text on a bind error. Run ticket: #1516. ## Reproduce n/a: lens proposal from implementation 225. ## Origin - Trigger: /os-sdlc:implement 1516, contract-auditor dispatch 2067 LENS line, opus lens challenge - Improvised this session: none - Chain: command-specific rescue in shared Boot method ← one sender needs usage text on bind errors ← DESIGN #1516 - Root candidate: none found; searched third_argument, SYSTEM_MODEL_USAGE, project_scan, Boot#, A4, usage rescue - Where: plugins/os-sdlc/lib/os_sdlc/boot.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#1529
No description provided.