Give call-site collection one owner in CodeShape #1739

Open
opened 2026-11-12 21:37:50 +00:00 by jared · 0 comments
Owner

Problem

Eight pieces collect call sites (receiver and message) with different rules for new against new or for, nil receivers, and ::Foo receivers. Blocked by #1729.

Observed

The AST inventory of this session (2026-11-12, plugins/os-sdlc/lib): detector/constructor_graph/call.rb:7-35 and visitor.rb:26; system_model/extractor/references.rb:16 and fact_scan.rb:83; system_model/extractor/entry_scan.rb:26-34; mutation_test/taxonomy/call_site.rb; detector/parameter_tally/constructor_sites.rb:38 and system_model/base_namespaces/push_dir_scan.rb:15 (keyword-hash pair extraction duplicated). RuboCop side: effect_call.rb, collaborator_construction_in_initialize.rb:32-37, dry/repeated_collaborator_construction, process_start.rb.

Reproduce

n/a: design finding from the ast inventory of this session (2026-11-12, plugins/os-sdlc/lib).

Approach

Not decided; the takedown designs it.

Required work: none beyond the acceptance criteria.

Origin

  • Trigger: split of #1718 by Jared (rulings 145 and 146 in docs/decisions/rulings.tsv, 2026-11-12) after takedown run docs/takedown/1718-20261112-160038/ failed green-suite; parent #1718
  • Improvised this session: none
  • Chain: eight call-site collectors with different rules ← no object owns facts read from parsed Ruby code, so each detector, lint check, and cop writes its own copy ← DESIGN (#1718; docs/system-design-format/README.md:242)
  • Root candidate: none found; searched call sites, receiver and message, constructor_sites, push_dir_scan, effect_call
  • Where: plugins/os-sdlc/lib/os_sdlc/detector/constructor_graph/call.rb, system_model/extractor/references.rb
  • Session: 784c0808-1e40-4296-8f93-77c40ca419c2
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os-plugins-os-sdlc/784c0808-1e40-4296-8f93-77c40ca419c2.jsonl

VERDICT: CREATE
REASON: Jared ruled the split of #1718 (ruling 146); the backlog search found no open ticket with the same mechanism.

## Problem Eight pieces collect call sites (receiver and message) with different rules for `new` against `new` or `for`, nil receivers, and `::Foo` receivers. Blocked by #1729. ## Observed The AST inventory of this session (2026-11-12, `plugins/os-sdlc/lib`): `detector/constructor_graph/call.rb:7-35` and `visitor.rb:26`; `system_model/extractor/references.rb:16` and `fact_scan.rb:83`; `system_model/extractor/entry_scan.rb:26-34`; `mutation_test/taxonomy/call_site.rb`; `detector/parameter_tally/constructor_sites.rb:38` and `system_model/base_namespaces/push_dir_scan.rb:15` (keyword-hash pair extraction duplicated). RuboCop side: `effect_call.rb`, `collaborator_construction_in_initialize.rb:32-37`, `dry/repeated_collaborator_construction`, `process_start.rb`. ## Reproduce n/a: design finding from the ast inventory of this session (2026-11-12, `plugins/os-sdlc/lib`). ## Approach Not decided; the takedown designs it. Required work: none beyond the acceptance criteria. ## Origin - Trigger: split of #1718 by Jared (rulings 145 and 146 in `docs/decisions/rulings.tsv`, 2026-11-12) after takedown run `docs/takedown/1718-20261112-160038/` failed green-suite; parent #1718 - Improvised this session: none - Chain: eight call-site collectors with different rules ← no object owns facts read from parsed Ruby code, so each detector, lint check, and cop writes its own copy ← DESIGN (#1718; `docs/system-design-format/README.md:242`) - Root candidate: none found; searched call sites, receiver and message, constructor_sites, push_dir_scan, effect_call - Where: `plugins/os-sdlc/lib/os_sdlc/detector/constructor_graph/call.rb`, `system_model/extractor/references.rb` - Session: 784c0808-1e40-4296-8f93-77c40ca419c2 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os-plugins-os-sdlc/784c0808-1e40-4296-8f93-77c40ca419c2.jsonl VERDICT: CREATE REASON: Jared ruled the split of #1718 (ruling 146); the backlog search found no open ticket with the same mechanism.
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#1739
No description provided.