仕様
// SPEC · v1
Vivarium 仕様。
再現 verdict コントラクト——アップストリームのバグが今日のランタイムに対して再現するかどうかを記述する、小さく安定したサーフェス。
// 01 · 概要
バージョン管理されたサーフェス。
Vivarium 仕様は、再現ページが自己宣言できるようにし、外部ツールが verdict を読めるようにし、 外部リポジトリがカスタムのグルーなしで独自の再現を公開できるようにする小さなファイルセットだ。
再現ページは
<meta name="vivarium-contract" content="v1">でコンフォーマンスを宣言する。外部ツールは同じサーフェスを読んで ページが今日も再現するかを知る。
// 02 · 現在のサーフェス
三つのサーフェス、ひとつのコントラクト。
Contract v1 — verdict サーフェス
Contract v1 はすべての再現ページが約束することを定義する:
verdict DOM バンド、window.VIVARIUM_RESULT 上の構造化結果エンベロープ、
そして三つのレイヤー全体で同じ reproduced / unreproduced / pending セマンティクス。
Layer 2 / 3 の verdict スナップショットファイルは
verdict.schema.json
(JSON Schema draft 2020-12)に従う。
Manifest v1 — 公開サーフェス
Manifest v1 は、外部リポジトリが
.vivarium/manifest.toml に置いて Vivarium 実行可能な再現を宣言するための
TOML マニフェストだ。スキーマ:
manifest.schema.json
。
Recipes index v1 — カタログエンドポイント
Recipes index v1 は、 このリポジトリがホストするすべての再現を機械的に生成した JSON リストだ。 Vivarium MCP サーバおよびその他のプログラマティックなカタログツールが利用する。スキーマ:
recipes.schema.json
。
// 03 · ツール
コントラクトを消費する再利用可能ワークフロー。
Consumer workflow
Consumer workflow —
任意のリポジトリが uses: することで自分の CI 内で
Vivarium ホスト型再現を検証できる再利用可能 GitHub Actions ワークフロー。
Branch-fix verdict パイプライン
Branch-fix verdict パイプライン
— コントリビューターが提供したブランチフィックス Docker イメージの verdict をキャプチャし、
デプロイ済みの元の verdict と並べてサイドバイサイド比較を提供する
workflow_dispatch ワークフロー。
// 04 · スコープ
この仕様が何のためにあり、何のためにないか。
この仕様が対象とするもの
aletheia-works/vivarium以下の再現ページ(Layer 1、Layer 2、Layer 3)は meta タグと JSON エンベロープでコンフォーマンスを宣言する。- 外部ツール(CI、IDE プラグイン、AI レビュアー、サードパーティ再現定義)は同じサーフェスを読んでページが今日も再現するかを知る。
- このリポジトリ外でホストされる Vivarium 互換再現も同じ方法でコンフォーマンスを宣言できる。
この仕様が対象としないもの
- 完全な再現プロトコルではない——verdict サーフェスをカバーするのであり、再現自体の構築方法は対象外(それはレイヤーの README に記述された各レイヤーの規約)。