Description
In web/app/lib/proof.tsx (lines 93-112), outcomeFromStatus maps all verification status failures into a single generic "failed" display outcome:
function outcomeFromStatus(status: string | undefined | null): VerdictState {
switch (status) {
case "Valid":
return "verified";
case undefined:
case null:
case "":
case "Idle":
case "Loading":
return "unreceipted";
default:
return "failed";
}
}
Root Cause
Cryptographically distinct verification outcomes emitted by the WASM verifier (e.g. InvalidSignature, Expired, Revoked, BrokenChain, DuplicityDetected) are collapsed into "failed".
Expected Behavior
The operator console UI should retain and display the granular failure reasons so operators can distinguish between signature forgery, expired attestations, or broken certificate chains.
Location
Description
In
web/app/lib/proof.tsx(lines 93-112),outcomeFromStatusmaps all verification status failures into a single generic"failed"display outcome:Root Cause
Cryptographically distinct verification outcomes emitted by the WASM verifier (e.g.
InvalidSignature,Expired,Revoked,BrokenChain,DuplicityDetected) are collapsed into"failed".Expected Behavior
The operator console UI should retain and display the granular failure reasons so operators can distinguish between signature forgery, expired attestations, or broken certificate chains.
Location
web/app/lib/proof.tsx