diff --git a/packages/dotnet/TraverseEmbedder/README.md b/packages/dotnet/TraverseEmbedder/README.md
index d45cc8a..4b05ced 100644
--- a/packages/dotnet/TraverseEmbedder/README.md
+++ b/packages/dotnet/TraverseEmbedder/README.md
@@ -8,5 +8,10 @@ runtime-shaped harness events. Compatible-capability start, stop, and kill
operations return stable instance identifiers and lifecycle results. It never
depends on `traverse-cli serve` or server-discovery files in production.
-The runtime-WASM bridge, event subscriptions, release evidence, and WinUI
+Release tooling constructs `TraverseReleaseEvidence` with the semantic package
+version, runtime-WASM digest, conformance version, and supported Windows host
+versions. `Validate` rejects incomplete evidence before publication so a
+downstream binary can be traced to its exact package and runtime pairing.
+
+The runtime-WASM bridge, event subscriptions, evidence publication, and WinUI
reference-app integration remain tracked by Traverse #649.
diff --git a/packages/dotnet/TraverseEmbedder/TraverseEmbedder/TraverseEmbedder.cs b/packages/dotnet/TraverseEmbedder/TraverseEmbedder/TraverseEmbedder.cs
index 05ddf41..f9a1f4d 100644
--- a/packages/dotnet/TraverseEmbedder/TraverseEmbedder/TraverseEmbedder.cs
+++ b/packages/dotnet/TraverseEmbedder/TraverseEmbedder/TraverseEmbedder.cs
@@ -22,6 +22,26 @@ public sealed record TraverseSubmission(string TargetId, string InputJson)
public sealed record TraverseSubmissionResult(string SessionId, string Status);
+/// Traceability evidence published with a TraverseEmbedder package release.
+public sealed record TraverseReleaseEvidence(
+ string PackageVersion,
+ string RuntimeWasmDigest,
+ string ConformanceVersion,
+ IReadOnlyList SupportedHostVersions)
+{
+ public void Validate()
+ {
+ ArgumentException.ThrowIfNullOrWhiteSpace(PackageVersion);
+ ArgumentException.ThrowIfNullOrWhiteSpace(RuntimeWasmDigest);
+ ArgumentException.ThrowIfNullOrWhiteSpace(ConformanceVersion);
+ if (SupportedHostVersions is null || SupportedHostVersions.Count == 0 ||
+ SupportedHostVersions.Any(string.IsNullOrWhiteSpace))
+ {
+ throw new ArgumentException("supported host versions are required", nameof(SupportedHostVersions));
+ }
+ }
+}
+
/// Ordered runtime-shaped event exposed by the conformance harness.
public sealed record TraverseRuntimeEvent(
int Sequence,