feat(v1): harden typed runtime boundaries
Elect one canonical EffectBatch codec, remove the parallel postcard API, and strengthen fail-closed host, form, sync, WASM, macro, generated-contract, and test-harness proofs with mutation-driven coverage. req: wire/008 req: wire/009 req: wire/010 req: push/008 req: client_local/015 req: client_local/016 req: client_local/017 req: client_local/018 req: client_local/019 req: sync/024 req: sync/025 req: sync/026 req: sync/027 req: sync/028 req: sync/029 req: test/020 req: test/021
This commit is contained in:
@@ -420,10 +420,11 @@ pub fn scoped_island_readout_selector(scope_selector: &str) -> String {
|
||||
|
||||
fn assert_simple_selector_part(value: &str, label: &str) {
|
||||
assert!(
|
||||
value
|
||||
.chars()
|
||||
.all(|ch| ch.is_ascii_alphanumeric() || ch == '-'),
|
||||
"{label} selector part must contain only ascii alphanumerics or '-'"
|
||||
!value.is_empty()
|
||||
&& value
|
||||
.chars()
|
||||
.all(|ch| ch.is_ascii_alphanumeric() || ch == '-'),
|
||||
"{label} selector part must contain one or more ascii alphanumerics or '-'"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -437,8 +438,7 @@ fn runtime_resource_attr(kind: ResourceKind) -> &'static str {
|
||||
}
|
||||
|
||||
fn runtime_attr_marker(name: &str, value: &str) -> String {
|
||||
let escaped = value.replace('"', """);
|
||||
format!(r#"{name}="{escaped}""#)
|
||||
format!(r#"{name}="{value}""#)
|
||||
}
|
||||
|
||||
fn attr_selector(name: &str, value: &str) -> String {
|
||||
|
||||
Reference in New Issue
Block a user