Back to the catalog

formal-agent-contracts

Formal methods toolkit for multi-agent development. Define inter-agent contracts in VDM-SL, verify with VDMJ, prove with Z3, and generate Ty

Open source Repository Open in the app JSON README (API)

About

Formal methods toolkit for multi-agent development. Define inter-agent contracts in VDM-SL, verify with VDMJ, prove with Z3, and generate TypeScript/Python code with runtime contract enforcement — all through natural language conversation with Claude.

Details

Kind
Plugins
Topic
AI, RAG & memory
Publisher
kotaroyamame
Origin
marketplace
Category
ferramentas
Stars
1
Last push
2026-07-03T11:44:22Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-30 01:48:58
Updated
2026-08-30 01:48:58
Origin id
kotaroyamame/formal-agent-contracts/formal-agent-contracts

README

# Formal Agent Contracts

**バージョン 2.2.0** | マルチエージェント開発における形式手法ツールキット。エージェント間の契約をVDM-SLで定義し、自動検証する。

形式手法の知識がない開発者でも、Claudeの支援により:

- エージェント間のインターフェースを厳密に定義できる(VDM-SL)
- Phase 2設計文書(PROTOCOL.md、API-SIGNATURES.md)を生成し、仕様と実装の距離を縮められる
- VDMJによる構文チェック・型チェック・証明責務(PO)生成を実行できる
- Z3によるPOの自動証明・反例探索ができる
- 仕様の型・不変条件からDBスキーマ(DDL)を導出し、乖離(DEVIATIONS)と担保箇所(TRACEABILITY)を記録できる
- 仕様からTypeScript/Pythonのコードスキャフォールドと契約テストを自動生成できる
- 既存コードから仕様を逆抽出し、対話で磨き上げ、コードと照合できる(リバースワークフロー)
- モジュールごとに「能力が足りる範囲で最も軽いモデル」を割り振り、生成フェーズのトークン消費を抑えられる(契約駆動モデルルーティング、v2.2.0)

## インストール

Claude Code のプラグインとしてインストール:

```
/plugin marketplace add kotaroyamame/formal-agent-contracts
/plugin install formal-agent-contracts@formal-agent-contracts
```

## スキル一覧(全15スキル)

### フォワード開発(仕様 → コード)

| スキル | 説明 |
|---|---|
| **define-contract** | 自然言語での対話からVDM-SL契約と設計文書(PROTOCOL.md、API-SIGNATURES.md)を段階的に生成 |
| **verify-spec** | VDMJによる構文チェック・型チェック・PO生成。設計文書の完全性チェックとVDM-SL仕様との一貫性確認も実行 |
| **smt-verify** | POをSMT-LIBに変換し、Z3で自動証明・反例探索 |
| **generate-db-schema** | VDM-SLの型・不変条件からDBスキーマ(DDL)を規則的に導出。表現しきれない乖離は DEVIATIONS(retrenchment表)、担保箇所は TRACEABILITY に記録 |
| **generate-code** | VDM-SL仕様からTypeScript/Pythonのコードスキャフォールドを生成(事前条件・事後条件・不変式のランタイム検証コード付き) |
| **generate-tests** | VDM-SL仕様と設計文書からJest/Vitest互換の契約テストを自動生成(型不変式・契約遵守・状態遷移・境界値) |
| **integrated-workflow** | 定義→検証→証明→コード生成→テストの5フェーズを一気通貫で実行 |
| **route-models** | 契約の客観的な複雑度シグナル(暗黙的定義・不変条件・PO件数など)からモジュールごとに能力が足りる範囲で最も軽いモデル層(light/standard/heavy)を割り振り、生成フェーズのトークン消費を削減。検証ゲートは不変で、同一モジュールで2回検証に失敗した場合のみ自動で1層エスカレーション |

### リバース開発(既存コード → 仕様)

| スキル | 説明 |
|---|---|
| **extract-spec** | 既存コードから暫定VDM-SL仕様を抽出(対話の足場となる仮仕様) |
| **refine-spec** | 対話を通じて仮仕様を磨き、ユーザーの頭の中にある「真の仕様」を引き出す |
| **reconcile-code** | 確定した仕様と既存コードを項目ごとに照合し、差分レポート・修正・テストを生成 |
| **reverse-workflow** | 抽出→洗練→照合のリバースパイプラインを一気通貫で実行(フォワードパイプラインへの接続も可能) |

### 仕様の入出力

| スキル | 説明 |
|---|---|
| **import-natural-spec** | 自然言語の仕様書(Markdown)を読み込み、曖昧さを対話で解消しながらVDM-SL仕様へ変換 |
| **export-human-spec** | VDM-SL仕様から非エンジニアも読める自然言語仕様書(Markdown)を生成 |

### リファレンス

| スキル | 説明 |
|---|---|
| **formal-methods-guide** | VDM-SLの文法、型システム、PO種別などの背景知識を提供(他スキルからも参照される) |

