さくらコードSakura Code
小説/第10話

Novel

第10話 戻せなかった夜の話

第10話 戻せなかった夜の話のイメージイラスト

Script

Cold Open

シーン1 秋分の朝のメッセージ

 九月二十四日。土曜日の朝。

 秋分を過ぎたばかりの東京の空は、夏のあいだに少しずつ膨らんでいた湿度が、一晩で抜けたみたいに、静かに高かった。窓を、ほんの少しだけ開けて、桜子は、ベッドの上で、スマホを片手に、目を覚ましたところだった。

 Slackに、ふつうなら鳴らない時間に、通知が一件、来ていた。遥からのDM。

@yamashita-haruka: 桜子さん、おはよう。土曜の朝にごめんね。
今日、もし時間があったら、神保町に、お茶しに行きませんか。
仕事の話、半分くらい、します。
混んでない店、あります。

 桜子は、画面の中の、半分くらい、します という、見慣れない柔らかさの一行を、しばらく、読んだ。

 行きます、と返した。

@mochizuki-sakurako: 山下さん、おはようございます。
行きます。何時に、どこへ伺えばいいですか

 遥の返事は、すぐ来た。

@yamashita-haruka: 14時、神保町駅 A6出口で。
本屋を一軒だけ覗いてから、奥の、古い喫茶店へ。
お互い、PC、持たないで来てね

 PC、持たないで。

 桜子は、その一行を、もう一度、読み返した。

 いつもと、違う。


Part A

シーン2 神保町の喫茶店

 十四時。

 神保町駅A6出口。地上に出ると、九月の昼の光が、舗道の上で、長く、薄く、伸びていた。古書店の店先で、ワゴンに積まれた本が、文字どおり、山になっている。

 遥は、すでに出口の近くに立っていた。普段の、ジャケット姿ではなくて、ゆるい、グレーのカーディガンを羽織っていた。手には、A5サイズの、薄い、布張りの鞄。中身が、ほとんど何も入っていないみたいに、平たかった。

「桜子さん、ありがとう、来てくれて」

「いえ、こちらこそ、お誘いいただいて」

 遥は、軽く笑って、駅を出てから、最初の角を曲がった。古書店を一軒だけ、覗いた。文学の棚の、誰かの随筆集を、遥は、しばらく見ていた。買わなかった。

 そこから、もう一本、奥の路地に入ったところに、その店はあった。

 木製のドア。すりガラスの嵌まった小さな窓。電球の、橙色の光が、外の道の上に、ふわっと、こぼれている。看板には、創業の年が、漢数字で、書かれていた。一九六〇年。

 遥は、ドアを押した。からん、と、低い金属の鈴の音が、鳴った。

 店主の女性が、カウンターの中から、軽くうなずいて、「奥のほう、空いてるわよ」と、言った。

 奥の、二人がけの席。木の小さなテーブル。革張りの椅子。電球は、頭の上で、橙色に、ぼんやりと、灯っていた。

 遥は、メニューを、開かなかった。

「ブレンド、二つ、お願いします」

「はい」

 店主の声は、丁寧で、それ以上は、何も、聞いてこなかった。


シーン3 鞄の中の一冊のノート

 ブレンドが、運ばれてきた。

 白い陶器のカップ。カップの縁に、ほんの少しだけ、欠けがある。長く使われている、ということが、分かるカップだった。

 遥は、ブレンドを、両手で、温めるように、持った。

 しばらく、店内に、誰も来なかった。

 遥は、自分の鞄から、布表紙の、A5サイズのノートを、一冊、取り出した。

 よれた表紙。背表紙のところに、糊が浮いている。表紙の、左下に、年月が、ボールペンで、書かれていた。2017年 から始まって、最後の月までが、横線で、消されたあとがあった。

 遥は、そのノートを、ゆっくり、桜子の側に、滑らせた。

「読んでいい」

「えっ」

「最初から、最後の一ページの、手前まで。最後の一ページだけ、わたしが、後で、読み上げる」

 桜子は、ノートに、手を伸ばすことが、しばらく、できなかった。

「あの、これ、山下さんの、私物、ですよね」

「うん」

「読んで、いいんですか」

「読んでほしいから、出した」

 遥は、ブレンドのカップを、両手で、もう一度、温めるように持った。

 桜子は、自分のおでこの汗を、ハンカチで、軽く、押さえてから、ノートを、ゆっくりと、開いた。


Part B

シーン4 五年前の手書きpostmortem

布表紙のノートに手書きされた五年前の障害報告。星印が鉛筆で何度もなぞられている

 最初のページの上のほうに、日付が、書いてあった。

2017年8月17日 (木)

 その下に、見覚えのある、項目の並びが、並んでいた。

