概要

// OVERVIEW

Vivarium とは。

あらゆる言語・あらゆる環境のバグを、ブラウザのタブ 1 枚から再現する基盤。

// 01 · 何を提供するか

バグ再現のためのプラットフォーム。

Vivarium は バグ再現のためのプラットフォームです。 以前報告されたバグが「いまでも再現するのか」「修正候補で本当に直っているのか」を、 ブラウザを開いてクリックするだけで確認できます。

アップストリームの実バグごとに 1 つのレシピが用意されており、 各ページは verdict.json v1 という共通仕様に従って reproduced(バグ再現)または unreproduced(再現せず)の 判定を返します。実行結果はページに inline で表示され、コピー可能な machine-readable 形式でも公開されます。

Vivarium は記事ではなく実行可能なアーティファクトとして バグを配布します。誰かが文章で「これがバグです」と書く代わりに、 ブラウザに開けば自分の目で動作を確認できる。

// 02 · 三層の実行サーフェス

バグの種類に合った実行環境を、レシピが選ぶ。

バグは性質によって、必要となる環境が大きく異なります。Vivarium は再現技法を 三つのレイヤーに整理しており、ユーザーがレイヤーを意識する必要はありません—— レシピが自分に合った層を宣言します。

L1

瞬時起動、ブラウザネイティブ

WebAssembly でブラウザ内に再現が直接実行されます。起動はミリ秒〜数秒。アルゴリズム、パーサ、データ処理、in-memory なデータベース操作など、完全な OS を必要としないバグに向きます。

Pyodide · sqlite-wasm · wasm32-wasi · Ruby.wasm · PHP.wasm
L2

完全忠実度、コンテナ実行

Docker または microVM の中で再現が実行されます。起動は数秒〜分単位。実ファイルシステム、実プロセス、実ネットワークが必要なバグのための層です。

Docker · Firecracker · gVisor
L3

第三の道

Record-replay、決定論的シミュレーション、WASI Preview 3+、スナップショットベースの復元、そしてまだ発明されていない技法。L1 でも L2 でも届かない問題のために。

rr · Antithesis · CRIU · WASI Preview 3+

// 03 · プロジェクトの経緯

バグが本当に再現するか、どうやって安価に確かめるか。

きっかけは AI が生成するバグレポートと修正 PR の急増でした。アップストリームの メンテナーには「もっともらしいが誰も検証していない主張」が機械の速度で届くようになり、 コントリビューター側にも「自分の修正案が本当に直っているか」を確かめる手段が ありません。

共通する根本原因は バグが実在するか・修正が効いているかを、 安価かつ普遍的に検証する仕組みが存在しないことです。 Vivarium はその仕組みを提供します——「再現するのか/しないのか」を、 クリックひとつで返せる形に。

// NEXT

実際に動かしてみる

ブラウザのタブ 1 枚で 1 つのレシピを動かして verdict を読むのが、Vivarium を理解する一番速い道。

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