はじめての 5 分
// GUIDE · はじめての 5 分
サイトを開いて、レシピを動かして、verdict を読む。
このページは Vivarium をはじめて触る人のための最短ルート。インストール不要、アカウント登録不要、ターミナル不要。ブラウザのタブ 1 枚で完結する。
// 0 · 5 分でやること
3 ステップ。
トップナビの「再現一覧」をクリックする。あるいは直接 /repro/ へ。Layer 1(ブラウザ内 WebAssembly)のレシピが並んでいる。
本物のアップストリームバグが、別タブの専用ページで開く。pandas、numpy、CPython、Ruby、PHP、Rust regex のどれでもよい。
画面上部のバッジが 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 で出荷している版で再現するかどうか)
に応じて値が reproduced か unreproduced に落ち着く。
verdict バッジの下に、その判定の根拠となった出力——series_dtype と
df_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_dtype と df_dtype の
文字列値、両者が一致しないかどうかの真偽値、pandas と Python のバージョンが
JSON で出力される。これがそのままevidence として記録される。
// 5 · 次に何をするか
目的別の入口。
用語集 (/guide/glossary) に Vivarium が固定的な意味で使う単語をまとめてある。レシピ、verdict、evidence、Layer 1/2/3、manifest、contract など。
比較ページ (/repro/compare) に修正前後の verdict バンドルをドロップすると、reproduced → unreproduced に反転したかが横並びで見える。AI エージェントが書いたパッチの検証用に作られた surface。
ガイドの「自分のリポジトリに統合する」(/guide/integrate-with-your-repo) が手順を一通り通す。仕様の正典は Manifest v1 (/spec/manifest-v1)。
ガイドの「AI エージェントから使う」(/guide/use-from-ai-agent) に Claude Code / Cursor / Cline / Continue 向けの設定例と 4 つのツール (list_recipes / get_recipe / lookup_verdict / match_error) のサンプルプロンプトがある。MCP サーバの初公開は意図的に保留中なので、現状はローカルクローン経由で動かす。
概要 (/overview)、アーキテクチャ (/architecture)、ロードマップ (/roadmap) を順に読むと骨格がつかめる。
このページの手順がうまく動かないところがあれば、それは getting-started の バグであり、スタイルの好みではない。Issue を立ててほしい。