仕様

// SPEC · v1

Vivarium 仕様。

再現 verdict コントラクト——アップストリームのバグが今日のランタイムに対して再現するかどうかを記述する、小さく安定したサーフェス。

// 01 · 概要

バージョン管理されたサーフェス。

Vivarium 仕様は、再現ページが自己宣言できるようにし、外部ツールが verdict を読めるようにし、 外部リポジトリがカスタムのグルーなしで独自の再現を公開できるようにする小さなファイルセットだ。

再現ページは <meta name="vivarium-contract" content="v1"> でコンフォーマンスを宣言する。外部ツールは同じサーフェスを読んで ページが今日も再現するかを知る。

// 02 · 現在のサーフェス

三つのサーフェス、ひとつのコントラクト。

Contract v1
verdict サーフェス(ランタイム)。
Manifest v1
公開サーフェス(TOML)。
Recipes index v1
機械可読カタログ。
ライブエンドポイント
aletheia-works.github.io/vivarium/api/recipes.json — デプロイごとに更新

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 に記述された各レイヤーの規約)。

// 次のページ

再現一覧を見る

実際のアップストリームプロジェクトからの本物のバグが、ブラウザで再現する。

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