diff --git a/crates/traverse-cli/src/main.rs b/crates/traverse-cli/src/main.rs index 8b9a3575..7662ebf8 100644 --- a/crates/traverse-cli/src/main.rs +++ b/crates/traverse-cli/src/main.rs @@ -5511,8 +5511,8 @@ mod tests { let temp_dir = unique_temp_dir(); let manifest_path = write_app_validate_fixture( &temp_dir, - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", None, ); let mut manifest: Value = @@ -5542,8 +5542,8 @@ mod tests { let temp_dir = unique_temp_dir(); let manifest_path = write_app_validate_fixture( &temp_dir, - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", None, ); let mut manifest: Value = @@ -5576,8 +5576,8 @@ mod tests { let temp_dir = unique_temp_dir(); let manifest_path = write_app_validate_fixture( &temp_dir, - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", Some(serde_json::json!({ "overrides": { "readiness_mode": "deterministic" @@ -5697,8 +5697,8 @@ mod tests { let fixture_root = unique_temp_dir(); let manifest_path = write_app_validate_fixture( &fixture_root, - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", - "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", + "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", Some(serde_json::json!({ "overrides": { "readiness_mode": "deterministic" diff --git a/crates/traverse-registry/tests/application_manifest.rs b/crates/traverse-registry/tests/application_manifest.rs index 46f04417..1a32e40e 100644 --- a/crates/traverse-registry/tests/application_manifest.rs +++ b/crates/traverse-registry/tests/application_manifest.rs @@ -37,7 +37,7 @@ fn loads_checked_in_application_manifest_with_real_wasm_component() { ); assert_eq!( bundle.components[0].verified_wasm_digest, - Some("sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99".to_string()) + Some("sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e".to_string()) ); } diff --git a/examples/agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm b/examples/agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm old mode 100644 new mode 100755 index ca050857..a0b36ad2 Binary files a/examples/agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm and b/examples/agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm differ diff --git a/examples/agents/team-readiness-agent/build-fixture.sh b/examples/agents/team-readiness-agent/build-fixture.sh index 08cfe0de..0fec2990 100755 --- a/examples/agents/team-readiness-agent/build-fixture.sh +++ b/examples/agents/team-readiness-agent/build-fixture.sh @@ -8,6 +8,8 @@ artifact_path="$artifact_dir/validate-team-readiness-agent.wasm" mkdir -p "$artifact_dir" -printf '\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x04\x01\x60\x00\x00\x03\x02\x01\x00\x07\x0a\x01\x06\x5f\x73\x74\x61\x72\x74\x00\x00\x0a\x04\x01\x02\x00\x0b' > "$artifact_path" +rustup run "$(rustup show active-toolchain | awk '{print $1}')" rustc \ + "$script_dir/src/agent.rs" --target wasm32-unknown-unknown --crate-type cdylib -O \ + -o "$artifact_path" printf 'built %s\n' "$artifact_path" diff --git a/examples/agents/team-readiness-agent/manifest.json b/examples/agents/team-readiness-agent/manifest.json index 1e971770..a64eb6bd 100644 --- a/examples/agents/team-readiness-agent/manifest.json +++ b/examples/agents/team-readiness-agent/manifest.json @@ -23,7 +23,7 @@ "binary": { "path": "./artifacts/validate-team-readiness-agent.wasm", "format": "wasm", - "expected_digest": "fnv1a64:dffc31d6401c84d6", + "expected_digest": "fnv1a64:5437054db6bfe444", "abi_version": "1.0.0" }, "constraints": { diff --git a/examples/agents/team-readiness-agent/src/agent.rs b/examples/agents/team-readiness-agent/src/agent.rs index d2cedb2c..6610098f 100644 --- a/examples/agents/team-readiness-agent/src/agent.rs +++ b/examples/agents/team-readiness-agent/src/agent.rs @@ -1,3 +1,20 @@ -pub fn run() -> &'static str { - "validate-team-readiness" +#![no_std] +#![no_main] + +#[repr(C)] +struct IoVec { buffer: *const u8, length: usize } + +#[link(wasm_import_module = "wasi_snapshot_preview1")] +unsafe extern "C" { fn fd_write(fd: u32, vectors: *const IoVec, count: usize, written: *mut usize) -> u32; } + +static OUTPUT: &[u8] = br#"{"readiness_result_id":"readiness-expedition-objective-001","objective_id":"expedition-objective-001","status":"ready","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[],"readiness_result":{"readiness_result_id":"readiness-expedition-objective-001","objective_id":"expedition-objective-001","status":"ready","reasons":["team profile satisfies baseline expedition requirements"],"required_actions":[]}}"#; + +#[unsafe(no_mangle)] +pub extern "C" fn _start() { + let vector = IoVec { buffer: OUTPUT.as_ptr(), length: OUTPUT.len() }; + let mut written = 0; + unsafe { let _ = fd_write(1, &vector, 1, &mut written); } } + +#[panic_handler] +fn panic(_: &core::panic::PanicInfo<'_>) -> ! { loop {} } diff --git a/examples/applications/expedition-readiness/app.manifest.json b/examples/applications/expedition-readiness/app.manifest.json index 971b22f7..e9c5174a 100644 --- a/examples/applications/expedition-readiness/app.manifest.json +++ b/examples/applications/expedition-readiness/app.manifest.json @@ -10,31 +10,31 @@ { "component_id": "expedition.readiness.validate-team-readiness-component", "version": "1.0.0", - "digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "manifest_path": "components/validate-team-readiness/component.manifest.json" }, { "component_id": "expedition.readiness.capture-expedition-objective-component", "version": "1.0.0", - "digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "manifest_path": "components/capture-expedition-objective/component.manifest.json" }, { "component_id": "expedition.readiness.interpret-expedition-intent-component", "version": "1.0.0", - "digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "manifest_path": "components/interpret-expedition-intent/component.manifest.json" }, { "component_id": "expedition.readiness.assess-conditions-summary-component", "version": "1.0.0", - "digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "manifest_path": "components/assess-conditions-summary/component.manifest.json" }, { "component_id": "expedition.readiness.assemble-expedition-plan-component", "version": "1.0.0", - "digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "manifest_path": "components/assemble-expedition-plan/component.manifest.json" } ], diff --git a/examples/applications/expedition-readiness/components/assemble-expedition-plan/component.manifest.json b/examples/applications/expedition-readiness/components/assemble-expedition-plan/component.manifest.json index b1c38ff6..2ed2e1ad 100644 --- a/examples/applications/expedition-readiness/components/assemble-expedition-plan/component.manifest.json +++ b/examples/applications/expedition-readiness/components/assemble-expedition-plan/component.manifest.json @@ -6,7 +6,7 @@ "capability_version": "1.0.0", "contract_path": "../../../../../contracts/examples/expedition/capabilities/assemble-expedition-plan/contract.json", "wasm_binary_path": "../../../../agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm", - "wasm_digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "wasm_digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "runtime_constraints": { "host_api_access": "none", "network_access": "forbidden", diff --git a/examples/applications/expedition-readiness/components/assess-conditions-summary/component.manifest.json b/examples/applications/expedition-readiness/components/assess-conditions-summary/component.manifest.json index d769e3f8..a9b34027 100644 --- a/examples/applications/expedition-readiness/components/assess-conditions-summary/component.manifest.json +++ b/examples/applications/expedition-readiness/components/assess-conditions-summary/component.manifest.json @@ -6,7 +6,7 @@ "capability_version": "1.0.0", "contract_path": "../../../../../contracts/examples/expedition/capabilities/assess-conditions-summary/contract.json", "wasm_binary_path": "../../../../agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm", - "wasm_digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "wasm_digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "runtime_constraints": { "host_api_access": "none", "network_access": "forbidden", diff --git a/examples/applications/expedition-readiness/components/capture-expedition-objective/component.manifest.json b/examples/applications/expedition-readiness/components/capture-expedition-objective/component.manifest.json index 3b86e58a..f7789de9 100644 --- a/examples/applications/expedition-readiness/components/capture-expedition-objective/component.manifest.json +++ b/examples/applications/expedition-readiness/components/capture-expedition-objective/component.manifest.json @@ -6,7 +6,7 @@ "capability_version": "1.0.0", "contract_path": "../../../../../contracts/examples/expedition/capabilities/capture-expedition-objective/contract.json", "wasm_binary_path": "../../../../agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm", - "wasm_digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "wasm_digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "runtime_constraints": { "host_api_access": "none", "network_access": "forbidden", diff --git a/examples/applications/expedition-readiness/components/interpret-expedition-intent/component.manifest.json b/examples/applications/expedition-readiness/components/interpret-expedition-intent/component.manifest.json index 85dc29cb..09aff7b1 100644 --- a/examples/applications/expedition-readiness/components/interpret-expedition-intent/component.manifest.json +++ b/examples/applications/expedition-readiness/components/interpret-expedition-intent/component.manifest.json @@ -6,7 +6,7 @@ "capability_version": "1.0.0", "contract_path": "../../../../../contracts/examples/expedition/capabilities/interpret-expedition-intent/contract.json", "wasm_binary_path": "../../../../agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm", - "wasm_digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "wasm_digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "runtime_constraints": { "host_api_access": "none", "network_access": "forbidden", diff --git a/examples/applications/expedition-readiness/components/validate-team-readiness/component.manifest.json b/examples/applications/expedition-readiness/components/validate-team-readiness/component.manifest.json index 3cf6e1eb..3f9a0f2c 100644 --- a/examples/applications/expedition-readiness/components/validate-team-readiness/component.manifest.json +++ b/examples/applications/expedition-readiness/components/validate-team-readiness/component.manifest.json @@ -6,7 +6,7 @@ "capability_version": "1.0.0", "contract_path": "../../../../../contracts/examples/expedition/capabilities/validate-team-readiness/contract.json", "wasm_binary_path": "../../../../agents/team-readiness-agent/artifacts/validate-team-readiness-agent.wasm", - "wasm_digest": "sha256:5647c39a1d25d8728350f9619025292a62e78a602068a2ad9b6f075751c93d99", + "wasm_digest": "sha256:59b6ef4faecd7c07da8eeccb10556d411f1e5eb8b03871fb81f3250eb9bfed1e", "runtime_constraints": { "host_api_access": "none", "network_access": "forbidden",