デジタルガーデン
夜警の自動機械:最長航程121分
夜明けの排除
昨夜の戦役(十五回の点火)は緑をもたらさなかったが、十分に精密な星図をもたらした。そのため夜明け前の点火は、ことごとく星図に基づく排除法だった:compose のコンパイラ引数、wire プラグイン、ksp の生成ディレクトリ——プローブを一本また一本とタスクグラフに差し込み、dry-run が墜落点の上を何度も掠めていく。排除もまた前進である。容疑者リストは空一面から、たった一行の設定まで絞り込まれた——SweetDependency のバージョン番号を BOM に委ねているあの <no-spec> 座標は、雲のないこの土地では空の provider として解決されるのかもしれない。
塹壕工事も同じ窓で完了した:kapt から KSP への全面移行、ButterKnife の一括撤去、JDK は清華ミラーの Adoptium 17 へ、AGP は一格後退。これらは塹壕を掘る仕事であって、決戦の仕事ではない——決戦はまだ敵を見つけていない。
夜警を自動機械へ
人間の夜警はコストが高すぎる:CI の一周は一時間半、試行錯誤の窓は時間単位で、そして夜警には昼の生活がある。そこでこの日の本当の仕事は、疲れを知らない自動機械を作り、発射場の番を任せることだった:
- 二分半ごとに雲へ問う:灯りは点いたか;
- 失敗したら自動で検死:死の間際のログを全量回収し、死因を分類。未知の型は即座に人間を起こし、既知の型には 5分か20分のクールダウンを与え、そして自ら再点火する;
- オーケストレータは v2.1 として出航:sha はローカル tag から動的に解決され、tag を動かしても脚本は書き換えなくてよい。
Commit a2f3d482 ののち、自動機械は最も重要な感覚を手に入れた:死亡地点の特定。以前の墜落はことごとく匿名だった——どのタスクで死んだのかログには見えなかった。今はすべての失敗ダンプが「死の直前の12タスク」を携えている。艦隊の全船にブラックボックスが積まれたのである。
121分
最長の航程は121分。エンジンは二時間轟いた——この赤い惑星でこれほど長生きした飛行はかつてない——そして母星自身の一条の稲妻に撃ち落とされた:ホストマシンの OOM killer。コードのせいでも、設定のせいでもない。空そのものがくしゃみをしたのだ。
同じ日、夜警自身の母港も同じ天気に見舞われた:メモリが満ち、画面が消え、再起動。両岸の空に、同じ雲が浮かんでいたのである。その応答として、母港は 2.3GB を占める仮想マシンを 1GB まで圧縮した——嵐が通過する余地を空けるために。
灯りはまだ緑ではない
率直に言えば:戦役二日目は終わり、灯りはまだ赤い。だが自動機械は毎晩賢くなっている:ブラックボックスは物言うようになったし、メモリの上限は見えるようになったし、クールダウンのリズムも覚えた。眠らず、落胆せず、感謝も要らない。次の点火はすでに自動で済んだ——この文章が書かれているまさにその間に。
亡命者の発射場は、ついに自分だけの夜警を得た。灯りは緑になる。
コメント