AI-Nativeシリーズ・スーパーリポジトリ
17個のリポジトリを1つの正面玄関に配線した。ゲートを実行しない限り、何も緑にはならない。
1分でわかる要点——ここから持ち帰れるもの
私は1日で17個のリポジトリを1つのスーパーリポジトリに配線した。きっかけは、法的にコピーが許されないペン&キャンバスアプリだった。うまくいったのは、たった一つのルールを守ったからだ。衛星リポジトリは、自分自身のゲートを実行しない限り緑にはならない。チェーン01:手描きスケッチが最終的に間取り図となり、5つの建築チェックに合格する、exit 0。
1日で緑の状態から生まれたスーパーリポジトリ——きっかけは、法的にコピーが許されないペン&キャンバスアプリだった。設計全体はたった一つのルールに集約される。証拠なくしてバッジなし。約6分。
問題:24個のリポジトリ、そして正面玄関の不在
私はリポジトリの中で作る——ある人がノートを取るように、強迫的に。デザインツール、リサーチツール、マネーOS、キャリアOS、ストラテジーOS。それぞれはちゃんと動く。だが、まとめてみるとそれはガラクタ入れの引き出しだった。Iでさえ、どれがどの問いに答えるのか、常に覚えていられるわけではなかった。自分自身のツールが役立つために人間のインデックスを必要とするなら、それはプロダクトファミリーではない。ただの山積みだ。
その解決策として1日がかりで構築したのがallin-anythingだ。その唯一の成果物が検証済みリーチ — 17のサテライトリポジトリのレジストリで、それぞれが「何ができるか」だけでなく、より重要な点としてその主張のどこまでを機械が実際に検証済みかによってラベル付けされている.
きっかけは一本のペンだった
正確に言えば、きっかけはpenecho ——AIに向かって手書きするオープンソースのキャンバスアプリだ。手書きで数式・図・空間スケッチをAIに渡すと、構造化された下書きが返ってくる。その下書きは、自分が承認するまで確定済みの作業とは切り離されたままになる。物理的なジェスチャーが入力となり、デジタルな知性が出力となり、その間にヒューマンゲートが挟まる。それこそが、他人が作ったこのアプリ一つに凝縮された、自分のリポジトリ群全体のテーゼだった。
一つ問題があった。penechoはAGPLライセンスだ。そのコードを自分のリポジトリにコピーすれば、法的に危険なだけでなくアーキテクチャ的にも怠慢だ。だからこそ、これは設計そのものを試す最初の関門になった。すなわちサテライトとはポインタであり、固定されたコミットSHAであり、確認済みの事実のダイジェストであって——決してベンダリングされたコピーではない。 私は手法を取り入れ、出典を明示し、彼らのコードは本来の場所——アップストリーム——で実行する。
15歳でも理解できるメンタルモデル
厳格な用心棒がいるクラブを思い浮かべるとよい。入会を希望するすべてのリポジトリには、3色のうちいずれかのリストバンドが渡される。
- ⚪ Candidate(候補) ——名簿に載っているだけ。名前が付き、役割が割り当てられ、何も検証されていない。それだけだ。
- 🟡 Digested(読み込み済み) ——身分証を実際に確認された状態。特定のコミットに紐づいた事実を記したダイジェストファイルが存在し、未確認の事項にはunconfirmed(未確認).
- 🟢 Integrated(統合済み) ——本番の舞台で実際に演じてみせた状態。自分自身のテストゲートがこのマシン上で実行され、exit 0で終了し、フロントドアがそこへルーティングされる。
用心棒はコードであって、雰囲気ではない。検証ルールは、証拠ファイルがディスク上に存在しないステータス昇格をすべて拒否する。READMEのテーブルはレジストリから生成されており、両者がずれればCIが落ちる仕組みだ。初日には9個のサテライトのうち7個が正直に白のままだった——READMEにもそう記されている。見栄えのいいテーブルは、信用できないテーブルにすぎないからだ。
チェーン01:手描きスケッチが検査を通過してフロアプランになるまで
この構想全体が約束するのは「デジタルと物理の両世界へのオールイン・インタラクション」だ。だからマイルストーン3は、その境界を越えるチェーンでなければならなかった。意図はこうだ:「手描きで部屋のレイアウトをスケッチし、それが施工可能であることを検証する。」
決定論的ルーターがこのチェーンを宣言する。ルーティングに関するすべての主張はpytestとして検証され、penechoをベンダリング(コード同梱)することを拒否しなければならないという主張もその一つだ。振り分けはインクの部分がpenecho、物理検証の部分がdesign-anything。そして物理側は実際に走った:
$ python3 pipeline/construction_gate.py studio.json
PASS C1_topology: 4 rooms, 4 openings, all resolve
PASS C2_clearances: all openings meet table minima
PASS C3_habitability: areas, dimensions, daylight, ceiling OK
PASS C4_egress: all rooms reachable; entry door present
PASS C5_module_grid: 100% of coordinates on the 100mm module
READY: studio-flat (design-sanity gate, not a permit or PE stamp)
終了コード0。4部屋、28.5平方メートルのレイアウトが、トポロジー・クリアランス・居住性・避難経路・グリッドの各チェックに合格した——そのリポジトリが何かを「準備完了」と呼ぶ際に使うのと同じゲートだ。この実行によって design-anything は🟢に格上げされた。penecho は意図的に🟡のままにした:スケッチのステップは人間かつアップストリームの領域であり、機械が検証したかのように見せかければ、このテーブルが売り物にしている唯一のもの——信頼——を毒することになるからだ。
リポジトリは自らを、そして私自身を監査する
レジストリの規律は、私の機嫌次第で置いておけば1週間で崩れる。だからこのリポジトリは自分自身の運用を採点する:9つの原則(データとしての仕様、証拠なければ通さず、作り手は検証者にあらず、サテライトはベンダリングしない……)、それぞれに実行可能なチェックが裏付けられ、CIで90/100のゲートがかかっている。測定されていない原則は合格とはみなされない。そうした原則はゲートをブロックする。現時点では100/100で走っており、いつか手抜きが一つの原則を後退させれば、そのビルドは私自身の失敗として落ちる。
この誠実さは両方向に働いた。ビルドの最中、GitHubのCIキューが不調な日があった:ジョブがログもステップも注釈も一切ないまま死んでいったのだ。私はちょうど2つのアクションのバージョンを上げたばかりだったので、その証拠だけでは「彼らのインフラの問題」なのか「自分の変更の問題」なのかを区別できなかった。取った対処は地味だが誠実だった——直前のgreenだった構成に正確に戻し、次の実行結果に判断を委ねる。これはチェンジログに「診断ではなく、ロールバック」として記録された。「まだ分からない」と文章で言い切ることも、一つの機能なのだ。
そもそもなぜスーパーリポジトリなのか
その代わりにあるのは業界のデフォルト——連携を主張するだけのランディングページだからだ。門番付きのレジストリはそれを逆転させる。機能を一つ追加するコストはYAMLエントリ1つ分であり、この段階(ラダー)はすべてのユーザー——未来の私自身も含めて——に、各行をどこまで信頼すべきかを正確に伝える。テーブルはまだ小さい:グリーン2、イエロー10、ホワイト5——そして公開翌日、まさにこの段落でグリーンの数を過大に数えていたことを、リポジトリ自身のチャーターゲートが捕まえた。ゲートが勝ち、文章の方が修正される。だがそこにある色はどれも実行によって獲得されたものであり、それこそが積み重なっていく唯一の種類のテーブルなのだ。
一般化できるルールはこうだ: システムが他のシステムを束ねるなら、主張を集めるのではなく、終了コードを集めよ。
AI-Nativeシリーズのその他の記事
そのすべてはホームページのWritingセクションにある。
AI-Nativeシリーズの一部。goal-10xループ——研究→吸収→コーチング→green化→自己改善——で構築した。信じるべきはラベルではなくアーティファクトだ。Publishボタンを押すのはあなた自身である。