第36話 広がる不調
朝の井戸は、いつもより会話が少なかった。
水汲みの順番を待つ村のおばさんが三人。麻のバケツを足元に置いたまま、眉を寄せて話し込んでいた。
わたしはバケツを抱えて列の後ろに並んだ。
「マルダさんとこ、今朝もダメだったらしいわよ」
最初に口を開いたのはヒルダさんだった。井戸の縁に手を置いて、声を低く落としている。
「火が点かない。三日連続」
「三日」
真ん中のおばさんが復唱した。
「マルダさんとこ、朝食が今朝も半刻遅れたって。孫が学校の鐘に間に合わなかったらしいわよ」
「あらまあ」
「ヒルダさんとこの井戸も、まだ調子悪いの?」
「ええ。アクシリアを唱えても水量が半分。これも三日続き」
「お宅、お孫さんが井戸まで水を運ぶ羽目になってるんでしょう」
「ええ。あの子の細い腕じゃ、桶を一つ運ぶのに二回往復よ」
(——三日連続)
(——複数の家で)
前世なら手帳に書き出していた。今はただ耳を澄ます。
「うちもね」
三人目のおばさんが言った。
「昨日、夕方のベシリアが二回目でようやく点いた。一回目は煙だけ」
「あら、お宅も?」
「ええ。だから今朝はちょっと怖くて。フラヴィオさんとこのおばあちゃんなんて、水が出ないから朝の顔も洗えなかったって泣いてたわよ」
三人が顔を見合わせた。それぞれの家で違う詠唱が、同じように不安定になっている。
(——同じ詠唱で、毎回違う結果)
(——前世の言葉で言うなら、これは不具合だ)
順番が回ってきて、わたしはバケツを井戸に下ろした。縄を引く手が少しだけ重い気がした。
「あら、リナちゃん。おはよう」
「おはようございます」
なるべく短く返した。子供は黙る。今のわたしの戦略はまだ続いている。
バケツを抱えて家に向かった。背中で会話がまだ続いていた。半分の桶までなら一人で運んでも構わないと、最近はエマが許してくれていた。
◇◇◇
家に戻ると、エマが竈の前で湯を沸かしていた。
「お母さん。井戸でね」
「うん?」
「マルダさんとことヒルダさんとこ、まだ魔法の調子が悪いって」
エマの手が一瞬止まった。竈の蓋を閉じて、わたしの方を向く。
「ええ、知ってるわ」
少し迷ってから続けた。
「実はね。うちのベシリアも今朝、二回目でようやく点いたの」
息を呑む音が、自分の喉だけで小さく鳴った。指先が冷えた。
「いつから?」
「うーん。昨日からかしら。一昨日は普通だったのよ」
(——うちにも来た)
(——マルダさんとこは三日。うちは一日。少しずつ広がっている)
前世なら障害報告のチケットを並べて、発生時刻と症状を表に起こしていた。今は人の口伝てに集めるしかない。
「お母さん。他に火が点かなくなった家、知ってる?」
エマは少し考えた。
「マルダさんとこ。ヒルダさんとこ。村の真ん中のフラヴィオさんとこも、昨日聞いた。東のおじいさんも、ここ二、三日おかしいって。西の若夫婦のとこも。それでうち」
「六軒」
「あら。そう、六軒ね」
(——村全体で三十軒くらいだから、五分の一)
(——それぞれの家で別の魔石が、同時期に同じように不安定になる)
胸の奥で警報がまた鳴った。前にこの噂を耳にしたときよりずっと大きな音だった。
◇◇◇
午後、わたしは屋根裏に上がった。
板間に座って、膝を抱えた。
(——同じ詠唱で、不安定な結果)
(——古い魔石なら説明できる。でも複数の家で同時に?)
(——魔石の中の魔法陣に、何かが起きている)
頭の中で言葉が一つ、ゆっくり形を取り始めた。
——魔法陣のバグ。
「コードがあれば、必ずバグもある」
前世の同僚に何度言ったか分からない台詞だった。新人に教えるときも、自分が徹夜で書いたコードを翌朝見直すときも。
(——転生して間もない頃わたしはたぶんそのことを思い知るって、ぼんやり考えていた)
(——でも、これまで魔法陣を読むのは静かな観察ばかりだった。動いているものが急に動かなくなる場面には立ち会っていない)
(——今は仮説の段階)
——分からない。
正直に分からないと認めた。前世で学んだことの一つだ。分からないものを分かったふりで触ると、いちばん大きく裏切る。
◇◇◇
夕方。
工房から父が戻ってきた。土埃で汚れた帽子を釘に掛ける。
「お父さん。村で、魔法の調子が悪い家、増えてるって」
父の手が一瞬止まった。
「ああ。聞いた」
「お父さんは、どう思う?」
父はしばらく黙って首を振った。
「俺は機械の人間だ。魔法は分からん」
「うん」
「だが、こういう時は祭司に聞くのが筋だな」
「うん」
それだけだった。父は奥の部屋に下がっていった。
(——お父さんは何かを察している)
(——でも押し付けてこない。ただ、エルナさんに聞けと言ってる)
◇◇◇
夜。
夕食を終えて皿を片付けたあと、戸を叩く控えめな音がした。
エマが戸を開けた。
「あら——エルナ様」
わたしは思わず椅子の上で姿勢を正し、戸口を見た。
エルナが立っていた。
普段の祭司服の白と銀ではなく、外出用の灰色の上着を羽織っている。長い灰色の髪を今夜は編まずに肩に下ろしていた。藍色の瞳がいつもより少し疲れて見えた。
「夜分にすみません。エマさん」
「いえ、どうぞ」
エマがエルナを居間に通した。父も奥から出てきて低く頭を下げた。
エルナは椅子に座る前にわたしを見た。
「リナと、少し話したくて」
——わたしと。
息を呑む音が、自分にだけ聞こえた。
エマがわたしの隣の椅子を引いた。
「リナ、エルナ様がご用よ」
わたしは椅子から下りて、エルナの向かいに座り直した。
◇◇◇
エルナはしばらく、わたしの顔を見ていた。
「リナ」
「はい」
「村で、魔法がうまく動かない家が増えているの。あなた、もう聞いてる?」
少し迷った。けれど嘘をつくほどの嘘ではなかった。
「……はい」
「うちにもね」
エマがふいに口を挟んだ。
「今朝、ベシリアが二回目でようやく点いて」
「……お宅も」
エルナが小さく頷いた。藍色の瞳の奥で、何かが動いた。
「いま分かっているだけで、村の七軒。たぶんもっとある」
七軒。エマが知らない一軒が増えている。
エルナは膝の上で手を組んで、それからわたしの目を真っ直ぐに見た。
「明日、わたしと一緒に、いくつかの家を回ってくれない?」
——え。
心臓が一拍だけ止まった。
エルナは続けた。
「あなたの『眼』を、わたしは信じてる」
声は静かだった。命令ではなかった。だけど、退けない重さがあった。
「わたしの祈祷では原因が分からない。三日いろいろ試した。たぶん、これは祭司の道具では届かないところで起きている」
エルナは少しだけ視線を落として、また上げた。
「リナ。あなたに見てほしい」
(——とうとう来た)
(——エルナさんが、わたしの『眼』を頼ってきた)
(——観察する側のエルナさんが、頼む側に回った)
胸の奥で何かが熱くなった。緊張と、ほんの少しの誇らしさと、それ以上の不安が一緒だった。
わたしはエマの方を見た。エマはわたしを見て、それからエルナの方を見て、もう一度わたしを見た。
「お母さんがいいなら」
エマが頷いた。
「リナ、行ってあげなさい」
父も奥の椅子で頷いていた。
エルナが小さく頭を下げた。
「ありがとう」
短い言葉だった。けれど、いつものエルナの威厳のある声ではなかった。一人の困った大人が、子供に頼みごとをするときの声だった。
◇◇◇
エルナを戸口まで送って、戸を閉めた。
エマがわたしの頭を一度だけ撫でて、片付けの続きに戻った。
屋根裏に上がると、ノラがもう寝床で寝息を立てていた。柔らかい頭が枕の端にちょこんと乗っている。隣に潜り込んで天井の梁を見上げた。
(——エルナさんが、わたしに頭を下げた)
(——わたしの『眼』が、初めて村の人たちのために使われる)
ずっと隠してきた。家族の中だけと決めて、それ以上は広げないと自分に言い聞かせてきた。
それが、明日、初めて家族の外で使われる。
(——でも、わたしはまだバグの正体が分からない)
(——魔法陣を読むことはできる。けれど動いている魔法の不安定さを、わたしは見たことがない)
(——明日、何が見えるか)
ノラがむにゃと寝言を言って、わたしの腕に頭を乗せた。
その温かさを感じながら目を閉じた。
頭の中で、転生して間もない頃の言葉がもう一度聞こえた。
(——コードがあれば、必ずバグもある)
(——あの夜のわたしは、確かにそう思った)
(——その言葉が、今、わたしの目の前に立っている)
■あとがき・解説
第36話は、村のあちこちで魔法が不調になり、ついに祭司エルナさんがリナのところまで頭を下げに来る回でした。リナの中で「コードがあれば、必ずバグもある」という前世の言葉が、ようやく物語の中心に立ち上がった回でもあります。今回はリナが頭の中で密かに動かしていた「障害対応の作法」について、ゆるく解説します。
■この話で出てきた言葉
■「障害報告」
リナが井戸でおばさんたちの会話を聞きながら、心の中で「前世なら手帳に書き出していた」と呟いていた、あれです。
仕事の現場では、何かのシステムが正しく動かなくなった時、まず「いつから」「どこで」「どんな症状で」「どれくらいの頻度で」起きているかを、すぐに書き出します。これを障害報告と呼びます。
大事なのは、推測を混ぜずに事実だけを並べること。誰が悪い、何が原因、はあとで考える。まず「起きていること」を時系列でひたすら集める。リナがこの回の前半でやっていたのは、まさにそれでした。マルダさんとこ三日連続、ヒルダさんとこも三日、うちは昨日から——八歳児の頭の中で、立派な障害報告のチケットが並んでいたわけです。
■「非決定的なバグ」
エマが「他に火が点かなくなった家、知ってる?」と問われて、六軒の名前を挙げました。この時点でリナの「眼」は、ただの故障ではない別の何かを察しています。
プログラマーの世界では、バグの中でも厄介な部類に「非決定的なバグ」というものがあります。同じ入力を与えても、結果が毎回違う。一回目はうまく動いて、二回目は失敗して、三回目はまた動く。原因を再現するだけで何時間もかかることがあって、現場では「いちばん憎いやつ」とも呼ばれます。
魔石にきちんと火が点いた日と点かない日がある。同じ詠唱、同じ石、同じ薪。これは「うちの石が壊れた」では説明しきれない、もっと大きな何かが起きている、というリナの直感が、実は前世の経験と直結していたわけです。
■「コードがあれば、必ずバグもある」
これは特定の誰かの言葉というより、現場のプログラマーの間で何度も繰り返されてきた、半ば諺のような言葉です。
「絶対に動く完璧なプログラム」は理論上の存在で、現実には書かれた瞬間からバグが潜む。だから「もしバグがなかったら」を考えるよりも「どこに、どんなバグがいるか」を前提に動く。プログラマーの仕事の半分以上は、自分や誰かが書いたコードのバグと向き合う時間で出来ています。
リナはこの世界に来てからずっと、「魔法はコードだ」と考えてきました。なのに、その当然の続きである「ならバグもある」には、なぜか今まで真正面から向き合っていなかった。エルナさんが頭を下げに来たこの夜、その言葉が初めて、彼女自身の目の前に立ち上がります。
家族の中だけで使うと決めていた「眼」が、明日、初めて家族の外で使われます。緊張と、ほんの少しの誇らしさと、それ以上の不安。ノラの寝息のそばで目を閉じるリナの胸の中は、たぶん、前世で初めて大きな障害対応を任された夜と、よく似ていたはずです。
次の話もお楽しみに。




