1pub const MINIMAL_VALID_PAYLOAD: &str = r#"{
25 "spec": "wilder.pser/0.5",
26 "id": "uuid:00000000-0000-4000-8000-000000000001",
27 "ts": "2026-10-15T14:00:00Z",
28 "issuerAffiliation": "NOT_DISCLOSED",
29 "site": {
30 "id": "site:res-001",
31 "class": "residential",
32 "envelope": {
33 "id": "env:res-001:2026-Q4",
34 "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
35 "geobounds": null,
36 "temporal": { "starts": "2026-10-01T00:00:00Z", "ends": null }
37 }
38 },
39 "actor": {
40 "id": "actor:robot-alpha-01",
41 "class": "AUTONOMOUS",
42 "operator": "operator:wilder-robotics"
43 },
44 "engagement": {
45 "id": "eng:res-001:20261015-140000",
46 "window": { "start": "2026-10-15T13:30:00Z", "end": "2026-10-15T14:00:00Z" },
47 "type": "patrol",
48 "outcomeClass": "COMPLETED",
49 "envelopeConformance": "WITHIN",
50 "evidenceDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
51 },
52 "attestation": {
53 "bindingMode": "DIRECT_WITNESS",
54 "teeClass": "arm.cca",
55 "measuredBoot": {
56 "chain": "sha256:98a6efd412bb768ea7f090e8228401c11bc72a7caae44170395445c097d5ffa1",
57 "components": [
58 {
59 "name": "bl1",
60 "digest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
61 }
62 ]
63 },
64 "platformEvidence": {
65 "encoding": "opaque/1",
66 "digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
67 },
68 "sealedEvidence": {
69 "digest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
70 "sizeBytes": 4096,
71 "encoding": "opaque/1"
72 },
73 "witnessKey": "key:tee:res-001-witness-01",
74 "validity": {
75 "notBefore": "2026-10-15T13:00:00Z",
76 "notAfter": "2026-10-15T15:00:00Z"
77 }
78 },
79 "adapter": {
80 "system": "example.ticketing",
81 "endpoint": "endpoint:res-001",
82 "postedAt": "2026-10-15T14:00:05Z",
83 "ackDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
84 "ackProvenance": "THIRD_PARTY",
85 "mode": "WRITE_ONLY"
86 },
87 "chain": {
88 "seq": 0,
89 "prevHash": null,
90 "hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
91 }
92}"#;
93
94pub const MINIMAL_CHAIN_HASH: &str =
96 "sha256:6de1b8b2c641536b35fada1a7ee233c68284cf3788408a7160d5f525c309d2b3";
97
98pub const MINIMAL_VALID_JCS: &str = r#"{"actor":{"class":"AUTONOMOUS","id":"actor:robot-alpha-01","operator":"operator:wilder-robotics"},"adapter":{"ackDigest":"sha256:4444444444444444444444444444444444444444444444444444444444444444","ackProvenance":"THIRD_PARTY","endpoint":"endpoint:res-001","mode":"WRITE_ONLY","postedAt":"2026-10-15T14:00:05Z","system":"example.ticketing"},"attestation":{"bindingMode":"DIRECT_WITNESS","measuredBoot":{"chain":"sha256:98a6efd412bb768ea7f090e8228401c11bc72a7caae44170395445c097d5ffa1","components":[{"digest":"sha256:2222222222222222222222222222222222222222222222222222222222222222","name":"bl1"}]},"platformEvidence":{"digest":"sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","encoding":"opaque/1"},"sealedEvidence":{"digest":"sha256:3333333333333333333333333333333333333333333333333333333333333333","encoding":"opaque/1","sizeBytes":4096},"teeClass":"arm.cca","validity":{"notAfter":"2026-10-15T15:00:00Z","notBefore":"2026-10-15T13:00:00Z"},"witnessKey":"key:tee:res-001-witness-01"},"chain":{"hash":"sha256:6de1b8b2c641536b35fada1a7ee233c68284cf3788408a7160d5f525c309d2b3","prevHash":null,"seq":0},"engagement":{"envelopeConformance":"WITHIN","evidenceDigest":"sha256:1111111111111111111111111111111111111111111111111111111111111111","id":"eng:res-001:20261015-140000","outcomeClass":"COMPLETED","type":"patrol","window":{"end":"2026-10-15T14:00:00Z","start":"2026-10-15T13:30:00Z"}},"id":"uuid:00000000-0000-4000-8000-000000000001","issuerAffiliation":"NOT_DISCLOSED","site":{"class":"residential","envelope":{"digest":"sha256:0000000000000000000000000000000000000000000000000000000000000000","geobounds":null,"id":"env:res-001:2026-Q4","temporal":{"ends":null,"starts":"2026-10-01T00:00:00Z"}},"id":"site:res-001"},"spec":"wilder.pser/0.5","ts":"2026-10-15T14:00:00Z"}"#;
100
101pub const WRONG_SPEC: &str = "wilder.pser/0.0";
107pub const INVALID_ACTOR_CLASS: &str = "ROBOT";
109pub const REVERSED_WINDOW_END: &str = "2026-10-15T13:00:00Z";
111pub const INVALID_DIGEST: &str = "sha256:xyz";
113pub const INVALID_ADAPTER_MODE: &str = "WRITE_READ";
115pub const WRONG_CONTENT_TYPE: &str = "application/json";
117pub const WRONG_CWT_SUBJECT: &[u8] = b"site:not-res-001";
119
120pub const JCS_NUMBERS_INPUT: &str =
122 r#"{"numbers":[333333333.33333329,1E30,4.50,2e-3,0.000000000000000000000000001]}"#;
123pub const JCS_NUMBERS_EXPECTED: &str = r#"{"numbers":[333333333.3333333,1e+30,4.5,0.002,1e-27]}"#;
125pub const JCS_ORDER_INPUT: &str = "{\"\\u20ac\":\"Euro Sign\",\"\\r\":\"Carriage Return\",\"\\ufb33\":\"Hebrew Letter Dalet With Dagesh\",\"1\":\"One\",\"\\ud83d\\ude00\":\"Emoji: Grinning Face\",\"\\u0080\":\"Control\",\"\\u00f6\":\"Latin Small Letter O With Diaeresis\"}";
127pub const JCS_ORDER_EXPECTED: &str = "{\"\\r\":\"Carriage Return\",\"1\":\"One\",\"\u{0080}\":\"Control\",\"\u{00f6}\":\"Latin Small Letter O With Diaeresis\",\"\u{20ac}\":\"Euro Sign\",\"\u{1f600}\":\"Emoji: Grinning Face\",\"\u{fb33}\":\"Hebrew Letter Dalet With Dagesh\"}";
129pub const JCS_LITERALS_INPUT: &str = r#"{ "literals" : [ null, true, false ] }"#;
131pub const JCS_LITERALS_EXPECTED: &str = r#"{"literals":[null,true,false]}"#;