Diff & Approval
概要
Original / Modified 2 つの BuildingData を比較し、各変更を per-field で承認 する Git ライクな UI コンポーネントです。AI による生成や MCP 経由の編集結果を本番フローに通す前の 承認ゲート として使うことを意図しています。
- グループ: 1. Import and Generate
- ニックネーム:
DiffApprv - Exposure: Primary
- v5.5.0 新規 (旧
Comp_I09 AnalyticalMergeを全面刷新、ComponentGuid 流用)
性悪説原則 (Assume Guilty)
すべての変更は デフォルト「未承認」状態 で表示されます:
- ユーザーがチェックを入れた変更だけが Output に反映
- 一括承認 (
Approve All) は 2 段階確認 (Arm CheckBox → ボタン) - 監査ログ
.approved.jsonに承認 / 拒否 / 時刻 / ユーザー名を永続化 - Cancel で閉じても
status="cancelled"で記録
詳細: AI 機能 利用規約 §2
入力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| Original | Generic | 比較元 (信頼できるバージョン) |
| Modified | Generic | 比較対象 (AI 編集 or MCP 編集後) |
| OpenDialog | Boolean | true で UI を開く |
| AutoApprove | Boolean | debug / CI 専用。商用設計フローでは使用禁止 |
| AuditPath | String | (任意) .approved.json の保存先パス |
出力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| Approved | Generic | 承認済の変更のみが適用された BuildingData |
| Diff | String | 差分サマリ (テキスト形式) |
| Stats | String | 統計 (追加 / 削除 / 変更件数) |
| Pending | Boolean | 未承認の変更が残っている |
| Selected | Generic | UI 上で選択中の Change (S06 でハイライト表示用) |
| SelectedInfo | String | 選択 Change の説明 |
| ChangesList | Generic | 全 Change オブジェクト一覧 |
v5.5.0 schema 対応の変更検知
| カテゴリ | 検知される変更 |
|---|---|
Building_Metadata | Design_Phase 変更、Project_Name 変更 等 |
Levels | 階追加 / 削除 / Height / Slab_On_Beam |
Grids | 通り芯追加 / 削除 / Distance |
Catalog_* | エントリ追加 / 削除 / Type_ID 変更 / Revit_Family_Type / Material |
Layout_* | Instance_ID 追加 / 削除 / Floor / Grid / Type_ID / Justification / End_Release_* |
AutoApprove の警告
AutoApprove=true 設定時、毎回 GH Runtime Message に警告ログ が出力されます (suppress 不可)。商用設計フローでの使用は禁止されており、AI Terms of Use §2.5 に違反します。
ワークフロー例
Comp_I06 AI Building Generator (Modified)
↓
Comp_I09 Diff & Approval (Original = 信頼版、Modified = AI 出力)
↓ ユーザーが per-field 承認
Approved (BuildingData)
↓
Comp_S01 Build Model → 3D / Comp_E06 Speckle / 等関連
Comp_S06_DiffPreview— 選択 Change を 3D ハイライト表示Comp_S07_CatalogDiffPreview— Catalog 変更の cascade 影響範囲を可視化Comp_I06_AIBuildingGenerator— AI 生成側- MCP API 仕様 — MCP 経由の編集も最終的に I09 を通す運用推奨