Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-27T23:36:24.124Z 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

validate-omega-identity-observations

84 lines · 2.4 KB · text
1#!/usr/bin/env python3
2
3from __future__ import annotations
4
5import argparse
6import json
7import sys
8from pathlib import Path
9
10from omega_identity_evidence import (
11    IdentityEvidenceError,
12    self_test,
13    validate_installed_observations,
14)
15
16
17def parse_arguments() -> argparse.Namespace:
18    parser = argparse.ArgumentParser(
19        description="Validate candidate-bound installed Omega identity observations"
20    )
21    parser.add_argument("--input", type=Path)
22    parser.add_argument("--candidate-digest")
23    parser.add_argument("--evidence-root", type=Path)
24    parser.add_argument("--self-test", action="store_true")
25    return parser.parse_args()
26
27
28def main() -> int:
29    arguments = parse_arguments()
30    try:
31        if arguments.self_test:
32            if any(
33                value is not None
34                for value in (
35                    arguments.input,
36                    arguments.candidate_digest,
37                    arguments.evidence_root,
38                )
39            ):
40                raise IdentityEvidenceError("--self-test does not accept observation inputs")
41            self_test()
42            return 0
43        if (
44            arguments.input is None
45            or arguments.candidate_digest is None
46            or arguments.evidence_root is None
47        ):
48            raise IdentityEvidenceError(
49                "--input, --candidate-digest, and --evidence-root are required"
50            )
51        digest = validate_installed_observations(
52            arguments.input.absolute(),
53            arguments.candidate_digest,
54            arguments.evidence_root.absolute(),
55        )
56        print(
57            json.dumps(
58                {
59                    "schema": "openagents.omega.identity-installed-observations-validation.v1",
60                    "status": "passed",
61                    "receipt_sha256": digest,
62                },
63                sort_keys=True,
64            )
65        )
66        return 0
67    except (IdentityEvidenceError, OSError) as error:
68        print(
69            json.dumps(
70                {
71                    "schema": "openagents.omega.identity-installed-observations-validation.v1",
72                    "status": "failed",
73                    "reason": str(error),
74                },
75                sort_keys=True,
76            ),
77            file=sys.stderr,
78        )
79        return 1
80
81
82if __name__ == "__main__":
83    raise SystemExit(main())
84
Served at tenant.openagents/omega Member data and write actions are omitted.