仕様
// SPEC · v1
Vivarium 仕様。
再現 verdict コントラクトとカタログ surface——アップストリームのバグが今日のランタイムに対して再現するかどうかを記述する、小さく安定したファイルセット。
// 01 · 概要
バージョン管理されたサーフェス。
Vivarium 仕様は、再現ページが自己宣言できるようにし、外部ツールが verdict を読めるようにし、外部リポジトリがカスタムのグルーなしで独自の再現を公開できるようにする小さなファイルセットだ。
再現ページは
<meta name="vivarium-contract" content="v1">でコンフォーマンスを宣言する。外部ツールは同じサーフェスを読んでページが今日も再現するかを知る。
// 02 · あなたの読みかた
目的別、読むべき仕様の地図。
仕様は読み手によって入口が異なります。下のカードは「あなたがやろうとしていること」別の最短ルート——どこから読み始めても、必要な仕様だけにフォーカスできます。
// 03 · 仕様サーフェス一覧
3 つの spec ドキュメント + 2 つのツールワークフロー。
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。
Consumer workflow(再利用可能 CI)
Consumer workflow — 任意のリポジトリが uses: することで自分の CI 内で Vivarium ホスト型再現を検証できる再利用可能 GitHub Actions ワークフロー。
Branch-fix verdict パイプライン
Branch-fix verdict パイプライン — コントリビューターが提供したブランチフィックス Docker イメージの verdict をキャプチャし、デプロイ済みの元の verdict と並べてサイドバイサイド比較を提供する workflow_dispatch ワークフロー。Layer 1 のソース置換版 (Path A) は /repro/compare から直接実行できる。
// 04 · スコープ
この仕様の対象範囲。
仕様は verdict サーフェス を対象とする——再現ページが自己宣言する meta タグ + JSON エンベロープ、外部リポジトリの manifest.toml、機械可読カタログ、それを消費する CI ワークフロー。再現自体の構築方法は対象外(それはレイヤーの README に記述された各レイヤーの規約に属する)。Vivarium 内外を問わず、verdict サーフェスを満たすページは Vivarium 互換だ。