Skip to repository content581 lines · 14.3 KB · json
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T04:16:42.871Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
identity_candidate_evidence_schema_v1.json
1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "$id": "https://github.com/OpenAgentsInc/omega/crates/omega_identity/fixtures/identity_candidate_evidence_schema_v1.json",
4 "title": "Omega identity candidate evidence v1",
5 "type": "object",
6 "additionalProperties": false,
7 "required": [
8 "schema",
9 "schema_version",
10 "status",
11 "candidate_admitted",
12 "candidate",
13 "candidate_digest",
14 "gates",
15 "attestation_errors"
16 ],
17 "properties": {
18 "schema": {
19 "const": "openagents.omega.identity-candidate-evidence.v1"
20 },
21 "schema_version": {
22 "const": 1
23 },
24 "status": {
25 "enum": [
26 "pending_required_gates",
27 "admitted"
28 ]
29 },
30 "candidate_admitted": {
31 "type": "boolean"
32 },
33 "candidate": {
34 "type": "object",
35 "additionalProperties": false,
36 "required": [
37 "omega",
38 "identity_contract",
39 "public_vector",
40 "reviewed_source",
41 "assurance_spec_admission",
42 "packages",
43 "build_cargo_lock",
44 "artifact",
45 "automated_tripwires"
46 ],
47 "properties": {
48 "omega": {
49 "$ref": "#/$defs/sourceBinding"
50 },
51 "identity_contract": {
52 "type": "object",
53 "required": [
54 "version",
55 "source_path",
56 "source_sha256"
57 ]
58 },
59 "public_vector": {
60 "type": "object",
61 "required": [
62 "version",
63 "path",
64 "sha256"
65 ]
66 },
67 "reviewed_source": {
68 "type": "object",
69 "required": [
70 "repository",
71 "commit"
72 ]
73 },
74 "assurance_spec_admission": {
75 "type": "object",
76 "additionalProperties": false,
77 "required": [
78 "assurance_spec_id",
79 "assurance_revision",
80 "admitted_document_sha256",
81 "admitted_proposal_sha256",
82 "admission_receipt_ref",
83 "admission_receipt_sha256",
84 "product_spec_sha256"
85 ],
86 "properties": {
87 "assurance_spec_id": {
88 "const": "assurance.omega.identity.first.onboarding"
89 },
90 "assurance_revision": {
91 "const": 2
92 },
93 "admitted_document_sha256": {
94 "$ref": "#/$defs/sha256"
95 },
96 "admitted_proposal_sha256": {
97 "$ref": "#/$defs/sha256"
98 },
99 "admission_receipt_ref": {
100 "const": "authority.decision.2d660f7602ee99ac6c4a7a2fe906ba0f"
101 },
102 "admission_receipt_sha256": {
103 "$ref": "#/$defs/sha256"
104 },
105 "product_spec_sha256": {
106 "$ref": "#/$defs/sha256"
107 }
108 }
109 },
110 "packages": {
111 "type": "array",
112 "minItems": 3,
113 "maxItems": 3,
114 "items": {
115 "type": "object",
116 "required": [
117 "name",
118 "version",
119 "cargo_checksum"
120 ]
121 }
122 },
123 "build_cargo_lock": {
124 "type": "object",
125 "required": [
126 "name",
127 "sha256"
128 ],
129 "properties": {
130 "sha256": {
131 "$ref": "#/$defs/sha256"
132 }
133 }
134 },
135 "artifact": {
136 "type": "object",
137 "required": [
138 "name",
139 "version",
140 "sha256",
141 "release_record_sha256",
142 "packaged_app"
143 ],
144 "properties": {
145 "sha256": {
146 "$ref": "#/$defs/sha256"
147 },
148 "release_record_sha256": {
149 "$ref": "#/$defs/sha256"
150 },
151 "packaged_app": {
152 "type": "object",
153 "required": [
154 "application_name",
155 "bundle_identifier",
156 "bundle_version",
157 "bundle_build_version",
158 "omega_binary_sha256",
159 "cli_binary_sha256",
160 "identity_proof_binary_sha256",
161 "source_commit_marker",
162 "signing",
163 "fresh_boundary_scan"
164 ],
165 "properties": {
166 "source_commit_marker": {
167 "type": "string",
168 "pattern": "^[0-9a-f]{40}$"
169 },
170 "omega_binary_sha256": {
171 "$ref": "#/$defs/sha256"
172 },
173 "cli_binary_sha256": {
174 "$ref": "#/$defs/sha256"
175 },
176 "identity_proof_binary_sha256": {
177 "$ref": "#/$defs/sha256"
178 },
179 "signing": {
180 "type": "object",
181 "additionalProperties": false,
182 "required": [
183 "dmg",
184 "application",
185 "identity_proof_driver"
186 ],
187 "properties": {
188 "dmg": {
189 "$ref": "#/$defs/codeSigning"
190 },
191 "application": {
192 "$ref": "#/$defs/codeSigning"
193 },
194 "identity_proof_driver": {
195 "$ref": "#/$defs/codeSigning"
196 }
197 }
198 },
199 "fresh_boundary_scan": {
200 "$ref": "#/$defs/observedScan"
201 }
202 }
203 }
204 }
205 },
206 "automated_tripwires": {
207 "type": "object",
208 "additionalProperties": false,
209 "required": [
210 "verifier_path",
211 "verifier_script_sha256",
212 "source_verification",
213 "packaged_boundary_scan",
214 "packaged_forbidden_literals",
215 "fresh_mounted_app_scan",
216 "scope"
217 ],
218 "properties": {
219 "verifier_path": {
220 "type": "string"
221 },
222 "verifier_script_sha256": {
223 "$ref": "#/$defs/sha256"
224 },
225 "source_verification": {
226 "const": "passed"
227 },
228 "packaged_boundary_scan": {
229 "const": "passed"
230 },
231 "packaged_forbidden_literals": {
232 "const": [
233 "BUZZ_PRIVATE_KEY",
234 "identity.key",
235 "get_nsec"
236 ]
237 },
238 "fresh_mounted_app_scan": {
239 "$ref": "#/$defs/observedScan"
240 },
241 "scope": {
242 "type": "string",
243 "minLength": 1
244 }
245 }
246 }
247 }
248 },
249 "candidate_digest": {
250 "type": "object",
251 "additionalProperties": false,
252 "required": [
253 "algorithm",
254 "canonicalization",
255 "value"
256 ],
257 "properties": {
258 "algorithm": {
259 "const": "sha256"
260 },
261 "canonicalization": {
262 "type": "string"
263 },
264 "value": {
265 "$ref": "#/$defs/sha256"
266 }
267 }
268 },
269 "gates": {
270 "type": "object",
271 "additionalProperties": false,
272 "required": [
273 "assurance_spec_admission",
274 "custody_scenarios",
275 "recovery_scenarios",
276 "forged_request_rejection",
277 "stale_task_fencing",
278 "installed_secret_tripwires",
279 "manual_journey",
280 "owner_observation",
281 "independent_verification",
282 "accessibility",
283 "install_lifecycle"
284 ],
285 "properties": {
286 "assurance_spec_admission": {
287 "$ref": "#/$defs/gate"
288 },
289 "custody_scenarios": {
290 "$ref": "#/$defs/gate"
291 },
292 "recovery_scenarios": {
293 "$ref": "#/$defs/gate"
294 },
295 "forged_request_rejection": {
296 "$ref": "#/$defs/gate"
297 },
298 "stale_task_fencing": {
299 "$ref": "#/$defs/gate"
300 },
301 "installed_secret_tripwires": {
302 "$ref": "#/$defs/gate"
303 },
304 "manual_journey": {
305 "$ref": "#/$defs/gate"
306 },
307 "owner_observation": {
308 "$ref": "#/$defs/gate"
309 },
310 "independent_verification": {
311 "$ref": "#/$defs/gate"
312 },
313 "accessibility": {
314 "$ref": "#/$defs/gate"
315 },
316 "install_lifecycle": {
317 "$ref": "#/$defs/gate"
318 }
319 }
320 },
321 "attestation_errors": {
322 "type": "object",
323 "additionalProperties": {
324 "type": "string",
325 "minLength": 1
326 }
327 }
328 },
329 "allOf": [
330 {
331 "if": {
332 "properties": {
333 "candidate_admitted": {
334 "const": true
335 }
336 }
337 },
338 "then": {
339 "properties": {
340 "status": {
341 "const": "admitted"
342 },
343 "attestation_errors": {
344 "maxProperties": 0
345 },
346 "gates": {
347 "properties": {
348 "assurance_spec_admission": {
349 "$ref": "#/$defs/passedGate"
350 },
351 "custody_scenarios": {
352 "$ref": "#/$defs/passedGate"
353 },
354 "recovery_scenarios": {
355 "$ref": "#/$defs/passedGate"
356 },
357 "forged_request_rejection": {
358 "$ref": "#/$defs/passedGate"
359 },
360 "stale_task_fencing": {
361 "$ref": "#/$defs/passedGate"
362 },
363 "installed_secret_tripwires": {
364 "$ref": "#/$defs/passedGate"
365 },
366 "manual_journey": {
367 "$ref": "#/$defs/passedGate"
368 },
369 "owner_observation": {
370 "$ref": "#/$defs/passedGate"
371 },
372 "independent_verification": {
373 "$ref": "#/$defs/passedGate"
374 },
375 "accessibility": {
376 "$ref": "#/$defs/passedGate"
377 },
378 "install_lifecycle": {
379 "$ref": "#/$defs/passedGate"
380 }
381 }
382 }
383 }
384 },
385 "else": {
386 "properties": {
387 "status": {
388 "const": "pending_required_gates"
389 }
390 }
391 }
392 }
393 ],
394 "$defs": {
395 "sha256": {
396 "type": "string",
397 "pattern": "^[0-9a-f]{64}$"
398 },
399 "observedScan": {
400 "type": "object",
401 "additionalProperties": false,
402 "required": [
403 "status",
404 "forbidden_literals",
405 "matches",
406 "scope"
407 ],
408 "properties": {
409 "status": {
410 "const": "passed"
411 },
412 "forbidden_literals": {
413 "const": [
414 "BUZZ_PRIVATE_KEY",
415 "identity.key",
416 "get_nsec"
417 ]
418 },
419 "matches": {
420 "type": "object",
421 "maxProperties": 0
422 },
423 "scope": {
424 "type": "string",
425 "minLength": 1
426 }
427 }
428 },
429 "codeSigning": {
430 "type": "object",
431 "additionalProperties": false,
432 "required": [
433 "verified",
434 "authority",
435 "team_id"
436 ],
437 "properties": {
438 "verified": {
439 "const": true
440 },
441 "authority": {
442 "const": "Developer ID Application: OpenAgents, Inc. (HQWSG26L43)"
443 },
444 "team_id": {
445 "const": "HQWSG26L43"
446 }
447 }
448 },
449 "sourceBinding": {
450 "type": "object",
451 "required": [
452 "repository",
453 "commit",
454 "dirty"
455 ],
456 "properties": {
457 "repository": {
458 "type": "string"
459 },
460 "commit": {
461 "type": "string",
462 "pattern": "^[0-9a-f]{40}$"
463 },
464 "dirty": {
465 "type": "boolean"
466 }
467 }
468 },
469 "gate": {
470 "oneOf": [
471 {
472 "$ref": "#/$defs/pendingGate"
473 },
474 {
475 "$ref": "#/$defs/passedGate"
476 }
477 ]
478 },
479 "pendingGate": {
480 "type": "object",
481 "additionalProperties": false,
482 "required": [
483 "status",
484 "attestor",
485 "observed_at",
486 "evidence",
487 "required_evidence"
488 ],
489 "properties": {
490 "status": {
491 "const": "pending"
492 },
493 "attestor": {
494 "type": "null"
495 },
496 "observed_at": {
497 "type": "null"
498 },
499 "evidence": {
500 "type": "object",
501 "maxProperties": 0
502 },
503 "required_evidence": {
504 "$ref": "#/$defs/requiredEvidence"
505 }
506 }
507 },
508 "passedGate": {
509 "type": "object",
510 "additionalProperties": false,
511 "required": [
512 "status",
513 "attestor",
514 "observed_at",
515 "evidence",
516 "required_evidence"
517 ],
518 "properties": {
519 "status": {
520 "const": "passed"
521 },
522 "attestor": {
523 "type": "string",
524 "minLength": 1
525 },
526 "observed_at": {
527 "type": "string",
528 "format": "date-time"
529 },
530 "evidence": {
531 "type": "object",
532 "minProperties": 1,
533 "propertyNames": {
534 "type": "string",
535 "minLength": 1
536 },
537 "additionalProperties": {
538 "oneOf": [
539 {
540 "type": "string",
541 "minLength": 1
542 },
543 {
544 "$ref": "#/$defs/evidenceReference"
545 }
546 ]
547 }
548 },
549 "required_evidence": {
550 "$ref": "#/$defs/requiredEvidence"
551 }
552 }
553 },
554 "requiredEvidence": {
555 "type": "array",
556 "minItems": 1,
557 "items": {
558 "type": "string",
559 "minLength": 1
560 }
561 },
562 "evidenceReference": {
563 "type": "object",
564 "additionalProperties": false,
565 "required": [
566 "path",
567 "sha256"
568 ],
569 "properties": {
570 "path": {
571 "type": "string",
572 "minLength": 1
573 },
574 "sha256": {
575 "$ref": "#/$defs/sha256"
576 }
577 }
578 }
579 }
580}
581