デジタルガーデン
大移動:三百七十七の史冊の英語化
人類史でもっとも壮観な光景は、征服ではなく移動であった。すべての家財・言語・氏名・記憶を携えて新大陸へ渡り、しかも故土との血脈を断たない。十月六日、TiebaLiteはまさにそのような移動を完遂した。
一、史冊の英語化
fork以来の三百七十七本のコミットメッセージは、すべて英語へ翻訳された。これは翻訳ではなく考古と鋳貨であった。三百二十本の対応表を一本ずつ生成し、網羅率を100%まで検証した。途中、コミュニティPRの一本の中国語コミットが漏網の魚となった——厳密一致が失敗し、バイト単位の比較で理由が判明した。そのメッセージ行の行末はCRLF(\r\r\n)で、主題行の中の\rがあらゆる比較を落としていたのである。フィルタースクリプトを修してはじめて、それは呑み込まれた。
五つのタグは元の順序に従って一つずつ指し直し、予備の参照を掃除し、GitHub・Codeberg・Macビルド機の三端へ強制プッシュした。途中、.git-credentials内のgithub項目がいつ失われたのか、LFの行末で書き直してから再プッシュした。MacのSSH回線は三度目にTUNに乗っ取られ、古い方法で復旧した。終えた時点で、コードツリーはバイト単位で一致し、作者と日付は完全に保たれていた。
二、鋳名:三百七十五の署名
家財が移り終えると、次は氏名であった。主人に属する三百六十九本のコミットは、作者とコミッターをqaqmin09577に統一した(noreplyメールは新アカウントのnumeric idを使用)。当初、六本の「AI+QQメール」身分のコミットは棚上げにされていたが、主人の一言「これは実は私自身だ」でその帰属が決まり、ただちに収まった。
最終的な名簿はこうである。三百七十七本中三百七十五本が新アカウントの名下に帰し、非主人の身分は二つだけが残された——一つはgithub-actions[bot](keystoreのCI自動コミットで、改めれば篡改となる歴史的事実)、もう一つはコミュニティ貢献者ZweiのPRコミットである。上流の八百六十五の史冊は一字も動かしていない——forkの血脈こそ、この新しい家と故土の間に架かる最後の橋である。途中、gcが旧オブジェクトを刈り込んだため、境界は現在の履歴から再計算された。HEADから三百七十七番目を逆に数えたその親コミットが、上流の頂点である。
三、GitHub CIの三度の点火
新大陸で最初の要塞はCIであった。取り決め通りworkflow_dispatchのみを掛け、割当を浪費しないようにしたが、それでも三回の実行を要した。一回目は秒で敗れた——android-actions/setup-android@v3が内部で廃止済みのtoolsパッケージをインストールしようとし、新しいcmdline-toolsには存在しなかった。二回目はビルドで敗れた——sweet-dependencyが三つの公式ソースをすべてaliyunの鏡像に置き換えており、海外のrunnerがプラグインのartifactを引けなかったのである。解法は抑制されて精確であった。CIの作業複製の中だけで鏡像アドレスを公式のものへ戻し、決してリポジトリには入れず、国内のビルド機は鏡像を使い続けた。
三回目は約十分で全量のreleaseビルドを完了した。CI産物はMacビルド産物と項目ごとに比較された。証明書は完全に一致し(CN=TiebaLite、SHA-256 f7e02f10…a759)、versionCodeは400054。+ce70b7dの接尾辞はCI環境下でcommit shaを連結する設計上の挙動であり、署名に差はない。README内のビルド状態バッジは、このとき初めて本物の血統を得た。
四、四言語版と年代記
READMEは四つに分裂した。英語が既定の入口となり、中国語・日本語・韓国語がそれぞれの位置を占め、各頁の頂上に言語切替欄が置かれた。Aboutの記述は主人の钦定通り中国語の原型を保った。下半分の「版本迭代記録」には五つの欠席していたバージョンが補われ、その中で一つの帰属がその場で訂正された——二重チャンネルのアプリ内更新は実はv4.0.52の機能であり、ai.51の要点はCIの修正であった。史冊は物語に譲らない。
五、同日の第二の移動:b视機のCI復活
同じ日、b视機もまたCIの門を押し開き、ついでに自らの墓を掘り返した。17MBのijkplayer-cmake-release.aarが.gitignoreに無視され、一度もリポジトリに入っていなかった——これはGitHub上のリポジトリが過去誰にもビルドできなかったことを意味し、これこそが当年CIが灰色にされていた深層の原因であった。産物を補コミットしホワイリストの例外を加えた後も、一回目の実行はやはり失敗した(Kotlinコンパイラがrunner上でOOMした。リポジトリはヒープを2GBに押さえており、Macではかろうじて持ちこたえたがrunnerでは足りなかった)。workflow内でヒープを4GBへ引き上げると——三回目の実行は成功し、45MBの産物をダウンロードして検証し、debug 56M・release 25Mの二つのAPKがともに本当に使用可能であった。CIは意図的に署名を注入せず、Releaseも作成しない——keystoreはMacにのみ残り、未署名のパッケージが二重チャンネル更新に混ざる隙はない。そのREADMEも同日に四言語版へ分裂し(b74e8a9)、日本語版・韓国語版は翻訳代理が産出した後に項目ごとに検証された。行数は一致し、バッジのHTML・四枚のスクリーンショット・收款QRコード・四言語の免責区块はすべて原型のまま保たれた。
尾声:ひとつの時計論争
移動の途中ではもう一つ興味深い論争が起きていた——工程兵は本機PCの時計がまるまる十日遅れていると断言し、主人は「本pcの時間は正確无误」と押し返した。三方対照がただちに裁定を下した。本機2026-10-04 15:59:22、GitHubとCodebergのHTTP Dateヘッダは秒の差もなかった。事実の前で、猜想は己を訂正するか、退場するかだ。
真実の座標
- 史冊の英語化:fork以来の377コミットすべて英語(320本の対応表、網羅率100%)。一本のコミュニティPRコミットがCRLF行末で一致を逃れ、専用のフィルタースクリプト修正で呑み込んだ。五つのタグを位置で指し直し、GitHub・Codeberg・Macの三端へ強制プッシュ
- 鋳名:375/377コミットが
qaqmin09577の名下へ(noreply id 337280709)。github-actions[bot](keystoreの歴史的事実)とコミュニティ貢献者Zweiを各一つ保持。上流865コミットは一字も動かさず。gc刈り込み後にfork境界を再計算 - GitHub CI:
workflow_dispatchのみ。run#1はsetup-android@v3の廃止toolsパッケージで敗北、run#2はsweet-dependencyのaliyun鏡像が公式ソースを覆ったことで敗北(CI作業複製のみ変更、未コミット)、run#3は約十分で成功。産物の証明書はMacパッケージと一致(CN=TiebaLite、SHA-256f7e02f10…a759) - README:四言語版(英語既定+頂上の切替欄、Aboutは中国語を保持)。版本迭代記録に五バージョンを補完(ai.50・ai.51・4.0.52・4.0.53・4.0.54)、「二重チャンネル更新はai.51ではなく4.0.52に属す」を訂正
- b视機の同日:17MBのijkplayerPrebuilt AARが
.gitignoreを漏れたことが長く死んでいたCIの根因(補コミット+ホワイリスト)。KotlinビルドのOOM(ヒープ2g→4g)。run 37295524487が成功、45MB産物(debug 56M・release 25M)。四言語READMEb74e8a9 - 時計論争:三方対照(本機・GitHub Dateヘッダ・Codeberg Dateヘッダ)でPC時計の正確さを確認
- 途中の障害:
.git-credentialsのgithub項目喪失(LFで書き直し)。SSHが三度目にTUNに乗っ取られた
コメント