瞬時起動、ブラウザネイティブ
WebAssembly でブラウザ内に再現が直接実行されます。起動はミリ秒〜数秒。アルゴリズム、パーサ、データ処理、in-memory なデータベース操作など、完全な OS を必要としないバグに向きます。
// OVERVIEW
あらゆる言語・あらゆる環境のバグを、ブラウザのタブ 1 枚から再現する基盤。
// 01 · 何を提供するか
Vivarium は バグ再現のためのプラットフォームです。 以前報告されたバグが「いまでも再現するのか」「修正候補で本当に直っているのか」を、 ブラウザを開いてクリックするだけで確認できます。
アップストリームの実バグごとに 1 つのレシピが用意されており、
各ページは verdict.json v1 という共通仕様に従って
reproduced(バグ再現)または unreproduced(再現せず)の
判定を返します。実行結果はページに inline で表示され、コピー可能な
machine-readable 形式でも公開されます。
Vivarium は記事ではなく実行可能なアーティファクトとして バグを配布します。誰かが文章で「これがバグです」と書く代わりに、 ブラウザに開けば自分の目で動作を確認できる。
// 02 · 三層の実行サーフェス
バグは性質によって、必要となる環境が大きく異なります。Vivarium は再現技法を 三つのレイヤーに整理しており、ユーザーがレイヤーを意識する必要はありません—— レシピが自分に合った層を宣言します。
WebAssembly でブラウザ内に再現が直接実行されます。起動はミリ秒〜数秒。アルゴリズム、パーサ、データ処理、in-memory なデータベース操作など、完全な OS を必要としないバグに向きます。
Docker または microVM の中で再現が実行されます。起動は数秒〜分単位。実ファイルシステム、実プロセス、実ネットワークが必要なバグのための層です。
Record-replay、決定論的シミュレーション、WASI Preview 3+、スナップショットベースの復元、そしてまだ発明されていない技法。L1 でも L2 でも届かない問題のために。
// 03 · プロジェクトの経緯
きっかけは AI が生成するバグレポートと修正 PR の急増でした。アップストリームの メンテナーには「もっともらしいが誰も検証していない主張」が機械の速度で届くようになり、 コントリビューター側にも「自分の修正案が本当に直っているか」を確かめる手段が ありません。
共通する根本原因は バグが実在するか・修正が効いているかを、 安価かつ普遍的に検証する仕組みが存在しないことです。 Vivarium はその仕組みを提供します——「再現するのか/しないのか」を、 クリックひとつで返せる形に。