Measure VIS R2 with the new forwards fact #1503

Closed
opened 2026-11-01 17:25:38 +00:00 by jared · 2 comments
Owner

Problem

plugins/os-sdlc/bin/system-model opportunities plugins/os-me prints "not measurable: VIS R2: needs fact forwards".
ClassFacts gained a forwards field in #1429 (commit 98a029ca, plugins/os-sdlc/lib/os_sdlc/system_model/class_facts/forward.rb).
The Visitor catalog rule R2 (double dispatch) is still Pattern::Rule::Unmeasured.new(fact: :forwards).

Reproduce

plugins/os-sdlc/bin/system-model opportunities plugins/os-me

Approach

Check whether forwards carries what double dispatch needs: an element's accept method that sends visit_* to its argument.
If yes, make R2 a measured rule.
If not, change the unmeasured fact name to the fact it truly needs.

Required work:

  1. Replace the unmeasured forwards fact on VIS R2 — check: absent Unmeasured.new(fact: :forwards) in plugins/os-sdlc/lib/os_sdlc/system_model/catalog/visitor.rb

Acceptance criteria

  1. Given system-model opportunities plugins/os-me, when it runs, then the "not measurable" list does not name forwards for VIS R2, or names the true missing fact.

Origin

  • Trigger: plugins/os-sdlc/bin/system-model opportunities plugins/os-me
  • Improvised this session: none
  • Chain: R2 still unmeasured ← catalog not updated after #1429 added forwards ← DESIGN (plugins/os-sdlc/lib/os_sdlc/system_model/catalog/visitor.rb:25)
  • Root candidate: none found; searched forwards, VIS R2, visitor, Unmeasured, not measurable, double dispatch, catalog, measur
  • Where: plugins/os-sdlc/lib/os_sdlc/system_model/catalog/visitor.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 `plugins/os-sdlc/bin/system-model opportunities plugins/os-me` prints "not measurable: VIS R2: needs fact forwards". ClassFacts gained a `forwards` field in #1429 (commit 98a029ca, `plugins/os-sdlc/lib/os_sdlc/system_model/class_facts/forward.rb`). The Visitor catalog rule R2 (double dispatch) is still `Pattern::Rule::Unmeasured.new(fact: :forwards)`. ## Reproduce ``` plugins/os-sdlc/bin/system-model opportunities plugins/os-me ``` ## Approach Check whether `forwards` carries what double dispatch needs: an element's accept method that sends visit_* to its argument. If yes, make R2 a measured rule. If not, change the unmeasured fact name to the fact it truly needs. Required work: 1. Replace the unmeasured `forwards` fact on VIS R2 — check: absent `Unmeasured.new(fact: :forwards)` in `plugins/os-sdlc/lib/os_sdlc/system_model/catalog/visitor.rb` ## Acceptance criteria 1. Given `system-model opportunities plugins/os-me`, when it runs, then the "not measurable" list does not name `forwards` for VIS R2, or names the true missing fact. ## Origin - Trigger: `plugins/os-sdlc/bin/system-model opportunities plugins/os-me` - Improvised this session: none - Chain: R2 still unmeasured ← catalog not updated after #1429 added `forwards` ← DESIGN (plugins/os-sdlc/lib/os_sdlc/system_model/catalog/visitor.rb:25) - Root candidate: none found; searched forwards, VIS R2, visitor, Unmeasured, not measurable, double dispatch, catalog, measur - Where: plugins/os-sdlc/lib/os_sdlc/system_model/catalog/visitor.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

Work started on branch worktree-agent-ab1554921aeb32d01

Work started on branch worktree-agent-ab1554921aeb32d01
Author
Owner

Resolution

Done: VIS R2 is measured: new double_dispatch fact (ClassFacts#dispatches) and UndispatchedAccept rule replace the unmeasured forwards placeholder

Evidence: f4bae619 and 05b25c9e (rebased) on main; suite 3134 runs 0 failures; VIS matches no component in os-me, os-sdlc, os-backlog, so findings unchanged

Follow-ups: none: multi-statement accept bodies wait for a real Visitor in the codebases

## Resolution **Done:** VIS R2 is measured: new double_dispatch fact (ClassFacts#dispatches) and UndispatchedAccept rule replace the unmeasured forwards placeholder **Evidence:** f4bae619 and 05b25c9e (rebased) on main; suite 3134 runs 0 failures; VIS matches no component in os-me, os-sdlc, os-backlog, so findings unchanged **Follow-ups:** none: multi-statement accept bodies wait for a real Visitor in the codebases
jared closed this issue 2026-11-01 22:02:02 +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#1503
No description provided.