Give method-definition collection one owner in CodeShape #1738

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

Problem

Seven pieces collect method definitions (name, parameters, visibility, line span) with different rules. Two separate visibility rules exist. Blocked by #1729.

Observed

The AST inventory of this session (2026-11-12, plugins/os-sdlc/lib): detector/error_lineage/method_names.rb:17 (names only); crc/census/public_methods.rb and visibility_call.rb against system_model/extractor/visibility.rb and body.rb:27 (two visibility rules); system_model/extractor/frame.rb:33 and signature.rb (line spans, only here); system_model/extractor/parameters.rb:20-46 against detector/parameter_tally/constructor_sites.rb:70-80 (parameter lists, anonymous and optional kinds differ); hand_cards/section.rb:33; detector/reach_through/parent_answers.rb:52. RuboCop side: same_file_defs.rb, unused_private_method/private_defs.rb, repeated_rescue_clause.rb:32, process_start.rb:58, duplicated_statement_sequence.rb:29, reach_through_chain/site.rb:48. No shared location value exists; location.start_line appears about 15 times.

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. Decide in the design whether the RuboCop-side copies share any part.

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: two visibility rules and seven method collectors ← 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 method definitions, visibility, parameters, location.start_line, public_methods
  • Where: plugins/os-sdlc/lib/os_sdlc/system_model/extractor/visibility.rb, crc/census/public_methods.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 Seven pieces collect method definitions (name, parameters, visibility, line span) with different rules. Two separate visibility rules exist. Blocked by #1729. ## Observed The AST inventory of this session (2026-11-12, `plugins/os-sdlc/lib`): `detector/error_lineage/method_names.rb:17` (names only); `crc/census/public_methods.rb` and `visibility_call.rb` against `system_model/extractor/visibility.rb` and `body.rb:27` (two visibility rules); `system_model/extractor/frame.rb:33` and `signature.rb` (line spans, only here); `system_model/extractor/parameters.rb:20-46` against `detector/parameter_tally/constructor_sites.rb:70-80` (parameter lists, anonymous and optional kinds differ); `hand_cards/section.rb:33`; `detector/reach_through/parent_answers.rb:52`. RuboCop side: `same_file_defs.rb`, `unused_private_method/private_defs.rb`, `repeated_rescue_clause.rb:32`, `process_start.rb:58`, `duplicated_statement_sequence.rb:29`, `reach_through_chain/site.rb:48`. No shared location value exists; `location.start_line` appears about 15 times. ## 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. Decide in the design whether the RuboCop-side copies share any part. 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: two visibility rules and seven method collectors ← 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 method definitions, visibility, parameters, location.start_line, public_methods - Where: `plugins/os-sdlc/lib/os_sdlc/system_model/extractor/visibility.rb`, `crc/census/public_methods.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#1738
No description provided.