発生日時:
検知日時:
影響範囲:
事象:
一次原因:
暫定対応:
恒久対応:
再発防止:
学び:

 桜子は、息を、止めた。

 五月の、初めてのバグの日に、鈴木が桜子の画面に共有してくれた、障害報告テンプレート。あの並びと、ほぼ、同じ。

 ページを、めくっていく。

 遥の字。几帳面で、少し、文字の角が立った字。

発生日時: 2017/08/16 23:42 JST (本番投入後の自動アラート)
検知日時: 2017/08/16 23:44 JST
影響範囲: 顧客企業 12社, 取引件数 3,221件のうち, 二重計上 87件
事象: 決済の二重計上が、ある条件下で発生
一次原因: 本番投入時の設定変更で、冪等性キーが上書きされた
暫定対応: 23:55 設定をロールバック (アプリ層)
        ※ DB層の中間状態は、ロールバックされず
恒久対応: 二重計上分を、翌日朝までに、手動で訂正 (会計部門と連携)
再発防止: ★ ロールバック手順が、本番投入時のチェックリストに
        含まれていなかった
        →今後、「Rollback手順がない変更は、出してはいけない」を、
         わたしの個人原則として置く
学び:    深夜の判断は、戻すか、戻さないか、の二択にしない。
        戻せる範囲と、戻せない範囲を、先に切り分ける

 桜子は、その ★ の星印の、星形の、丸い縁が、鉛筆で、何度か、なぞられた跡を、見た。

 星印は、ボールペンで書かれたあとに、何度も、何度も、鉛筆で、上から、なぞられていた。何回くらい、なぞったのだろう、と、桜子は、思った。


シーン5 桜子の問い、遥の沈黙

 ページを、もう少し、めくる。

 その日の翌日、翌々日、その翌週、と、ノートには、postmortem下書き の改稿、関係部署への共有メモ、お客さまへのおわびと再発防止のご報告(社外送付前下書き) の、いくつかの版が、続いていた。

 桜子は、お客さまへの〜 の下書きの、二度線が引かれている部分を、しばらく、読んでいた。

「山下さん」

「うん」

「これ、五年前の、山下さんが、自分への、約束だったんですか」

 桜子は、自分の声が、思っていたより、ずっと低い場所から、出てきたのを、知った。

 遥は、ブレンドを、ひとくち、すすった。カップを、ソーサーに戻す音が、店内の、低い、控えめなジャズの音に、薄く、混じった。

 遥は、しばらく、答えなかった。

 桜子は、ノートのページの、★ の星印を、もう一度、指の腹で、軽く、押さえた。何度もなぞった星形が、紙の繊維の中で、すこしだけ、凹んでいた。

 遥は、長い沈黙のあと、

「五年前のわたしは、自分を、許せなかった。だから、許してもらおうと思って、書いた約束、ではなかった。許さない、まま、続ける、ための、約束だった」

「許さない、まま」

「いまでも、わたしは、あの夜のわたしを、許してない。許す、というやり方を、まだ、知らない」

 桜子は、目元が、ふっと、熱くなりそうになるのを、ぐっと、奥歯で、止めた。

「だから、わたしの、レビューは、桜子さんに、厳しい。桜子さん相手に、厳しい、というより、五年前のわたしに、厳しい、のかもしれない」

「……」

「桜子さんに、八つ当たり、してた、ってわけじゃ、ないんだよ。ただ、わたしの厳しさの根っこに、あの夜が、ある、というのは、本当」

 遥は、ノートの、ページに、視線を、落とした。

 星印は、紙の繊維の、奥にまで、凹んでいた。


Part C

シーン6 元同僚からの電話

 テーブルの上で、遥のスマホが、短く、震えた。

 遥は、画面を見て、ふっと、目元の力を、ゆるめた。

「あ、ごめん、出る」

 遥は、ノートをそのままにして、スマホを片手に、店の外へ、出ていった。

 桜子は、自分の手元のノートを、ゆっくりと、閉じかけて、最後の一ページの、手前で、止めた。遥が、後で読み上げる、と言ったページに、いきなり目が行かないよう、桜子は、手前のページに、人差し指を、しおりのように、挟んだ。

 窓の外、遥の背中が、見えた。電話越しの相手に、軽く、何度か、うなずいているのが、ガラス越しに、分かった。声は、聞こえなかった。

 十分くらいして、遥が、戻ってきた。カーディガンの肩のところに、薄く、外の風の匂いが、残っていた。

「お待たせ。前職の同僚から」

「お電話、大丈夫だったんですか」

「うん。土曜なのに、ごめん。あの夜の postmortem を、わたしと一緒に書いた人が、いまも、決済システムのRunbookを、整備してて」

「Runbook」

