Codexから記事を更新できた。 まずはこの一点が、純粋にうれしい。
しかも、Antigravityで使っていたのと同じ環境を使って実行できた。 つまり「別の特別な仕組みが必要だった」のではなく、運用の土台はそのまま活かせることが確認できた。
今回うまくいった理由
成功要因はシンプルで、`md` で「何をやるべきか」を明確に示したことだ。
やることをMarkdownに落とすことで、次の効果があった。
1. 作業の目的がぶれない 2. 手順の抜け漏れが減る 3. Codexが意図を正しく解釈しやすくなる
結果として、実行の再現性が上がり、更新作業が安定した。
一気に更新する運用
いまは、次の1コマンドで接続確認から公開まで実行できる。
この形にしたことで、「書いたあとに止まる」ではなく「そのまま更新完了」まで進めやすくなった。
うまく行かなかった理由
今回は、コード自体よりも実行環境の違いが原因だった。
Codex側の実行では、次のようにDNS解決エラーが出ていた。
- `getaddrinfo ENOTFOUND attrip.jp`
- `getaddrinfo ENOTFOUND api.openai.com`
このエラーは、WordPress認証や記事フォーマット以前に「外部ホストへ到達できない」状態を示している。 そのため、同じ手順でも更新処理は完了しない。
一方でAntigravity側では外部通信できる環境で実行できるため、同じフローでも更新まで成功する。 つまり失敗理由は「実装ミス」ではなく「実行環境のネットワーク制約の差」だった。
そこで、`npm run doctor` と `npm run ship` を用意し、更新前に接続性を機械的に確認する運用に変えた。 これで、記事内容の問題と環境問題を切り分けて判断できるようになった。
まとめ
Codexで記事更新できたことは、運用上の大きな前進だった。 そして、Antigravityと同じ環境で実現できたことで、今後の選択肢も広がった。 今後も `md` で指示を明確にし、再現性の高い更新フローを続けていく。
追記: 問題を解決できた喜び
アイキャッチが表示されない問題は、`md` 側に `eye_catch` 指定が無かったことが原因だった。 指定を追加して再更新したことで、記事の見た目まで含めて公開フローを完了できた。
「書ける」だけでなく「意図した形で公開できる」と確認できたのは大きい。 今回の修正で、次回以降は同じ問題を迷わず解消できる状態になった。