@aicent/rttp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,198 @@
1
+ {
2
+ "spec": "RTTP-FRAME-EXT-v1.2.6",
3
+ "applies_to": [
4
+ "RFC-002 §4.1",
5
+ "RFC-002 §10"
6
+ ],
7
+ "generated_by": "SPEC/tools/conformance.py",
8
+ "note": "Generated file - do not edit by hand. Change the cases in conformance.py instead.",
9
+ "route_shard_rule": "ROUTE_SHARD = SHA-256(ASCII(canonical_authority))[0:16]",
10
+ "frame_size": 128,
11
+ "action_max_len": 16,
12
+ "positive_uris": [
13
+ {
14
+ "uri": "rttp://f3b2a1c4.rttp.aicent/vessel",
15
+ "canonical_uri": "rttp://f3b2a1c4.rttp.aicent/vessel",
16
+ "authority": "f3b2a1c4.rttp.aicent",
17
+ "intent": "f3b2a1c4",
18
+ "intent_is_hash": true,
19
+ "pillar": "rttp",
20
+ "root": "aicent",
21
+ "action": "vessel",
22
+ "action_omitted": false,
23
+ "route_shard_hex": "bf77b78ff6ceafc363226aa586562218"
24
+ },
25
+ {
26
+ "uri": "rttp://brain.epoekie.aicent/verify",
27
+ "canonical_uri": "rttp://brain.epoekie.aicent/verify",
28
+ "authority": "brain.epoekie.aicent",
29
+ "intent": "brain",
30
+ "intent_is_hash": false,
31
+ "pillar": "epoekie",
32
+ "root": "aicent",
33
+ "action": "verify",
34
+ "action_omitted": false,
35
+ "route_shard_hex": "459e543b73d86005b72ba77d5756e83c"
36
+ },
37
+ {
38
+ "uri": "rttp://f3b2a1c4.rttp.aicent",
39
+ "canonical_uri": "rttp://f3b2a1c4.rttp.aicent",
40
+ "authority": "f3b2a1c4.rttp.aicent",
41
+ "intent": "f3b2a1c4",
42
+ "intent_is_hash": true,
43
+ "pillar": "rttp",
44
+ "root": "aicent",
45
+ "action": "",
46
+ "action_omitted": true,
47
+ "route_shard_hex": "bf77b78ff6ceafc363226aa586562218"
48
+ },
49
+ {
50
+ "uri": "rttp://00000000.rpki.aicent/attest",
51
+ "canonical_uri": "rttp://00000000.rpki.aicent/attest",
52
+ "authority": "00000000.rpki.aicent",
53
+ "intent": "00000000",
54
+ "intent_is_hash": true,
55
+ "pillar": "rpki",
56
+ "root": "aicent",
57
+ "action": "attest",
58
+ "action_omitted": false,
59
+ "route_shard_hex": "753c105fd0f8bf341811acfaaac85b37"
60
+ },
61
+ {
62
+ "uri": "web+rttp://logic.zcmk.aicent/pulse",
63
+ "canonical_uri": "rttp://logic.zcmk.aicent/pulse",
64
+ "authority": "logic.zcmk.aicent",
65
+ "intent": "logic",
66
+ "intent_is_hash": false,
67
+ "pillar": "zcmk",
68
+ "root": "aicent",
69
+ "action": "pulse",
70
+ "action_omitted": false,
71
+ "route_shard_hex": "cdc32d19641c84aca3292de6276de056"
72
+ },
73
+ {
74
+ "uri": "rttp://a-b-c.d-e.f-g/audit-v2",
75
+ "canonical_uri": "rttp://a-b-c.d-e.f-g/audit-v2",
76
+ "authority": "a-b-c.d-e.f-g",
77
+ "intent": "a-b-c",
78
+ "intent_is_hash": false,
79
+ "pillar": "d-e",
80
+ "root": "f-g",
81
+ "action": "audit-v2",
82
+ "action_omitted": false,
83
+ "route_shard_hex": "905bf68b86aadf883cda2db9640912de"
84
+ }
85
+ ],
86
+ "negative_uris": [
87
+ {
88
+ "uri": "rttp://f3b2a1c4.rttp.aicent/VESSEL",
89
+ "reason": "uppercase action - lowercase only (RFC-002 §10.3)"
90
+ },
91
+ {
92
+ "uri": "rttp://F3B2A1C4.rttp.aicent/vessel",
93
+ "reason": "uppercase intent - lowercase only (RFC-002 §10.3)"
94
+ },
95
+ {
96
+ "uri": "RTTP://f3b2a1c4.rttp.aicent/vessel",
97
+ "reason": "uppercase scheme prefix - canonical form is lowercase (RFC-002 §10.2)"
98
+ },
99
+ {
100
+ "uri": "WEB+RTTP://f3b2a1c4.rttp.aicent/vessel",
101
+ "reason": "uppercase scheme prefix on the handler form (RFC-002 §10.2)"
102
+ },
103
+ {
104
+ "uri": "rttp://subject@rttp.aicent/vessel",
105
+ "reason": "userinfo is not defined (RFC-002 §10.3)"
106
+ },
107
+ {
108
+ "uri": "rttp://f3b2a1c4.rttp.aicent/vessel?x=1",
109
+ "reason": "query is not defined (RFC-002 §10.3)"
110
+ },
111
+ {
112
+ "uri": "rttp://f3b2a1c4.rttp.aicent/vessel#f",
113
+ "reason": "fragment is not defined (RFC-002 §10.3)"
114
+ },
115
+ {
116
+ "uri": "rttp://f3b2a1c4.rttp.aicent:443/vessel",
117
+ "reason": "port is not defined (RFC-002 §10.3)"
118
+ },
119
+ {
120
+ "uri": "rttp://f3b2a1c4.rttp.aicent/a/b",
121
+ "reason": "second path segment - path is a single '/<action>'"
122
+ },
123
+ {
124
+ "uri": "rttp://a.b",
125
+ "reason": "authority has two segments, must be <intent>.<pillar>.<root>"
126
+ },
127
+ {
128
+ "uri": "rttp://a.b.c.d/e",
129
+ "reason": "authority has four segments, must be <intent>.<pillar>.<root>"
130
+ },
131
+ {
132
+ "uri": "rttp://f3b2a1c4.rttp.aicent/",
133
+ "reason": "trailing '/' with empty action - action is 1*(...)"
134
+ },
135
+ {
136
+ "uri": "https://f3b2a1c4.rttp.aicent/vessel",
137
+ "reason": "not an rttp scheme - there is no fallback (RFC-002 §10.5)"
138
+ },
139
+ {
140
+ "uri": "rttp://f3b2a1c4.rttp.aicent/vessel ",
141
+ "reason": "trailing whitespace"
142
+ },
143
+ {
144
+ "uri": "rttp://-lead.rttp.aicent/vessel",
145
+ "reason": "intent begins with '-'"
146
+ }
147
+ ],
148
+ "frame_vectors": [
149
+ {
150
+ "uri": "rttp://f3b2a1c4.rttp.aicent/vessel",
151
+ "sequence_id": 1,
152
+ "ttl": 255,
153
+ "priority": 1,
154
+ "timestamp_ns": 1760000000000000000,
155
+ "aid_origin_hex": "5d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d",
156
+ "action": "vessel",
157
+ "uri_anchored": true,
158
+ "spec_rev": 1,
159
+ "route_shard_hex": "bf77b78ff6ceafc363226aa586562218",
160
+ "header_hex": "5254545000000000000000000000000000000082000000000000000000000000000000010000000000000000186cc6acd4b00000ff01bf77b78ff6ceafc363226aa5865622185d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d01010676657373656c0000000000000000000000000000000000"
161
+ },
162
+ {
163
+ "uri": "rttp://brain.epoekie.aicent/verify",
164
+ "sequence_id": 2,
165
+ "ttl": 255,
166
+ "priority": 1,
167
+ "timestamp_ns": 1760000000000000000,
168
+ "aid_origin_hex": "5d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d",
169
+ "action": "verify",
170
+ "uri_anchored": true,
171
+ "spec_rev": 1,
172
+ "route_shard_hex": "459e543b73d86005b72ba77d5756e83c",
173
+ "header_hex": "5254545000000000000000000000000000000082000000000000000000000000000000020000000000000000186cc6acd4b00000ff01459e543b73d86005b72ba77d5756e83c5d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d0101067665726966790000000000000000000000000000000000"
174
+ },
175
+ {
176
+ "uri": "rttp://f3b2a1c4.rttp.aicent",
177
+ "sequence_id": 3,
178
+ "ttl": 128,
179
+ "priority": 255,
180
+ "timestamp_ns": 1760000000000000000,
181
+ "aid_origin_hex": "5d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d",
182
+ "action": "",
183
+ "uri_anchored": true,
184
+ "spec_rev": 1,
185
+ "route_shard_hex": "bf77b78ff6ceafc363226aa586562218",
186
+ "header_hex": "5254545000000000000000000000000000000082000000000000000000000000000000030000000000000000186cc6acd4b0000080ffbf77b78ff6ceafc363226aa5865622185d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d0101000000000000000000000000000000000000000000000000"
187
+ }
188
+ ],
189
+ "compat_vector_spec_rev_0": {
190
+ "uri": "rttp://f3b2a1c4.rttp.aicent/vessel",
191
+ "spec_rev": 0,
192
+ "action": "",
193
+ "action_omitted": true,
194
+ "uri_anchored": false,
195
+ "expected": "verify() MUST accept; action is treated as omitted (RFC-002 §10.4 default operation)",
196
+ "header_hex": "5254545000000000000000000000000000000082000000000000000000000000000000010000000000000000186cc6acd4b00000ff01bf77b78ff6ceafc363226aa5865622185d42ba8b38fe10bfa702bdfe6af536ea16e20e35fbb48d84c3658d80cad2789d0000000000000000000000000000000000000000000000000000"
197
+ }
198
+ }