feat: migrate protocol and HTTP to structured interface references

T-20: identify interfaces by exact scope/name pairs; add optional opaque scope_ref metadata and separate shape validation from path-dependent scope compatibility. Preserve call error precedence, strict JSON, validators and transport boundaries. Mechanically migrate consumers and document API/wire compatibility and deferred lifecycle semantics.

Validation: cargo fmt --all --check; git diff --check; cargo check --workspace --all-targets; cargo test -p wip-protocol -p wip-http; cargo test --workspace (221 passing tests including doctests); cargo test --workspace --all-targets; nix develop --command cargo clippy --workspace --all-targets -- -D warnings; RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps. All pass. cargo/rustc 1.95.0; development-shell Clippy/rustc 1.97.1.
This commit is contained in:
2026-10-07 18:29:51 +09:00
parent bf5fa54f44
commit 8ecc307fc9
34 changed files with 2124 additions and 263 deletions
+2 -1
View File
@@ -827,7 +827,7 @@ mod tests {
projection: &DefaultProjection,
path: &str,
validator: Option<Vec<u8>>,
interface: String,
interface: wip_protocol::InterfaceReference,
operation: &str,
arguments: BTreeMap<String, Value>,
) -> Result<wip_protocol::CallOperationResponse, wip_host::CallError> {
@@ -837,6 +837,7 @@ mod tests {
validator,
},
interface: InterfaceTarget {
scope_ref: None,
reference: interface,
validator: None,
},