Repository navigation
遠隔操作を明示 opt-in のビルド variant に分離する - #186
Merged
Merged
Conversation
link1345
marked this pull request as ready for review
November 1, 2026 03:49
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
変更
通常 Shipping の成果物から remote transport/dispatch を compile/link/package 段階で除外します。
GUA_DISTRIBUTION_FLAVOR=shipping|development|qa|ai-playerとGUA_ENABLE_REMOTE_AUTOMATIONを native shared/Godot static 共通の gate に適用し、既定は Shipping/OFF。Development/Editor は明示 opt-in、QA は Debug 上限(Player へ制限可)、AI Player Shipping は Player 上限固定です。既存 bridge C ABI は失敗 stub を保持し、ローカル観測・記録 API を維持します。native
gua_copy_build_info_json/gua_runtime_copy_build_info_json、.NETGuaBuildInfo.GetJson/GuaRuntime.GetBuildInfoJson、Godotget_build_info_json、Unity の条件付きコンパイルと能力照合を追加。環境変数/API/reset/borrowed core/client factory から AI Player の上限を超えられず、入力は enqueue/consume 双方で認可します。Shipping の Godot addon/Unity IL から WebMCP 入口を除外します。用途別 staging と manifest/hash 照合を必須にし、未知・混在・余分な native ファイルは拒否します。WebGL は実 Emscripten リンクの build-info と static archive hash を照合。Unity managed 依存は既存 Plugins の wildcard コピーから明示 binding+解決済み dependency closure に切り替えています。
契約と検証
verify-remote-build-graph.ps1:shared/embedded runtime.obj、生成 link graph、最終 DLL の socket 依存を検査build_variant_tests.cpp:factory/env/reset/unscoped/Observe/Spatial と bridge 可否の正負Gua.BuildVariants:実 ClientWebSocket、host consume/completion、clock capability/実行の正負test-godot-remote-build.ps1:実 Release EXE+埋込みPCK(Shipping/QA/AI)、Development Editor/sourcetest-unity-remote-build.ps1の実 Player ビルド・実行test-remote-package-mixing.ps16件、test-unity-package-mixing.ps1/test-unity-upm-mixing.ps1、実 Unity prebuild faulttest-remote-build-config.ps1:Shipping+ON、QA/Player+OFF、旧WS迂回、未知variant規範: remote-build-variants。利用方法: 日本語ガイド。snapshot と実行経路別の証拠: 検証台帳。
状態・互換性・未検証範囲
Draft / HEAD
4a4debd735175df0e229c39aac33e9bf35c8db0b。独立監査は規定の2/2完了、計5指摘を修正し親が検証済み。追加監査や正式 Approve は行っていません。最終監査後の最小修正は改名 QA DLL の正負 fault と実 Editor/4 Player 再検証で確認しました。UPM は host と一致する native pair を実際に再 probe し、manifest の hash を書き換えた QA 置換も拒否します。Shipping/Development の実 Windows/Linux/macOS arm64 配置で正負検証済み(全 macOS universal archive の実行とは区別)。他 RID は各 producer の実 probe と hash を照合します。
完了(03:19 UTC):最終 HEAD
4a4debd735175df0e229c39aac33e9bf35c8db0bの全32 check成功。variant CI 14/14、通常回帰 18/18。Windows/Linux/macOS の実エンジン・Godot Web、NuGet pack/外部consumer、混入試験まで完了。Windows通常回帰ログで native 19/19、.NET 465/465 を確認。Unity は既存6000.5.3f1とローカルpackageのみで、native pairも最終HEADに揃えた4構成の実Player再ビルド・実行、resultのsourceCommit一致まで確認済み。ローカルnative/実WS/最終Godot consumerも同一HEAD4構成で成功。実証の最終集計は
artifacts/remote-validation/head-4a4debd-{local,unity}-matrix.json、CI結果は同*-ci-result.json。最終 HEAD CI(成功):variant CI、通常回帰 CI。旧 HEAD
5a88970の variant CI は14 jobすべて成功(Windows4構成+Development OFF、WASM4構成、Linux/macOS4構成、混入試験)。旧 HEADb4c8d74の variant CI は Windows フル GDE/実Godot consumer、4 Web static、混入試験を含め全成功。旧 HEAD の未完了 CI は停止し、最終 HEAD の結果とは区別します。Unity 検証 Editor は既存 6000.5.3f1、既存 package source をローカル隔離 fixture へコピー。新しい Editor/未知 registry/外部不信データは使わず、資格情報・信頼・ネットワーク設定も変更していません。エンジン脆弱性が解決した証拠とは扱いません。Unity WebGL Player、各 browser variant、全 UI adapter の E2E は未完了です。初期のローカル native identity は構築時点ごとに異なります。最終再構築では4構成とも
4a4debdに揃え、artifacts/remote-validation/head-4a4debd-local-matrix.jsonと Unityplayer-head-4a4debd.log/ result に保存しました。NuGet vulnerability feed に接続できないローカル NU1900 警告も audit 成功とは扱いません。既存開発 preset は development/ON を明示して継続。配布には verified per-RID manifest を必須にし、unlabeled DLL fallback は拒否します。package ID は維持し、同じ ID/version の別 variant を同一 feed に公開しません。通常出荷向けには Shipping を選び、AI Player 用途を明示した配布だけ Player 制限の遠隔機能を含めます。
Gua Playtest PR #54・外部サンプル3本・既存 checkout は変更していません。merge/Ready/正式 Approve/release/公開配布は行いません。