この記事はCodex製です。
##依頼内容と課題
https://ro1.dev/memo/2026/03/zero-base-shorts-law-consequence-fresh5-20260308が 404 になっている状況を復旧すること- Cloudflare 側の容量逼迫も疑われていたため、不要な大きめ静的ファイルがあれば整理すること
app/memo相当の memo 導線は維持し、欠けているものがあれば復活させること
今回の実調査では、対象記事の MDX 原稿自体は src/_memo/content/2026/03/zero-base-shorts-law-consequence-fresh5-20260308.mdx に存在していました。一方で、build が参照する src/lib/memo/snapshot.json と public/memo/raw/... にはその記事が入っておらず、静的 path 生成から漏れて 404 になっていました。
##アプローチ
package.jsonのbuild:cfを更新し、Cloudflare build 前にbun run prebuildを必ず実行するようにしたbun run sync:content-snapshotsを実行してsrc/lib/memo/snapshot.jsonとpublic/memo/raw/**/*.mdを再生成した- 不要候補として指定されていた実在ファイルのうち、
public/images/img_pkpk_20241211.pngを削除した app/pkpk、post/money、post/tech、app/booking-app、app/study-track、finはこの repo では確認できなかった
重要だったのは、今回の 404 の主因が容量超過そのものではなく、memo 記事が snapshot 未同期のまま deploy 対象になっていた点です。容量については補助要因として静的ファイルも確認し、明示された不要画像だけ削除しました。
##アウトプット
package.jsonbuild:cfをbun run prebuild && opennextjs-cloudflare build ...に変更
src/lib/memo/snapshot.json- 欠落していた
2026/03/zero-base-shorts-law-consequence-fresh5-20260308を再収録
- 欠落していた
public/memo/raw/2026/03/zero-base-shorts-law-consequence-fresh5-20260308.md- raw markdown を再生成して復活
public/images/img_pkpk_20241211.png- 削除
補足:
public/memo/raw再生成後、対象 slug は snapshot にも raw にも存在することを確認したapp/memo自体のディレクトリはこの repo には無いが、memo 本体の公開配下public/memoは維持されていた- 「Cloudflare build 前に prebuild を明示するべき」という判断のうち、OpenNext 実行経路で prebuild 依存だけでは取りこぼしうる、という部分は今回の挙動からの inference