Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T04:16:42.871Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

identity_candidate_evidence_schema_v1.json

581 lines · 14.3 KB · 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
Served at tenant.openagents/omega Member data and write actions are omitted.