はじめての 5 分

// GUIDE · はじめての 5 分

サイトを開いて、レシピを動かして、verdict を読む。

このページは Vivarium をはじめて触る人のための最短ルート。インストール不要、アカウント登録不要、ターミナル不要。ブラウザのタブ 1 枚で完結する。

// 0 · 5 分でやること

3 ステップ。

01
ギャラリーを開く。

トップナビの「再現一覧」をクリックする。あるいは直接 /repro/ へ。Layer 1(ブラウザ内 WebAssembly)のレシピが並んでいる。

02
レシピを 1 つ選んで「Open」を押す。

本物のアップストリームバグが、別タブの専用ページで開く。pandas、numpy、CPython、Ruby、PHP、Rust regex のどれでもよい。

03
verdict を読む。

画面上部のバッジが pending → reproduced か unreproduced のどちらかに落ち着く。「reproduced = バグが今でも再現する」。これだけ覚えれば最低限読める。

verdict の値リテラルが直感に反する向きを持っている点は、用語集の verdict に詳しく書いた。 「reproduced は赤、unreproduced は緑」のメンタルモデルでよい。

// 1 · ギャラリーを開く

どのレシピも同じ Contract v1 を満たす。

再現一覧 にレシピが一覧表示されている。各カードは 1 つのアップストリームバグに対応し、 対応プロジェクト、Issue 番号、Layer、現時点の verdict、いつキャプチャされた verdict かを示す。

ファセットでフィルタできる: 言語(python / ruby / php / rust)、症状、深刻度、タグ。 具体的なエラーメッセージから候補を絞りたい場合は エラーからレシピを探す が使える(語句マッチでスコアリングして候補を返す)。

// 2 · レシピを動かす

クリック 1 回。後はブラウザがやる。

初回は何が起きているのか分かりやすいように、pandas-56679 を例に進める。 カードの「Open」ボタンを押すと別タブで

/repro/pandas/56679/

が開く。

ページが読み込まれると、まず Pyodide(CPython の WebAssembly ビルド)と pandas を jsDelivr CDN からダウンロードする。verdict バッジは pending 状態で 「ランタイムを読み込み中」と表示される。

ロード完了後、ページに埋め込まれた再現スクリプトが実行され、verdict が確定する。 初回ロードは数秒〜十数秒(接続速度とブラウザのキャッシュ状態による)、 2 回目以降は CDN キャッシュが効いてミリ秒〜秒で開く。

Layer 1 はブラウザ完結。ローカルに Python も pandas も入れる必要はない。 Vivarium が宣言する 3 層アーキテクチャは アーキテクチャ 参照。

// 3 · verdict を読む

reproduced / unreproduced / pending の 3 値だけ。

reproduced はアップストリームバグが現在も再現することを示す。 unreproduced は再現しなかったこと——つまりランタイムの新しいビルドが 問題を解消した、あるいは再現条件が変わった——を示す。pending は まだ実行中、もしくは初期化中の中間状態。

pandas-56679 を開いて少し待つと、現状(pandas が Pyodide で出荷している版で再現するかどうか) に応じて値が reproducedunreproduced に落ち着く。 verdict バッジの下に、その判定の根拠となった出力——series_dtypedf_dtype の比較結果——も表示される。

「pass / fail」ではなく「reproduced / unreproduced」を使う理由: テスト用語の pass / fail はチームによって意味が逆転する。Vivarium の動詞は 「バグが再現したか」一本に固定したい。詳細は contract v1 verdict セマンティクス

// 4 · evidence を読む

バッジだけではなく、その根拠も同じページに。

verdict バッジの下に「Evidence」セクションがあり、再現スクリプトの実行結果が まとまっている: stdout、stderr、終了コード、所要時間(ms)。Contract v1 リビジョン 2(Phase 6 R.1 で追加)により、verdict が出る根拠が ページから直接読める。

たとえば pandas-56679 では、series_dtypedf_dtype の 文字列値、両者が一致しないかどうかの真偽値、pandas と Python のバージョンが JSON で出力される。これがそのままevidence として記録される。

// 5 · 次に何をするか

目的別の入口。

01
言葉を整理したい。

用語集 (/guide/glossary) に Vivarium が固定的な意味で使う単語をまとめてある。レシピ、verdict、evidence、Layer 1/2/3、manifest、contract など。

02
ブランチ修正が本当に効いているか確かめたい。

比較ページ (/repro/compare) に修正前後の verdict バンドルをドロップすると、reproduced → unreproduced に反転したかが横並びで見える。AI エージェントが書いたパッチの検証用に作られた surface。

03
自分のリポジトリに Vivarium 再現を宣言したい。

ガイドの「自分のリポジトリに統合する」(/guide/integrate-with-your-repo) が手順を一通り通す。仕様の正典は Manifest v1 (/spec/manifest-v1)。

04
AI エージェントから呼びたい。

ガイドの「AI エージェントから使う」(/guide/use-from-ai-agent) に Claude Code / Cursor / Cline / Continue 向けの設定例と 4 つのツール (list_recipes / get_recipe / lookup_verdict / match_error) のサンプルプロンプトがある。MCP サーバの初公開は意図的に保留中なので、現状はローカルクローン経由で動かす。

05
なぜこのプロジェクトが存在するか知りたい。

概要 (/overview)、アーキテクチャ (/architecture)、ロードマップ (/roadmap) を順に読むと骨格がつかめる。

このページの手順がうまく動かないところがあれば、それは getting-started の バグであり、スタイルの好みではない。Issue を立ててほしい。

// NEXT

用語集を読む

動くものを見たあとは、Vivarium が固定的な意味で使う言葉を 5 分で押さえると、以後のドキュメントが速く読める。

VIVARIUM は ALETHEIA-WORKS の一部 · GitHub でソースを見る →