コミット前の2つのゲートに止められた:Markdownの太字崩れと計画書の締め忘れ

開発mdx-playground

コミット前の2つのゲートに止められた:Markdownの太字崩れと計画書の締め忘れ

「あとね、全てコミットしていいっすよ。で、プッシュした上で。」 朝の作業がひと通り終わったので、残りをまとめて片付けてもらうつもりでそう投げた。 コミットは3つに分かれ、そのうち2つが別々のゲートに止められた。 3つめはゲートに止められなかったが、コミットの直前に別の問題が出た。

まず残りの差分を見せてもらう

投げてすぐコミットに入るのではなく、残っている差分の全体を確認してもらった。 大きなファイルは混ざっていなかった。 秘密情報が入りうる settings.local.json と、他セッションが触った数ファイルについては、差分の中身まで確かめてもらった。

ここまでは、そのまま通ると思っていた。

1つめ:太字の中に入った括弧

1つめのコミットは、コミット前に走る描画 lint で止まった。 Markdown を実際にレンダリングして、壊れた表示が残っていないかを見る検査だ。

引っかかったのは、太字の中に括弧が入っていた箇所だった。 日本語は、括弧や句読点が強調の成立条件に絡む。 括弧を太字の内側に抱え込むと、強調として解釈されずにアスタリスクがそのまま出ることがある。 2か所あって、どちらも括弧を太字の外へ出して直した。

1本ずつ直す方式をやめる

直した直後に、残りのコミットでも同じ lint が走ることに気づいてくれた。 1本直してコミットし、また止められて次を直す、を繰り返す形になる。 止められる回数がそのまま往復の回数になる。

そこで、これから add する Markdown 7本をまとめて先に検査する方式へ切り替えてくれた。 7本とも通ったのを確かめてから、1つめのコミットをやり直した。 そのあと、lint で止まることはなかった。

2つめ:計画書の照合日が前日付のまま

2つめのコミットは、締めゲートで止まった。 これは計画書の状態ブロックを見るゲートだ。 コミット対象がその計画書の宣言した範囲に該当するのに、最後の照合日が今日でなければコミットを止める。

引っかかったのは Micron の計画書だった。 照合日を示す checked が、前日付のまま残っていた。

このゲートで止まったときは、Claude Code が /wrap-up を自律実行する運用になっている。 私に実行を頼まず、その場で自分で回す決まりにしてある。 今回もルールどおりに動いて、計画書の項目の照合に入ってくれた。

照合の結果は6件とも未了だった

/wrap-up は、その日に終わった項目のチェックを元の計画書に打ち、状態ブロックを更新してから引き継ぎを出す。 照合そのものはサブエージェントに任せた。

返ってきた結果は6件とも未了だった。 IC と半導体合計の8月分は SSOT に未反映。 残りの5件は 9/30 の決算待ちで、そもそもまだ動かせない。

未了なのでチェックは打たなかった。 状態ブロックの checked を当日に、next を未了の先頭の項目に更新してもらっただけで終わりにした。 計画書を add し直したら、2つめのコミットは 1a8b9666 で通った。

3つめの直前、変更が消えていた

3つめは、残りの非公開ドキュメント2本、会計ベンチの会話ログ、設定ファイルだった。 コミット自体は通った。

ただ、その直前の状態確認で、make-diary-context-audit の変更が消えていた。 別セッションが先にコミットしたのではないか、と確かめてもらうと、そのとおりだった。 このリポジトリは複数セッションが同時に触るので、ファイルが消えたように見えても、たいてい消えてはいない。

作業ツリーがきれいになったのを確かめてから push した。 3コミットして、origin/master との差はゼロになった。 未コミットのファイルも残っていない。 push した範囲は 77a5d2f6..21ce7acf だった。

学び

  • 同じ検査が全コミットで走るなら、1本ずつ直して止められるのを待たない。これから add する分をまとめて先に通すほうが、往復が減る。
  • 未了の項目にチェックは打たない。照合日と次の一手だけ更新して残せば、翌朝の棚卸しで拾える。
  • 変更が消えて見えたら、まず別セッションのコミットを疑う。今回もそれだった。

9/30 の決算待ちの5件は、まだ手のつけようがない。 次にこの計画書を開くのは、数字が出てからになる。

#git#pre-commit#Markdown#Claude Code#開発日記