• 日本語
  • はじめての 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 回。後はブラウザがやる。

    初回は何が起きているのか分かりやすいように、cpython-137205 を例に進める。 カードの「Open」ボタンを押すと別タブで該当レシピのページが開く。

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

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

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

    // 3 · verdict を読む

    reproduced / unreproduced / pending の 3 値だけ。

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

    レシピを開いて少し待つと、現状(Pyodide が出荷しているライブラリ版で再現するかどうか) に応じて値が reproduced か unreproduced に落ち着く。 verdict バッジの下に、その判定の根拠となった出力——レシピ固有の比較値——も表示される。

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

    // 4 · evidence を読む

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

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

    典型的な 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 向けの設定例と各 MCP ツールのサンプルプロンプトがある。

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

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

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

    // NEXT

    用語集を読む →

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

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