From 4d4ef07ebd36a678dd271904fe522af43760e9ab Mon Sep 17 00:00:00 2001 From: link1345 Date: Thu, 29 Oct 2026 12:50:06 +0900 Subject: [PATCH 1/2] docs: define durable documentation and evidence boundaries --- docs/developer-reading-guide.ja.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/developer-reading-guide.ja.md b/docs/developer-reading-guide.ja.md index f489fe1..c13375d 100644 --- a/docs/developer-reading-guide.ja.md +++ b/docs/developer-reading-guide.ja.md @@ -11,6 +11,9 @@ Guaはgameが公開したUIのrole・名前・状態から対象を探し、操 [基本protocol](../protocol/specs/protocol.md)と機能別仕様が規範です。 ガイドに同じ契約を複製せず、各READMEは用途と使用例、仕様は条件、evidence文書は 対象commit・環境・結果の証拠を担当します。 +恒久的なガイド・仕様には現行の契約、再現手順、判定制約と設計理由を残し、 +一回限りの変更内容・レビュー経緯・実行結果はPRまたは既存の検証記録に記載します。 +過去の証拠を移すときは出典・対象版・未検証範囲を保ち、参照先を確認してから重複を除きます。 ## 2. 公開から結果確認まで From 679902e1dba293b37d82e0b380089dcde26c47da Mon Sep 17 00:00:00 2001 From: link1345 Date: Thu, 29 Oct 2026 12:52:37 +0900 Subject: [PATCH 2/2] docs: keep contracts and reproduction separate from historical results --- docs/distribution-contract.md | 52 ++++++++------------------ docs/spatial-transport-r1.md | 13 +++++-- protocol/specs/observe-transport-v1.md | 24 ++++-------- protocol/specs/observe-v1.md | 28 +++++--------- protocol/specs/spatial-r1.md | 6 +-- protocol/specs/trace-v1.md | 26 +++++-------- protocol/specs/value-v1.md | 27 +++++++------ 7 files changed, 68 insertions(+), 108 deletions(-) diff --git a/docs/distribution-contract.md b/docs/distribution-contract.md index 9f86191..75397de 100644 --- a/docs/distribution-contract.md +++ b/docs/distribution-contract.md @@ -28,7 +28,7 @@ the latest schemas or rebuilds the Viewer. `0.0.0-ci` is the existing private CI candidate identifier. It is meaningful only with a full commit and SHA-256 manifest, and must never be uploaded as a public -release. The source default `0.5.0-preview.3` and existing GitHub releases do not +release. Existing source defaults and GitHub releases do not select the next release version or channel. No tag or publication is needed to run artifact acceptance. Issue #129 is judged against actual artifacts built from an identified target commit/version, including retained hashes and evidence @@ -77,28 +77,15 @@ tests on a source fixture are supporting evidence only; artifact acceptance must use the identified addon/UPM payload in the engine fixture and verify the actual archive composition separately. A published release is not required. -The [PR #168 execution record](spatial-acceptance-followup.md) provides actual -Godot 4.7 stable GodotPhysics3D/Jolt bridge, built Native MCP and isolated -NuGet-consumer runs on all four RIDs. It uses the candidate addon payload also -assembled into validated ZIPs, rather than demonstrating engine execution from -the extracted ZIPs. Its reviewed head is -`0fd01cbcd11c5b5d30399c9a6273418d193edd68`; CI artifacts pin the identical-tree -checkout `9c2eb7b59a356680806e287a4e2c48fb3b0fb1be` and package version `0.0.0-ci`. -Windows Unity 6000.5.3f1 standalone Mono/PhysX passed the same three spatial -client paths. The later [identified UPM route record](distribution-route-evidence.md) -also establishes Windows artifact-only Editor Play Mode and Player UI operation, -plus a precompiled-provider Player spatial run, at its stated commit/archive hash. -These results establish their measured scope, not every feature in the engine -packages. Existing release-only CI already defines four-RID Unity jobs; the -separate candidate workflow makes Player validation available without a tag or -publication. The [current acceptance record](remaining-route-acceptance.md#current-acceptance-status) -retains Windows/Linux Editor, four-RID Mono Player/spatial and Godot evidence, -and the later native arm64 Editor success. Native Intel macOS / Unity -6000.5.3f1 / actual UPM / Editor Play Mode is **UNVERIFIED**: no Intel Mac is -available and the test was not executed. This is not a failed or unsupported -route. Issue #129/#130 closure does not establish Intel Editor acceptance; -M4, Rosetta and Intel Player results cannot substitute for it. This limitation -does not extend to all Intel routes or other measured features, patches or backends. +Measured route outcomes, tested commits, package/archive hashes and CI references +are retained in the [current acceptance record](remaining-route-acceptance.md#current-acceptance-status), +[Godot/Unity spatial record](spatial-acceptance-followup.md) and +[identified UPM record](distribution-route-evidence.md). Read each within its +recorded product/recipe scope; no later-source or all-feature acceptance is implied. +Native Intel macOS / Unity 6000.5.3f1 / actual UPM / Editor Play Mode remains +**UNVERIFIED** because no Intel Mac is available and the test was not executed. +M4, Rosetta and Intel Player results do not substitute for it. This limitation +does not invalidate the other measured Intel routes. Godot C# runtime samples, Unity IL2CPP, Unity IMGUI, EditorWindow automation, unlisted RIDs and experimental browser paths are outside this desktop acceptance. @@ -134,14 +121,11 @@ Godot addon archives include the MIT notice for the pinned godot-cpp dependency ## Compatibility and completion gates Previously published package names, native ABI and public managed signatures are retained. -The new Value package is `gua-value-tools`; the rejected `gua-value` name was -never published. See the [1.1.0 release plan](release-1.1.0.md) for the bounded -compatibility review and publication prerequisites. +The Value package is `gua-value-tools`. The historical naming decision and +bounded compatibility review are retained in the [1.1.0 release plan](release-1.1.0.md). External tools that pin the strict 1.0.10 diagnostics/version schemas must update those schemas when upgrading: added response fields fail their old -unknown-property rules. No failure was demonstrated on the supported -same-release paths; this caveat does not require a runtime compatibility fix -or a major-version change before the proposed 1.1.0 publication. +unknown-property rules. Use the schemas distributed with the selected release. The current native version API reports `abiVersion: 1` and `protocolSchemaVersion: "2"`; versioned descriptor structs remain additive C ABI extensions. The external consumer asserts these values and retains @@ -195,17 +179,13 @@ scripts/verify-distribution-consumer.ps1 -PackageDirectory artifacts/packages ` | AT-PACK-002 | Consumer copied outside the repository; isolated NuGet caches; local-feed-only acceptance restore; native overrides rejected | | AT-PACK-003 | Extracted self-contained consumer ZIP and fresh installed .NET Tool run, package manifests and embedded report | -Candidate acceptance incorporates merged #122 at -`989163781a0e5ce6ac629e99a7d140a47e0db1ad` and repeats the four-RID consumer gates. Issue closure requires exact-head required CI/audit success and a mapping of the original #129 acceptance conditions to the identified target artifacts, environment, assertions, results and remaining support scope. Retain package versions, source commits, hashes, dependency/license manifests, Viewer evidence and actual launch/attach/operation evidence for each declared RID/route; skips, loading alone and unrelated consumer success do not satisfy those conditions. -The four-RID package gates and PR #168 Godot evidence can be reused within their -measured scope. The owner closed #129/#130 with the native Intel Editor -unverified limitation retained and tracked in #174; see the current acceptance -record above. Closure is not a claim that every declared route passed. Public -publication is separate and is neither required for closure nor authorized by +Historical closure and execution evidence are retained in the acceptance records +linked above. Closure does not establish that every declared route passed. Public +publication is a separate operation and is not authorized by successful artifact acceptance. diff --git a/docs/spatial-transport-r1.md b/docs/spatial-transport-r1.md index ebe62b1..f741ee1 100644 --- a/docs/spatial-transport-r1.md +++ b/docs/spatial-transport-r1.md @@ -125,6 +125,10 @@ before packing Gua.Testing. No release or deployment is performed by these check ## Measured support / 実測対応表 +The table below records PR #168 scope. For later pinned route results and current +limitations, use the [current acceptance record](remaining-route-acceptance.md#current-acceptance-status). +It does not revalidate any route at the current source revision. + | Engine / OS / backend | Native scheduler & bindings | WebSocket / Native MCP | Built-in browser privilege | | --- | --- | --- | --- | | Godot 4.7 stable / Windows x64 / GodotPhysics3D | Real packaged addon and host pump | TypeScript, built native MCP and isolated candidate NuGet consumer passed; common Trace/report generated | Unsupported | @@ -134,7 +138,7 @@ before packing Gua.Testing. No release or deployment is performed by these check | Unity Linux/macOS / other engine patches/backends | Unverified for #134; no inherited transport acceptance claim | Unverified | Unsupported built-in privilege path | | Godot Web / Unity WebGL | Existing ports project Player/PublicAgent | No authorized r1 Testing/Debug browser channel | Unsupported; tools absent | -The current engine/consumer execution record is [PR #168](https://github.com/gua-project/gua/pull/168) +The historical engine/consumer execution record is [PR #168](https://github.com/gua-project/gua/pull/168) and [parent #130](https://github.com/gua-project/gua/issues/130): tested commits, commands, per-RID CI artifacts and unverified scope are recorded there. The desktop Godot CI checks require three actual physics batches (TypeScript, MCP, @@ -152,6 +156,7 @@ Report payload/HTML checks do not imply a new browser visual QA pass. Input ports remain public projections. A future privileged browser transport needs its own host authorization and actual engine/browser verification. -Parent #130 evidence is mapped to #131 contracts, #132 scheduling, #133 engine -geometry/profiling and #134 routes/Trace/package acceptance. Distribution #129 -remains open; neither this change nor the previous engine merge completes #130. +Parent acceptance conditions, closure and retained limitations are recorded in +the [acceptance record](remaining-route-acceptance.md#current-acceptance-status). +Contract, scheduling, engine and transport evidence have distinct scopes; no +individual fixture establishes all routes or all features. diff --git a/protocol/specs/observe-transport-v1.md b/protocol/specs/observe-transport-v1.md index b85f45b..ebcd011 100644 --- a/protocol/specs/observe-transport-v1.md +++ b/protocol/specs/observe-transport-v1.md @@ -101,28 +101,20 @@ remote `GuaWebSocketContext`のObserve APIはtransport形式を返す。 InspectorはObserve panelで候補と通知を表示し、gap/staleで再購読を要求する。 MCP/WebMCPは同名の4 commandを公開し、remote側から登録・profile選択はできない。 -## 実行した検証と残る境界 +## 再現手順と判定範囲 -Windows MSVC / Godot 4.7 / Unity 6000.7.0b2で検証。 - -- native C/C++ CTest 8/8。catalog破棄後のsnapshotと履歴、空enum set、buffer契約を含む。 -- .NET Selector tests 193/193(Observe transport統合9件を含む)。実native runtime→WebSocket→.NET。 -- 実Godot GDScript smoke:enum、空list、Player投影、非公開化のgap、破棄通知。 -- 実Unity desktop Player:Debug/Player 2/2。World位置、追加phase、候補、空list、秘密値除外、変更、reset。 -- 実Godot→Inspector/MCPの各WebSocket client:独立購読、semantic click、変更poll。 -- TypeScript全workspace check成功。対象Bun tests 226/226。 - WebMCPはcapability、購読解除、timeout後の遅延応答の解除を試験。 +過去の実行環境・成功件数・修正経緯は[検証記録](https://github.com/gua-project/gua/pull/185#issuecomment-6487401918)を参照。 +以下の手順では実行した版・環境とログを保存し、実engineとfixtureの結果を区別する。 外部clientの再現はGodotで`--headless --path examples/godot-gdscript --script scripts/gua_observe_fixture.gd` を起動し、`GUA_BRIDGE_PORT`と`GUA_OBSERVE_BRIDGE_URL`を揃え、 `bun scripts/run-observe-client-smoke.ts`を実行する。 Godot Web/Unity WebGLの実exportをheadless Chromeで起動し、実Object登録→Player snapshot→ -SDK toolからsemantic click→両独立購読の変更通知→解除を確認した。 -Godotは空enum set、Unityは空enum list。両方ともenumTypeと候補を保持する。 -UnityのIL2CPPで非参照Bootstrap assemblyが除去される問題を再現し、 -`AlwaysLinkAssembly`でフレーム駆動を維持する修正後の実exportで確認した。 -.NETは応答喪失時のsocket破棄・再接続と64件上限の明示拒否後の既存token維持を試験。 -不足symbolのDLL注入では初期化失敗時のnative destroyが一度だけ呼ばれることを確認した。 +SDK toolからsemantic click→両独立購読の変更通知→解除を確認する。 +Godotは空enum set、Unityは空enum list。両方ともenumTypeと候補を保持すること。 +UnityのIL2CPPでは非参照Bootstrap assemblyも保持し、フレーム駆動を維持する必要がある。 +.NETは応答喪失時のsocket破棄・再接続、64件上限の明示拒否後の既存token維持、 +初期化失敗時にnative destroyが一度だけ呼ばれることを確認する。 Webの再現はGodotのmain sceneを`GuaObserve.tscn`へ設定してWeb debug exportし、 Unityは通常fixtureをWebGLへexportする(TMP準備は既存`import-unity-tmp-resources.ps1`)。 diff --git a/protocol/specs/observe-v1.md b/protocol/specs/observe-v1.md index 934a0ae..7e508de 100644 --- a/protocol/specs/observe-v1.md +++ b/protocol/specs/observe-v1.md @@ -134,29 +134,21 @@ phase.Notify(); var changes = subscription.PollJson(); // statusを必ず確認する ``` -## 要件・検証・後続 +## 要件と検証の対応 -| 要件 | G-02の検証 | 後続 | +| 要件 | 検証 | 関連契約 | | --- | --- | --- | -| AT-OBS-001 | 複数Owner同名、重複拒否、解除・破棄・再生成、reset | #120 実エンジン寿命への接続 | -| AT-OBS-003 | added/changed/removed、取得不能・復旧、理由、秘密値 | #125 Trace保存 | -| AT-OBS-004 | 原子的Snapshot+cursor、並列publish、独立購読、件数/byte欠損 | #120 transport切断、#125 欠損保存 | -| VALUE-002 | 共通Value等価・不正値・collectionコピー | #120 wireでの型保持 | -| TIME-002 | frame/explicitの順序、UI/World別frame、epoch | #125 収集時計との関連付け | +| AT-OBS-001 | 複数Owner同名、重複拒否、解除・破棄・再生成、reset | [transport](observe-transport-v1.md)の実エンジン寿命 | +| AT-OBS-003 | added/changed/removed、取得不能・復旧、理由、秘密値 | [Trace](trace-v1.md)保存 | +| AT-OBS-004 | 原子的Snapshot+cursor、並列publish、独立購読、件数/byte欠損 | transport切断、Trace欠損保存 | +| VALUE-002 | 共通Value等価・不正値・collectionコピー | transportのwire型保持 | +| TIME-002 | frame/explicitの順序、UI/World別frame、epoch | Trace収集時計との関連付け | 共通fixtureは `protocol/fixtures/observe-v1.json`。native/C++と.NETが遷移例を実行し、 Bun/Ajvが正常・異常documentを検証する。既存Value/UI/World/reset試験を維持する。 Godot/Unity、Gua.Runtime/bridge、MCP/WebMCP、Inspectorの接続は[Observe transport v1](observe-transport-v1.md)を参照。 -Trace writer/reader/Viewerと製品E2Eは#125ほか。GuaのCIからPlaytestを参照しない。 +Trace writer/reader/Viewerは[Trace仕様](trace-v1.md)を参照。製品E2Eは利用側で検証し、GuaのCIからPlaytestを参照しない。 検証実績は変更の引き渡し時に記載し、未実行のremote CIやengine E2Eを成功扱いしない。 -### ローカル検証記録(2026-09-29) - -- MSVC 19.51 + Ninja、Godot無効・WebSocket bridge有効でビルド成功。 - VS2026標準presetはローカルのinstance検出に失敗したため、VsDevCmd経由のNinja構成を使用。 -- CTest 8/8、Gua.Selector.Tests 144/144(skipなし)。C++ getter内Context moveの追加回帰も成功。 -- Gua.Coreのnet10.0 / netstandard2.1ビルド、全workspaceの`bun run check`成功。 -- Value/ObserveのBun 87/87、実native/.NET出力8 documentのAjv検証成功。 -- 読み取り専用監査のOwner明示破棄後Player履歴、.NET getter内Disposeを失敗試験で再現し修正。 - C++ getter内Context moveも寿命tokenを維持する回帰試験で修正を確認。 -- remote CI、他OS、エンジンのObserve接続、Traceへの保存は未実行・今回の統合完了対象外。 +過去のローカル検証結果・監査経緯は[検証記録](https://github.com/gua-project/gua/pull/185#issuecomment-6487401918)を参照。 +対象版・環境に限定した証拠であり、現在のengine E2Eの成功を意味しない。 diff --git a/protocol/specs/spatial-r1.md b/protocol/specs/spatial-r1.md index 16b2402..4eb90ee 100644 --- a/protocol/specs/spatial-r1.md +++ b/protocol/specs/spatial-r1.md @@ -191,6 +191,6 @@ the tests; the Value Bun suite picks up schema tests. Legacy tests remain active | bracket/estimate, missing normals/refs | SP-03 | anonymous/truncated bracket and estimate fixtures | | legacy World/Input and old clients | SP-06 | unchanged schemas, existing tests, additive version check | -Fresh prerequisites #72/#73/#98/#118 were closed/completed at implementation -start on main 60c903b3b218310cc2bf13d2d583fdcc987dee51. Contract tests are not -adapter execution, engine precision, performance, distribution or Trace proof. +Implementation prerequisite history is retained in the [implementation record](https://github.com/gua-project/gua/pull/185#issuecomment-6487401918). +Contract tests are not adapter execution, engine precision, performance, +distribution or Trace proof. diff --git a/protocol/specs/trace-v1.md b/protocol/specs/trace-v1.md index 0d97317..99f25e7 100644 --- a/protocol/specs/trace-v1.md +++ b/protocol/specs/trace-v1.md @@ -310,24 +310,14 @@ Watchを停止・最後に取得してからfinalizeする。必要な遅い結 Watch停止と保存は共通のFlushTimeout予算を使う。応答しない同期readは強制中断せず、 native-stop-timeoutを残してreaderの追記を停止する。期限後の取得結果は記録へ混入しない。 -この変更は T-01 の保存基盤、T-04 の汎用記録口、T-05 の共通 offline Viewer を提供する。 -`.NET GuaActionCompletion` は opt-in 自動記録に接続済み。取得できない epoch は -unconfirmed として扱い、completion が返した epoch でのみ確定相関する。 +`.NET GuaActionCompletion` はopt-in自動記録に接続する。取得できないepochは +unconfirmedとし、completionが返したepochでのみ確定相関する。 -子作業の実装と保証境界は以下の通り。親 #109 の統合受け入れは -[trace-integrated-acceptance](trace-integrated-acceptance.md) に条件・assertion・ -対象commit・実行結果を対応付ける。汎用APIだけの証拠と実接続の証拠を区別する。 +保存基盤・外部Runner・共通Viewerの検証範囲と、利用側の保証境界は +[統合検証記録](trace-integrated-acceptance.md)に記載する。 +対象commit・条件・assertion・実行結果を確認し、汎用APIと実接続の証拠を区別する。 -| 子 Issue | 実装済みの範囲 | 保証境界・利用側の責務 | -| --- | --- | --- | -| #123 T-01 | schema、writer/reader、有限上限、4 保存組合せ、部分末尾、redaction、容量/中断の故障 fixture | 強制終了時の未flush/メモリのみの保存は保証対象外 | -| #124 T-02 | Selector/解決ID、明示/自動Step、native UI/Input/cleanup lifecycle、遅い結果、非破壊履歴 | native履歴未提供hostのphaseは未提供と表示。ゲーム画面でのGodot/Unity E2Eは別途 | -| #125 T-03 | Snapshot/観測の分離、Observeの実native/実WebSocket購読、Value/カタログ、中間Change、欠損、独立UI/World読取 | ゲーム内部の未公開変化、失われた履歴の復元は保証対象外。各Runnerが取得契機を明示する | -| #126 T-04 | 外部 Runner API、共通 Value、未知注釈/添付、評価/主結果/cleanup分離、native/Observe横断fixture、framework-free配布consumer | 任意の外部Runnerの採点・非公開情報の自動判別・ゲーム画面のE2Eは保証対象外 | -| #127 T-05 | 共通 React、静的 HTML、timeline/状態/JSON/区間差分、caller-authorized PNGとbounds overlay、全端点・欠損表示、版固定資産/schema配布 | 同時pixel/snapshot取得とpixel秘密判別はcaller責務。ゲーム操作・Replay・外部添付fetchは対象外 | -| #128 T-06 | 明示Lint report、明示baseline comparison、既存diagnostics session、Recordingの実API接続とnative/Observe統合fixture | 実ゲーム/利用側RunnerのE2E、pixel秘密判別は保証対象外。実行証拠はtrace-validation.md | - -## T-06 既存機能の明示接続(#128) +## 既存機能の明示接続 `GuaTraceCapture.Lint(trace, step, report)` は明示実行済みの `GuaSemanticLinter.Analyze` のreportを `gua.semantic-lint.v1` 添付にする。 @@ -386,4 +376,6 @@ queue/artifactが満杯なら追加eventを保証せず、最大64品質issue内 別APIのまま。汎用添付schemaや未知recordはViewerが安全なtextとして表示する。 Gua は Gua Playtest に依存しない。Observe 本体、InputAction metadata、Replay 時間制御は -この変更では実装しない。未提供の依存 API を仮実装して完了扱いにはしない。 +それぞれ[Observe](observe-v1.md)、[InputAction metadata](input-action-metadata-v1.md)、 +[Timed Segment](timed-segment-v1.md)の契約を参照する。Traceの記録成功だけから +それらの実行成功や製品E2Eの完了を推定しない。 diff --git a/protocol/specs/value-v1.md b/protocol/specs/value-v1.md index e4ac02a..d228c69 100644 --- a/protocol/specs/value-v1.md +++ b/protocol/specs/value-v1.md @@ -114,18 +114,17 @@ C ABI境界のC++例外は捕捉し、allocation等の失敗はinternalに変換 | 10 | duplicate | set要素/enum候補の重複 | | 11 | internal | メモリ割当等の内部失敗 | -## 互換性と後続統合(OPEN-01 / OPEN-02) +## 互換性と関連契約 -G-01のOPEN-01は独立Value v1 schemaと追加のC ABIシンボルで解決する。 +Value v1は独立schemaと追加のC ABIシンボルを使用する。 既存ABI構造体・wire schema・protocolSchemaVersion・abiVersionは変更しない。 旧clientがadditionalPropertiesを拒否する既存レスポンスへ新フィールドを追加しない。 型生成器は導入せず、手書きの各言語型を共通fixtureで照合する。 -G-01のOPEN-02は上記enum・Unicode・integer/number・collection規則で解決する。 containsAll/Any、regex等の条件演算子はP-03で定義する。Observe/Property、 Snapshot/Change、Assertion、注釈への組み込み時にはこのValue契約を参照する。 -それらのエンドポイント・新field・capability negotiationはG-02/G-03以降で実装し、 -本変更だけで旧clientとの新Observe通信が完成したとは扱わない。 +Observeのエンドポイント・field・capability negotiationは[Observe transport](observe-transport-v1.md)の契約を参照する。 +Value単体の検証からObserve通信の成功を推定しない。 ## 要件と検証の対応 @@ -138,15 +137,15 @@ JSON Schemaは構造・型・通常の数値範囲・uniqueItemsを検証する enum参照/定義衝突、Unicode、重複JSONキー、丸め前の整数、非JSON値は意味検証で保証する。 `schemaReject`は汎用JS schema validatorでも拒否できる異常例を区別する。 -| 要件 | 検証 | ローカル結果 | -| --- | --- | --- | -| AT-VALUE-001 | 全7型、各空collection、往復、型保持 | native / C# / TS 成功 | -| AT-VALUE-002 | 整数境界・丸め、小数、非有限、禁止型、Unicode、識別可能な拒否 | native / C# / TS 成功 | -| AT-VALUE-003 | enum候補取得、型違い、alias、定義衝突 | native / C# / TS 成功 | -| AT-VALUE-004 | set順序、list順序、重複、-0、空の型 | native / C# / TS 成功 | -| AT-VALUE-005 | 既存World nullとInput vector2、新Value制限の分離 | 互換回帰試験で確認 | -| ASSERT-003 | integer/number、enumType、collection型を含む等価 | native / C# / TS 成功 | +| 要件 | 検証 | +| --- | --- | +| AT-VALUE-001 | 全7型、各空collection、往復、型保持 | +| AT-VALUE-002 | 整数境界・丸め、小数、非有限、禁止型、Unicode、識別可能な拒否 | +| AT-VALUE-003 | enum候補取得、型違い、alias、定義衝突 | +| AT-VALUE-004 | set順序、list順序、重複、-0、空の型 | +| AT-VALUE-005 | 既存World nullとInput vector2、新Value制限の分離 | +| ASSERT-003 | integer/number、enumType、collection型を含む等価 | MSVC CTest、NUnit、Bun/Ajvで同じfixtureを消費する。CIにはportable native jobの CTest/NUnitと両managed targetビルド、既存TS jobのValue試験を組み込む。 -ローカルWindowsの成功と、未実行のリモートCI・他OS・後続Observe統合は区別する。 +各実行の対象版・環境と未検証範囲を区別する。過去のローカル結果は[検証記録](https://github.com/gua-project/gua/pull/185#issuecomment-6487401918)を参照。