1. ひとつのコマンド、ふたつの意味
$ git push origin main → Markdownが自動ビルドされ、読者に届く
# トキストレージで声を国家記録に届ける
$ git push origin main → ニュースレターが自動生成され、国立国会図書館に届く
コマンドは同じだ。git push origin main。キーボード上の動作は同じ。GitHub APIが受け取るリクエストの構造も同じ。サーバーが実行する処理のパターンも同じ。
しかし、一方は技術書を読者に届け、もう一方は人の声を国の永久保存対象に届ける。
APIは変わっていない。変わったのは、使う人の意図だ。
2. zenn.dev——APIが「出版インフラ」だった時代
zenn.devは、日本の技術者向け電子書籍プラットフォームだ。著者はGitHubリポジトリにMarkdownファイルを書き、pushする。すると、zenn.devのパイプラインが自動的にビルドし、書籍として公開する。
60冊以上の技術書をこの仕組みで出版した。執筆→push→公開。このサイクルを数百回繰り返した。
この段階で、GitHub APIは「出版インフラ」だった。原稿を書いてpushすれば本になる。それ以上でも以下でもない。便利で、信頼できて、高速な出版パイプライン。APIの役割はそこで完結していた。
3. 転換点——同じパイプラインに別の意味が流れ込む
トキストレージを構想したとき、「購入者のストーリーをどう記録し、どう永久保存するか」が設計上の問題になった。
答えは、すでに手元にあった。
zenn.devで何百回と使ったのと同じパイプラインに、出版原稿ではなく購入者のストーリーを流す。GitHubリポジトリに自動生成されたニュースレターがpushされ、そのリポジトリが国立国会図書館の収集対象になっている。
技術的には、ほとんど同じことをしている。Markdownを生成し、GitHubにpushし、自動的に公開する。しかし、パイプラインを流れる「意味」がまったく違う。
zenn.devでは、知識が流れていた。
トキストレージでは、存在が流れている。
4. APIは意図を問わない
APIの本質は、意図に対して中立であることだ。
GitHub APIは、pushされたデータが技術書の原稿なのか、人の声を記録したニュースレターなのかを区別しない。APIにとっては、どちらも同じバイト列だ。同じエンドポイントに、同じHTTPメソッドで、同じ認証トークンで届く。
この中立性こそが、APIの力の源泉だ。
もしGitHub APIが「出版物専用」に設計されていたら、トキストレージのニュースレターパイプラインは生まれなかった。もし「コード専用」だったら、zenn.devの出版パイプラインも生まれなかった。
APIが意図を問わないからこそ、使う人の意図が変わったとき、同じインフラがまったく新しい目的に転用できる。技術の汎用性は、設計者が想像しなかった用途を可能にする。
5. 60冊が教えたこと
zenn.devでの60冊以上の出版は、単なる「経験」ではなかった。それは、GitHubパイプラインの信頼性を身体に刻む訓練だった。
pushすれば届く。必ず届く。一度も失われない。変更履歴はすべて残る。誤った変更は元に戻せる。この確信は、仕様書を読んで得られるものではない。数百回の反復で身体に染み込んだものだ。
だからこそ、トキストレージの設計において、「人の声の永久保存をGitHubパイプラインに委ねる」という判断ができた。出版物でさえ一度も失われなかったパイプラインに、人の存在証明を流す。その判断に必要だったのは、技術的な知識ではなく、反復によって培われた信頼だった。
6. インフラの意味は、使う人が決める
水道管は、水を運ぶために設計された。しかし、何を溶かした水を運ぶかで、その意味は変わる。飲料水を運べば生活インフラだ。薬品を運べば医療インフラだ。水道管自体は何も変わっていない。
APIも同じだ。
GitHub APIは、データを運ぶために設計された。しかし、そこに技術書の原稿を流せば出版インフラになり、人の声を流せば存在証明インフラになり、購入者のストーリーを流せば国家記録のインフラになる。
技術は中立だ。意味を与えるのは、人間だ。
同じAPIが、出版にも、存在証明にも、国家記録にもなる。
変わるのは技術ではない。「何のために使うか」という意志だ。
7. 結び——pushするたびに思うこと
git push origin main。
かつてこのコマンドは、技術書を読者に届けるためのものだった。今は、人の声を国の永久保存対象に届けるためのものでもある。
キーボード上の動作は、一文字も変わっていない。変わったのは、エンターキーを押す瞬間の重みだけだ。
60冊以上の出版で培ったパイプラインの信頼性が、いま、見知らぬ誰かの存在証明を支えている。zenn.devでの数百回のpushがなければ、この信頼は生まれなかった。そして信頼がなければ、人の声をAPIに委ねる決断はできなかった。
APIは変容しない。APIを使う人間の意志が変容する。
そしてその変容が、技術を道具からインフラに変える。