Skip to content

rebless(ruby): receiver-dot calls without parentheses are calls (gitgalaxy#3377) - #156

Merged
squid-protocol merged 1 commit into
mainfrom
claude/ruby-calls-3377
Sep 25, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
claude/ruby-calls-3377

Conversation

@squid-protocol

@squid-protocol squid-protocol commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Re-bless owed by squid-protocol/gitgalaxy#3637 (label rosetta:rebless-owed, merged).

What changes

gitgalaxy#3637 gives Ruby its own calls_out family (CALLS_OUT_RUBY), so a receiver-dot call no longer needs parentheses. Three calls_out_to lists in data/ruby/expected_signals.json change:

file probe before after
a.rb probe_safety [] [freeze] (value.freeze)
b.rb probe_telemetry [info, error] [logger, info, error] (Rails.logger.info(msg))
b.rb probe_state [push] [push, pop] (items.pop)

Nothing planted moves. The manifest notes record the change.

Why these are right

  • freeze and pop are already in docs/calls_out_truth.json's hand-derived periphery for ruby, which was written without the engine. The old engine simply missed them.
  • logger is a genuine method call (Rails.logger returns the logger that .info is then called on), and it isn't on the forbidden list.

No ledger entry is added. This follows the gitgalaxy#3361 calls_out re-bless, which also changed calls_out_to with a manifest note only.

Verification (against the gitgalaxy#3637 engine)

  • verify_language.py ruby: PASS, 88 assertions across 4 files.
  • check_calls_out_truth.py ruby: PASS.
  • na_check.py --ci, ledger_orphan_check.py --ci, ledger_issue_check.py --ci: clean.

Cross-repo

🤖 Generated with Claude Code

https://claude.ai/code/session_01YAtpBfGGyBGGovitSVaM5Q

…alaxy#3377)

gitgalaxy#3377 gives ruby its own calls_out family (CALLS_OUT_RUBY): a
receiver-dot call needs no parentheses. a.rb probe_safety [] -> [freeze],
b.rb probe_telemetry gains `logger` (`Rails.logger.info`), probe_state gains
`pop`. `freeze` and `pop` are already in docs/calls_out_truth.json's
hand-derived periphery -- the old engine missed them; `logger` is a real
method call and not forbidden. Nothing planted moves.

verify_language.py ruby: PASS (88 assertions); check_calls_out_truth ruby,
na_check, ledger_orphan_check, ledger_issue_check: clean.

Cross-repo: companion of squid-protocol/gitgalaxy#3637 (merges first, labelled
rosetta:rebless-owed); this PR verifies against engine main after it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YAtpBfGGyBGGovitSVaM5Q
@squid-protocol
squid-protocol marked this pull request as ready for review September 25, 2026 17:10
@squid-protocol
squid-protocol merged commit 1093039 into main Sep 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants