3.0 KiB
3.0 KiB
未解決事項
主要な未解決事項と、対応するcanonicalなCore文書への参照をまとめる。
2.2. Operation and Interface
対象: 2.2. Operation and Interface
- RustとTypeScriptの動的Worldspace Projection Host API。運用と要件のdraft
- RustとTypeScriptのcode-level Interface Declaration / Object publication API。Rust API model / TypeScript API modelのdraft
- Interface参照をcontent-addressedにし、Descriptor digestをProtocolへ導入するか。
- Descriptor version間の互換性規則。
- 現在plain textであるDocumentationへmarkup、localization、構造化exampleを追加するか。
- 現在Unionで表すDomain failureへ専用declarationを追加するか。
3. Protocol
対象: 3. Protocol
Interface scopeとcomposition
Interface scopeとcompositionの基本仕様は、すでに各文書へ統合されている。構造化参照と絶対scopeは2.2. Operation and Interface、fieldとHost変換は3. Protocol、短縮表記は4.2. Text View、JSON encodingは5.1. WIP over HTTPに従う。
Self-scopeとroot scope / の利用は許可する。ScopeはそのpathのObjectに紐づき、optionalなrefで紐付きを確認する。refがない場合、Objectの差し替えをidentityで追跡できないことは仕様上許容する。
Scopeが消えると旧参照の有効期間は終了し、Clientは不要なcacheを破棄できる。移動先は別参照となるため、Clientに移動追跡は要求しない。詳細はScope Objectと有効期間およびProtocolの紐付き確認に従う。
これらの仕様を前提として、次の論点が残る。
- 複数配置とidentity:同じUpstream Objectを複数scopeへ投影する場合の共通祖先scopeでの共有やprojectionごとの
ref・validator。同じrefとvalidatorで異なるrepresentationを返せるようにはしない。 - 部分合成と拒否条件:公開subtree外のscope・typed
entryへの対応付け、対応不能時の公開・実行拒否とerror mapping。非公開情報の秘匿と既存のerror precedenceを維持し、effectがcommit済みか不明なcallを未実行保証のerrorへ置き換えない。
Host内部のmount API、Provider登録API、合成設定の共通data structureも引き続き検討対象であり、Host API draftで扱う。
Type / Value
- String length、numeric range、pattern等のconstraintを導入するか。
- 現在拒否するrecursive named typeを許可するか。
i64、u64、bigint、decimal等を追加するか。
Interaction / Error
- ProtocolErrorへstructured detailを追加するか。