「うん。月一で、Runbookに、Rollback手順 の項を、新しく必要そうな箇所に、入れていく作業、彼女、続けてる」

 桜子は、知らない人だった。けれど、その人が、五年前の遥の隣に、いたのだ、と、思った。

「で、いまね、彼女が、別件で、参考にしたい Runbook がある、って」

「はい」

「桜子さんの、unreadcache.md。あれ、見せていい?」

 桜子は、息を、止めかけて、止めなかった。

「あ、はい、もちろん、はい。むしろ、僭越です」

「うちのRunbookの中で、フォーマットが、いま、いちばん、彼女の好みに、近いんだって」

 遥は、半分、笑った。

「五年前のわたしと、同じ手で書いてる気がする、って、言われた」

 桜子は、自分のメモ帳の、雨のレビューの日に書き留めた一行、書きかけたなら、書いておけば良かったよ を、頭の中で、もう一度、なぞった。

 桜子の、雨の日のRunbookが、五年前の現場まで、薄く、繋がる気配を、桜子は、初めて、知った。


Ending

シーン7 ノートの最後の一ページ

 遥は、ブレンドの残りを、ひとくち、飲んだ。

 桜子は、ノートに、しおりのように挟んでいた、人差し指を、抜いた。

「最後の一ページ、開いていい?」

「うん。開いて」

 桜子は、ノートの、最後の、一ページを、ゆっくり、開いた。

 そのページは、遥の字では、なかった。

 別の人の字。少し、太いボールペン。文字の、はらいの感じが、年配の人の、几帳面な字だった。

山下さんへ

君は、戻せなかった、と思っているけれど、
戻せなかった夜は、君のなかで、ずっと、戻り続けている。
戻り続けるのを、止めなくて、いい。
戻ってくる夜は、君を、次の現場で、もう一度、立たせる。

この一冊は、君の鞄から、外さないで。
辞めても、転職しても、引退しても、
鞄に、入れて、運んでください。

最後の上司より

 桜子は、その一文を、何度か、読み直した。

 声を、出さずに、目で。

 遥は、頬杖を、軽く、ついて、桜子のページの上を、見ていた。

「これ、辞めるとき、当時の上司が、はがきの代わりに、書いてくれた」

「はがき、ですか」

「うん。本当は、はがきに書こうと思ったけど、長くなったから、わたしのノートの最後のページに、書いてくれた」

「読み上げる、って、おっしゃってたの、これ、ですか」

「うん。一回だけ、声に、出すね」

 遥は、カップを、ソーサーに戻して、姿勢を、ほんの少し、整えた。

 そして、店内の、低いジャズと、外の小さな車の音と、電球の、ぱちぱち、という微音の中で、遥は、その一文を、ゆっくりと、声に出して、読み上げた。

 桜子は、何も、言えなかった。

 遥は、読み終えてから、ノートを、桜子の側から、ゆっくり、引き寄せて、自分の鞄の中に、丁寧に、戻した。

「桜子さん、ありがとう、聞いてくれて」

「……いえ、こちらこそ、です」

「もうひとつだけ、いい?」

「はい」

「桜子さんも、いつか、自分の ★ の付く一行を、自分のノートに、書く日が、来ると思う」

「はい」

「来たら、なぞって、なぞって、紙が、すこし、凹むくらいまで、なぞっていい。けれど、誰かを、その凹みで、傷つけないでほしい」

「はい」

 桜子は、自分の鞄の中の、メモ帳を、薄く、感じた。

 まだ、桜子のメモ帳には、★ の星印は、ない。

 けれど、いつか、その星印を書く日が来たら、なぞる手の力を、誰かを、その凹みで、傷つけないように、保とう、と、桜子は、思った。


 会計を済ませて、店を出ると、外の空気は、夏とは、もう、別の温度だった。秋分を過ぎた東京の、夕方の手前の光が、神保町の路地を、橙色に、薄く、染めていた。

 駅まで、桜子と遥は、ほとんど、何も、話さずに、歩いた。

 別れぎわ、改札の前で、遥は、軽く、振り返った。

「月曜日、また、わたしのレビュー、たぶん、桜子さんから見て、厳しいと思う」

「はい」

「でも、今日のあと、その厳しさの、温度が、桜子さんの中で、少しだけ、変わるかも」

「……はい」

「それで、十分」

 遥は、軽く、手を挙げて、改札の向こう側に、消えていった。

 桜子は、改札の前で、しばらく、止まった。

 鞄の中で、メモ帳が、いつもより、ほんの少しだけ、重く感じた。

 帰宅したら、書こう、と、桜子は、思った。

 今日のページには、星印は、まだ、書かない。

 書かない日のことも、書ける、メモ帳に、しよう、と、思った。