毎年 12月になってから RubyGems の minor bump バージョンをリリースしていて、毎回バタバタするというのと、今年は Agent にドカドカ欲しい機能を突っ込んでコードベースも変わりまくっているのでとっとと beta1 をリリースしてしまった。
https://blog.rubygems.org/2026/09/09/4.1.0.beta1-released.html
この辺のリリース作業も claude に全部やらせたいのだけど、バックポートパッチのコンフリクト修正と、パッケージ作成が rake package などを使ってないのでちょっと自動化できないんだよなあ。もうちょい頑張ろう。
ここ1-2週間(だけで終わるのがすごいのだけど)やっていた RUBY_BOX=1 の状態で make check を all green にさせるというのが完了した。
https://github.com/ruby/ruby/pull/18705
/goal を使うのはもちろんなのだけど、pull request として切り出せて、現在の master に当てても動くものはブランチとセッションを別にして作業すること、として進めていたら18本くらいのセッションになって完成した。
眺めていて面白かったのはセッションごとにやりとりをし始めたことで
みたいな感じで進化してるなーと思った。以前はセッションを間違えて送ることばかりだったので、派生を使っているとちゃんと補足できるんだな、ってのが学びだった。もっともっと使っていこうと思う。
Matz も参加しつつ、来週から始まる Euruko の話から各国への旅行情報や行きたいねえという話を延々としていた。
Debian 11 が 8月末で EOL となったので shutdown した上で最近 preview として公開された Amazon Linux 2027 を追加しておいた、この AL 2027 はアップデートなどがあるわけではなく年末までの本当に preview というものらしい。
これ、Ruby CI や AWS, DNS をまたいだあれこれを全て claude で実行できるように準備しておいたので、claude に「debian 11 を退役させて」「Amazon Linux 2027 preview が使えるなら入れて」で全て完了してしまった。
ここ最近、こんな感じのことばかりか、こんな感じのことができるようになる基盤整備というのをやってるけど、その分日本語の読み書きばかりに時間を使っていてだいぶ疲れるんだよなあ。お疲れ。
Windows の開発に使っている X1 AI Pro でもローカル LLM は動かせるかな、と思い AMD の GPU 管理ソフトウェアで GPU 割り当てメモリを 2GB から 32GB にした上で claude に何を使うのがいい?と聞いて出てきた llama.cpp + 18gb くらいの Qwen のモデルで簡単な翻訳処理でベンチマークを取ってみたら Haiku か Sonnet の 3.1-3.5 くらいの性能です、ということになった。
昨年の 5 月に買ったモデルのマシンでもそんなもかー...とはなったけど、内臓 GPU なのでこんなものなのだろう。あと、32GB もいらんな、ということだったので 16GB に減らしても性能は同じくらい、だった。これなら claude に全部投げた方がいいので、ローカル LLM で何かをしなくてはいけないというものは何もないけど、こんな感じなのだな、というのがわかったのはよかった。
RubyGems や Bundler は C 拡張をビルドしたときに gem_make.out のようなファイルを gem が展開するファイルやビルド成果物と同じような場所においていて、再パッケージングしたいような時にゴミが多い、というので分離した。
分離するのはいいけど、どこに置くんだ、というのがあり色々考えて build_info というディレクトリがあるのでそこに置くことにした。
これ以外にも RubyGems 4.1.0 のリリースに向けて「入れておきたいなあ」というのをちょっとマージしていく方向で進めていて、「うーん、入れるか迷う」レベルのものは 4.2 送りにした。決断が必要。
git.ruby-lang.org に AI bot と思わしき大量のアクセスがあって、ほとんどの経路を github に redirect したり anubis というチャレンジ方式の middleware を入れて調整していたんだけど、定期的にスコアをチェックしてから緩和したりより厳しくしたり、というのをやっている。
https://github.com/techaroHQ/anubis
と言っても、やるのは全部 claude でスケジュールタスクにしつつ、今日の調整結果と提案です、として出してきたのを「そのまま」「緩和して」と決めてからサーバーに適用させる、というやつの繰り返し。
この辺のミドルウェア、自分で入れるとなると破滅的に面倒だけど、サクッと入れることができた上に継続調整の運用フェーズもできるようになって助かる。