## セットアップ(外部ツール)

スキルによって必要な外部ツールが異なります。使うスキルに応じてインストールしてください。

| ツール | 必要とするスキル | 入手先 |
|---|---|---|
| Java 11以上 | verify-spec、smt-verify(VDMJの実行に必要) | https://adoptium.net/ |
| VDMJ | verify-spec、smt-verify | https://github.com/nickbattle/vdmj/releases (`vdmj-suite-*-distribution.zip`)。詳細は [vdmj-setup.md](skills/verify-spec/references/vdmj-setup.md) |
| Z3 | smt-verify | `pip install z3-solver` または https://github.com/Z3Prover/z3 |
| Node.js + Vitest/Jest | generate-tests(生成テストの実行) | https://nodejs.org/ |
| sqlite3 または PostgreSQL | generate-db-schema(任意。生成DDLの実行検証用) | macOS は sqlite3 同梱 / https://www.postgresql.org/ |

define-contract、formal-methods-guide、import-natural-spec、export-human-spec などの対話系スキルは外部ツールなしで動作します。

## 使い方

最初のプロンプトの雛形は [prompt-templates.md](prompt-templates.md) を参照してください。単一エージェント定義、マルチエージェント境界契約、統合ワークフロー、既存仕様の形式化、リバースワークフロー、検証・自動証明、契約テスト生成の7テンプレートがあります。

最小の例:

```
在庫管理エージェントを定義して。
- 商品には商品ID・商品名・在庫数がある
- 在庫数は0未満にならない
- 出荷数は現在の在庫数を超えられない
```

→ define-contract が対話的に契約を深掘りし、VDM-SL仕様を生成します。その後「検証して」でverify-spec、「テストを生成して」でgenerate-testsへ続きます。

## リポジトリ構成

| パス | 内容 |
|------|------|
| `skills/` | 15スキルの定義(各スキルは SKILL.md、多くは references/ 付き) |
| `examples/` | 動作例(`task-manager`: VDM-SL仕様 → TypeScript実装 → SMT-LIB証明) |
| `eval/` | 評価フレームワーク(ベンチマーク課題、実行ログ、採点スクリプト、結果) |
| `design/` | 設計文書(`reverse-workflow-design.md` — リバースワークフローの設計時ドキュメント) |
| `prompt-templates.md` | ユーザー向けプロンプトテンプレート集 |

## 評価

本プラグインの有無で同一課題(3課題 × 5試行 × 2条件)の成果物を比較した探索的評価を同梱しています。仕様カバレッジ・テスト有効性などで効果を示唆する結果が得られていますが、単一モデルによる生成・ヒューリスティック採点などの方法論的制約があります。結果と限界の詳細は [eval/results/report.md](eval/results/report.md) を参照してください。

## 変更履歴

- **v2.2.0** — 契約駆動モデルルーティング(route-models):契約の客観的な複雑度シグナルからモジュールごとに能力が足りる範囲で最も軽いモデル層(light/standard/heavy)を割り振り、生成フェーズのトークン消費を削減。検証ゲートは不変で、同一モジュールで2回検証に失敗した場合のみ自動で1層エスカレーション
- **v2.1.0** — DBスキーマ導出(generate-db-schema):型・不変条件→DDLの規則的写像(R1〜R18)、retrenchment に基づく乖離記録(DEVIATIONS)、不変条件の担保箇所対照表(TRACEABILITY)
- **v2.0.0** — Phase 2設計文書(PROTOCOL.md、API-SIGNATURES.md)生成支援、契約テスト自動生成(generate-tests)、設計文書の完全性チェック(verify-spec拡張)
- **v1.5.0** — import-natural-spec / export-human-spec(自然言語仕様の入出力)
- **v1.1.0–v1.4.0** — リバースワークフロー(extract-spec、refine-spec、reconcile-code、reverse-workflow)、評価フレームワーク
- **v1.0.0** — 統合ワークフロー(integrated-workflow)、ドキュメントの日英対応
- **v0.3.0** — コードスキャフォールド生成(generate-code、TypeScript/Python)
- **v0.2.0** — SMT-LIB変換とZ3証明(smt-verify)
- **v0.1.0** — 初版(define-contract、verify-spec、formal-methods-guide)

## 今後の予定

- [ ] design-system スキル(ARCHITECTURE.md / TECH-STACK.md / ADR / 制約ファイルによる技術選定支援)
- [ ] UI契約とE2Eテスト生成(define-ui-contract / generate-e2e — VDM-SL traces から Playwright テストを導出)
- [ ] 評価の再実施(独立した採点者・複数モデルでの追試、変異数を増やしたミューテーションテスト)
- [ ] 実プロジェクトでの適用事例の収集

## 作者

IID Systems (https://iid.systems)

## ライセンス

MIT — [LICENSE](LICENSE) を参照

More