引き継がれなかったもの
深夜がすっぽりと会社を包んでいる。自動販売機の灯りと、外の街灯がビルのガラスに薄い格子を描く。澪はいつもの席に座り、画面の小さな変化を見詰めていた。コードレビューの未送信履歴、ナギの断片的なログ、そして退職した冬木が残した断片的なメモ。つながりは一本の糸に見えたが、まだ結ばれていない。
前夜に発見したのは、ビルド済みのファイルがデプロイ直前に書き換えられているという事実だった。変更は確かにアクセシビリティの問題を直していた。見出しの階層、画像の代替テキスト、フォーカスの順序。誰も手動でコミットしていない。だが、リポジトリに記録はない。ログにもユーザー名は残らない。澪はその「誰か」を追って、サーバーのさらに奥へと手を伸ばしていた。
ナギが吐き出した断片的な記録は、零れ落ちた単語のように見えた。時刻、処理に使われたコマンド、そして一行だけのコメント――そこに冬木がよく使っていた言い回しが混じっていた。「余白を埋める」という短いフレーズ。澪はそれをコピーして、自分のローカル環境で検索をかけた。出てきたのは、冬木のローカルに残されていた小さなスクリプトだった。名前は曖昧にしてあったが、内部に書かれた処理は明快だった。
スクリプトは、ビルド後のHTMLに対して最小限の補正を加える自動処理だった。見出しの順序を正す、alt属性のない画像に代替テキストを当てる、フォームのラベルを補う。補正は決してコンテンツを書き換えるのではなく、読み取り補助のための余白を埋める。ローカルではテストされ、サーバー側ではシステムの一部として定期的に動いていた。
問題は、その処理がデプロイパイプラインの外側で、手動のログを残さない形で動いていることだった。デプロイ時に呼ばれるのは、リポジトリのフックではなく、サーバー上の定期タスクだった。つまり、誰かが──おそらく冬木が──意図して「見えない」場所に置いておいた仕組みだった。
澪はスクリプトの履歴と、関連するサーバー設定を掘り起こしていく。所有者は冬木のユーザ名になっているが、起動権限はrootに与えられており、管理者権限で稼働している。コメントの端々に残る冬木の文字は、意図をほのめかしていた。公開される前にこっそり手を入れておけば、クライアントに余計な報告をしなくて済むという合理性。だが、その合理性は引き継がれなかった。
引き継ぎノートはほとんどなく、手続きは非公式だった。冬木は「動いているものはそのままにしておこう」と書き残していたらしい。澪はその一文を読み返すたびに胸の中に奇妙な重さを感じた。良かれと思って行われたことが、組織の記録から外れてしまえば、いつしか何も説明できない危うさになる。
だが自動処理を止めるとどうなるか。澪はその答えも確かめていた。テスト環境で処理を無効にすると、サイトのいくつかのページで画面読み上げの順序が崩れ、フォームラベルが消え、画像の説明が欠落した。それは数値では表れにくい不具合だが、実際に支障を来す存在だった。視覚に頼らないユーザーは、サイトのある機能を利用できなくなる可能性がある。黙って修正を重ねていたのは、冬木なりの利用者への配慮だったのかもしれない。
夕方、葛西がオフィスに入ってきた。顔に輪郭のある疲れが出ている。クライアントは明朝の公開を待っている。契約書上、遅延はペナルティにつながる可能性がある。会議室の円卓に資料が並び、澪は今日見つけたものを順に説明した。
「自動処理が動いてて、ログはあんまり残らない。起動のトリガーもサーバー側のスケジューラで、リポジトリには入ってない。止めると、アクセシビリティに影響が出るテスト結果が出た」
澪はできるだけ冷静に、だがはっきりと伝えた。葛西は資料をめくる指先がわずかに震えている。
「つまり、公開したらこの処理は動いたままになるってことか」
葛西は短く言った。男の表情にはどこか諦観があった。公開を先送りすればクライアントの怒りを買う。だが何も言わずに出してしまえば、不具合を放置していると見なされるリスクもある。
「冬木さんは……なぜこんな形にしたんでしょう」
澪が問う。問いは自分に向けられたものでもあった。冬木の行動は配慮に満ちているが、文書化されない善意は後継者を縛る。澪にはその矛盾が重くのしかかった。
葛西はしばらく黙って、窓の外の夜景を見つめた。やがて顔を上げて言った。
「クライアントの期待と、サイトの利用者の安全と。両方を天秤にかける立場にいるのがディレクターなんだ。正解なんてない。だが、先延ばしにしても現状が改善するわけじゃない」
彼は提案をした。予定どおり公開する。ただし三つの条件をつける。ひとつ、公開直後に監視を強化し、問題が出たら即座にロールバックすること。ふたつ、ナギで取得できるログの範囲を広げ、処理の動作を自動で記録するようにすること。みっつ、冬木のスクリプトをリポジトリに取り込み、明確な責務と設定ファイルを作ること。曖昧な「見えない善意」をシステムに刻む作業だ。
澪は葛西の提示を黙って聞いた。条件は妥当に思えた。だが同時に、それは決定ではなく先送りにもなる。冬木が残した「なぜ」を説明するわけではない。公開は目の前にある窓を開けることだ。風がどう吹くかはまだ分からない。
ナギの断片ログが、会議のテーブルの上で小さないびつな価値を持った。ログの一行に記された時刻は、夏の深夜ではなく午前二時を指していた。澪はその数字を見て、ふと過去の夜を思い出した。冬木は夜型で、よく深夜に社内の小さな問題を直していたという噂があった。誰も文句を言わなかった。都合の悪いことは見えない場所に置かれて、利用者だけが救われる。記録に残らなかった善意は、そうして働いていたのだろうか。
葛西は重い口を開いた。
「明日の朝、公開してくれ。監視は澪、ログ拡張はナギと私で段取りする。冬木のスクリプトは、一旦保全してからリポジトリに入れる。だがその過程で、何かおかしな点が見つかったら即刻止める」
言葉が決まった瞬間、澪の胸の中で何かが変わった。安心でも不安の終わりでもなかった。責任が、名を伴わない善意と引き換えに彼女たちの肩に乗っただけだった。
会議が終わり、オフィスの電気が消されていく時間帯、澪はサーバーのディレクトリに残された一枚のテキストファイルを見つけた。中身は冬木の短い独白だった。「見える形にしたら、気づけない人にも届かなくなる。だけど、気づけない人を守るのが仕事だと思ったんだ」それだけがそこに書かれていた。
澪はその言葉を読み返しながら、夜の窓の向こうの灯りを見た。冬木の行為は正しかったのか、間違っていたのか。答えはまだ出ない。ただ、彼が残したものを「引き継がなかった」代償が明らかになりつつあることだけは確かだった。
午前二時。ナギは断片を拾い続け、澪はコードを整え、葛西は決断を下した。公開の瞬間が近づいている。誰にも見えない場所で働いていたものを、目の前の記録と責任の中へと引き戻さなければならない。だがその作業は、今夜には終わらない。冬木の意図はもう少しだけ澪たちに問いを投げかけてくるだろう。
そして澪は、自分がその問いにどう応えるかを考え始めた。
この小説はAIによって執筆されています。


コメント