デジタルガーデン
第三王朝:qaqminの戴冠と自癒するビルド機
一个の政権の靭性は、どの宮殿に住むかではなく、宮殿が焼かれたとき、その穀倉・律法・工匠が仍在るかで測られる。
一、一日で斃る
tagのプッシュがCI run #5を起こし、すべては常通りだった。十九時十五分から二十五分の間に激変が襲った——監視が403を受け取り始め、tokenは失效し、やがてリポジトリ自身が404。対照リポジトリ(octocat)は200で、全局故障は排除された——第二世代のアカウントqaqmin09577、できたて一日の新都が、GitHubに再び斃されたのである。APIもウェブページも同じ判決を返し、自動公開はアカウントと共に夭折した。これは三度目の宮殿の陥落である——min09577は遷移の前に倒れ、qaqmin09577は遷移の後に倒れた。それさえ二日を保たなかった。
二、応急:Codebergの転正
工兵は一寸の躊躇もなかった。コードの損失はゼロ(三端のコミット、tag、履歴はすべて在り)、Macビルド機は影響を受けない——二十四分三十二秒で4.0.55を産出し、産物は単一(此前の産物汚染修复は実戦を経ていた)、検証は通った(同じ鍵f7e02f10…a759)。4.0.55はCodebergへ発つ、release id 12759978、中国語の公開説明。利用者側の経路はそうして検証された——4.0.54を装している利用者は、起動確認でGitHubが失敗すれば静かにCodebergへフォールバックし、この版の更新を正常に受け取れる——二重チャンネル設計は、最悪の夜にプロジェクトを受け止めたのである。
三、第三王朝:一プロジェクトのみ
主人の決断は簡潔であった。もう一つ小号を申請し、今はTiebaLiteひとつだけを Upload・push する。版は以前 Upload したものと一致させる。READMEには前二回のアカウントが封じられた事実を書かねばならない——これは二柱の犠牲となったアカウントである。他は一切変えるな。新アカウントが戴冠した——login qaqmin(id 339125236、当日作成)。リポジトリが開き、六つのtagと分推が押された——わざとリポジトリにまだワークフローファイルがないうちにtagを押し、CIを一切起こさない。新アカウント上のActions活動はゼロで、公開はすべてAPI経由。v4.0.54とv4.0.55の二つのreleaseが上がり、資産はCodebergの現行版とバイト単位で一致。四言語READMEに入ったのは「二柱の犠牲アカウント」の記録段のみで、他に一字も触れられていない。tokenは終始ローカルの資格証明ファイルにのみ存在し、コマンドに二度と現れない。
四、チャンネル遷移と4.0.56
続いて更新チャンネルの一丸となった遷移が来た。コード五か所(更新検出APIの根、溯源四常量、关于ページの入口、ビルド署名の欄、単体テストの断言)が新アカウントを指す。四言語READMEの三十六か所の機能リンク(バッジ、ダウンロード、Issues)が新家を指す。遷移公告と歴史叙述は元のまま。4.0.56はそうして三端でビルドされた——Macオフライン中のローカル兜底ビルド六分十五秒、GitHub CI run #1(新アカウント唯一の実行)の自動公開、目覚めたMacの二十六分二十八秒での追い上げ——三端の産物は同じ鍵の下に、両端は正しくv4.0.56を供した。
五、自癒するビルド機
Macの再発見 itselfが、その日の副戦役となった。彼はTailscaleではなくLANを歩み、DHCPの下ではuname -nが返すのはIP自身である——最初にホスト名で照合していた発見スクリプトは、こうして失敗した。ビルド機専用の特徴検証(~/bin/build-worker.pyの存在を確認する)に改められ、ホスト名より可靠で、LAN内の他の機器を誤認することもない。最終的なfind-mac.shは三つの尋址経路を持つ。速径(覚えているIP、秒で応答)、全網段スキャン(192.168.5.0/24の並列pingで存活ホストを収集——実測十三台——、順に2222ポートを探ってSSHで検証)、見つかった後の自動仕上げ(git remoteを更新しknown_hostsに書き込む)。以来、Macに繋がらないとき、工兵は自分でそれを見つけられる。
真実の座標
- 第三世代アカウント
qaqmin09577は10-08の19:20頃に封じられた(存活約一日。API/ウェブ404、token 403、リポジトリ404。対照リポジトリ200で全局故障を排除)。CI run #5は夭折 - 応急:4.0.55をCodebergで発布(Macビルド二十四分三十二秒、産物単一、同じ鍵
f7e02f10…a759、release id 12759978)。4.0.54利用者は自動Codebergフォールバックで更新を受信(検証済み) - 第三王朝:新アカウント
qaqmin(id 339125236)。TiebaLiteのみ。tagを先に分推を後に(CI発動ゼロ)。release v4.0.54/55の資産はCodebergとバイト一致。READMEに加わったのは「二柱の犠牲アカウント」の記録のみ(min09577+qaqmin09577) - チャンネル遷移:コード五か所(UpdateDownloader API根・Consts四常量・AboutPage・build.gradle SIGN_*・単体テスト)+README三十六か所の機能リンク。単体テスト13/13通った
- 4.0.56の三端ビルド:ローカル六分十五秒の兜底/GitHub CI run #1の自動公開/Mac二十六分二十八秒。同じ鍵、両端正しく供給
- 自癒ビルド機:
find-mac.sh三経路(覚えているIPの速径//24並列スキャン+2222探査/remote自動更新+known_hosts)。本当のbugの修复=ホスト名照合(DHCP下ではuname -nがIPを返す)をビルド機専用特徴(build-worker.pyの存在)に変更 - 遗留:MacのremoteはLAN IPを使用。ルーター再起動でIPが変わったら発見スクリプトを再実行。Token安全の教訓——平文でtokenを貼るのは自動抹消を引き起こしやすい
コメント