昨日アップデートした bugs だけど、Datadog をもう少し使い倒した方がいいな、ってことで claude と壁打ちしながら今現在無効だけど、有効にした方がいい設定は何?というのを壁打ちしながら片っ端から有効化していた。
あと、サービス名を適当につけた結果、Datadog の Service とログ drain の名称に差分があり、そのせいで claude が毎回ミスったり、メモリを見て修正という感じだったので、未来に向けては今直すのが一番最速ということで昔のデータがロスになったとしてもえいやっと全部揃えてリネーム、かつ親子関係を作ってデータを作り直すことにした。
後最後に、datadog gem と heroku の dyno, scheduler の組み合わせが絶望的に悪くて、build フェーズで datadog gem を読み込むけど agent がないからログに通信エラーが記録される、dyno を起動するときも ある tracing は boot.rb の時点では取れないからエラーになる、タグがこの時点ではないから、rake だと〜が動いてないから、みたいな感じでゴミログが記録されて邪魔なのでこの機会に徹底的に潰してしまった。
これで claude に「なんかエラーがないか見て」というときに「〜は既知のエラーなので除外」みたいなしょうもない処理がなくなって欲しい...。
psych に YAML 1.2 対応してくれ、という要望は多いものの libyaml は 1.1 準拠で 1.2 はあったりなかったり、という状況だった。で、Psych で 1.2 対応する、としても Ruby レイヤで何かする必要があり、互換性とかどうすんのと悩ましい問題があったので libfyaml という 1.2 に準拠している C ライブラリを psych で libyaml と差し替えて動くようにしてみた。
https://github.com/ruby/psych/pull/805
これ自体は Fable 5 ではなく Opus 4.8 で、設計を用意して、あとは作って、で出てきたものに対して牧さんが使っている claude のレビュー skill を Ruby と C にアレンジしたものでレビューさせて、あとは自分が使っている agy でのレビュー、4本のレビューを突合させて指摘の修正、もう一周、みたいな感じで直したものでマージしてしまった。
もう少ししたらこれを Psych 6.0.0 としてリリース予定だけど、パフォーマンスとかは全然ダメで emit は2倍くらい遅い。YAML 1.2 に完全準拠というのが目的の人向けの機能になるけど、なんかそれっぽく動いているので興味がある人は使ってください。
7/1 の夕方のうちには発表されていてけど claude の Fable 5 が朝から使えるようになっていたので、claude desktop をアップデートして使ってみた。
weekly のリミットがガンガン減っていくのは前も体験した通りだけど、今回から Fable 専用の weekly リミットのゲージが新設されていて、この日だーっと使ってみたら15%くらいの消化だった。月曜にリセットがあり、Max で無制限利用できるのも 7/8 まで、という感じなので、このペースならもっと使い込んでも良さそうな気がする。
以下のような function で呼び出せる
c() {
open "claude://code/new?folder=${${1:-$PWD}:A}"
}
claude スキームかつ、code というパスがあるのを知らなかったけど、claude 自身にターミナルから引数つけて呼び出せないの、と聞いたらサクッと回答が来たので zshrc に入れといて、でできた。。
tmux とか何かでターミナルで頑張るというのをほぼやってなくて claude desktop の機能で十分だったものの、あるリポジトリの開発をすぐにやりたい、というときに不便だった問題がこれで解決したと思う。残る何かと言うと env をうまく渡す方法がないというところかなあ。クレデンシャルを claude に見えないように渡すには
$ export FOO=... ; open /Applications/Claude.app
とやらないとダメで、アップデートしてリスタートした後などに環境変数が見えません、とかあると途端にだるくなるので何とかして欲しい。
Redmine 7.0.0 がリリースされた、というのを見かけたので bugs.ruby-lang.org の方もアップデートしておいた。
https://www.redmine.org/news/161
今までは、自分でパッチを書き出してアップデート、ということをやってたけど claude + Fable 5 にデプロイで使っている ro-6-1 と upstream の stable-6.1 の差分を学習して、同じものだけど stable-7.0 に適用した ro-7-0 を作って、でほぼ完成したので何も困ることがなかった。
ついでに postgresql も 16 から 17 にアップグレードしておいた。リリース後も Datadog MCP を使って、エラーが出てないかみておいて、で出てないので大丈夫です、って感じであっさり終わってしまった。便利な世の中になったと思う。
6月の中旬に買ったエアコンの取り付け工事だった。6月下旬はなかなかに湿度も高く、他の部屋のエアコンをつけて何とか凌いでいたけどちょっとキツかった...。
で、工事の方は前回の別の業者の人だったけど、異様に手際が良くて今後も家電をかならオノデンだな、となった。今回買ったエアコン、昨年のモデルで AI 何とか、はともかくエアコンにカメラというかセンサーがついていて、人間と部屋の壁などの温度を計測して風を制御するということもあって、カメラがぐるぐる動くのがなんかすごい。10年近くなると進化もするねえ。
取り外して処分したエアコン、買い替えを決めたから数回電源をつけてみたものの、室外機はうんともすんとも言わなくて、えいっと買い替えて良かったな、とはなった。寝室のエアコン、洗濯機と続いた家電フィーバーもこれでひと段落かな。
wslc と container が適度に動くようになったので、Windows と macOS それぞれで claude code 経由で ruby/ruby のビルドとテスト実行をできるように skill を書いたり、直させたりして大体が動くようになった。これで
の4パターンのアーキテクチャで claude でなんだかんだできるようになったのでとても捗るようになった。コンテナベースだとパフォーマンス、みたいのは全然ダメだけど、とりあえずビルドして動くか、みたいなケースならこれで十分。
ただ claude にやらせると、「〜がありませんでした。調べます。」みたいな感じで迷子になるので skill の書き方がまだ微妙なんだろうなあ。引き続き頑張ろう。