概要

// OVERVIEW

Vivarium とは。

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

// 01 · 何を提供するか

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

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

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

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

きっかけは AI 生成のバグレポートと修正 PR の急増でした。アップストリームには「もっともらしいが誰も検証していない主張」が機械の速度で届くようになり、コントリビューター側にも「自分の修正案が本当に直っているか」を確かめる手段がない——その共通の根本原因に対処するのが 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+
3 つのレイヤーがそれぞれ動くところを見る。 ギャラリーには L1 / L2 / L3 のレシピがファセット付きで並んでいて、レイヤーをタブ切替で 1 クリック比較できます。再現一覧

// 03 · どの入口を選ぶか

あなたの目的にあわせて、最初の 1 ページを。

// NEXT

実際に動かしてみる

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

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