dev.cocore.compute.defs

cocore.dev

Schema Diff

+8 -0

From

CID
bafyreievhcwwlm4...
Indexed At
2026-06-17 21:16 UTC
View this version

To

CID
bafyreidkm4ngvdw...
Indexed At
2026-06-25 16:58 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 1 non-breaking change.

Non-Breaking Changes (1)
  • AddedVertex AddedVertex { vertex_id: "dev.cocore.compute.defs#tier" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "dev.cocore.compute.defs#tier" }
1 1
{
2 2
  "id": "dev.cocore.compute.defs",
3 3
  "defs": {
4 +
    "tier": {
5 +
      "type": "string",
6 +
      "description": "Confidentiality tier of a unit of work — whether the prompt was provably handled only inside a measured, signed binary the owner cannot read. Distinct from `trustLevel` (which describes how the environment is attested) because a hardware-attested machine can still run a best-effort engine. A verifier MUST recompute this from evidence and never trust a self-asserted value: `attested-confidential` REQUIRES a verified Apple MDA chain bound to the signing key, a known-good measured `cdHash`, the hardened-runtime posture booleans (sip && hardenedRuntime && libraryValidation && !getTaskAllow && secureBoot), and a fresh enclave-signed session key; anything weaker is `best-effort`. Absent is equivalent to `best-effort` for pre-2026-06 readers.",
7 +
      "knownValues": [
8 +
        "attested-confidential",
9 +
        "best-effort"
10 +
      ]
11 +
    },
4 12
    "money": {
5 13
      "type": "object",
6 14
      "required": [
7 15
        "amount",
8 16
        "currency"
9 17
      ],
10 18
      "properties": {
11 19
        "amount": {
12 20
          "type": "integer",
13 21
          "minimum": 0,
14 22
          "description": "Integer minor units (e.g. cents for USD)."
15 23
        },
16 24
        "currency": {
17 25
          "type": "string",
18 26
          "maxLength": 8,
19 27
          "minLength": 3,
20 28
          "description": "Uppercase currency code."
21 29
        }
22 30
      },
23 31
      "description": "An amount of value, in integer minor units of a named currency. No floats. ISO 4217 codes are preferred; uppercase three-or-more-letter codes are accepted for non-fiat (e.g. XBT, XSAT, USDC)."
24 32
    },
25 33
    "tokenRate": {
26 34
      "type": "object",
27 35
      "required": [
28 36
        "inputPricePerMTok",
29 37
        "outputPricePerMTok",
30 38
        "currency"
31 39
      ],
32 40
      "properties": {
33 41
        "currency": {
34 42
          "type": "string",
35 43
          "maxLength": 8,
36 44
          "minLength": 3
37 45
        },
38 46
        "inputPricePerMTok": {
39 47
          "type": "integer",
40 48
          "minimum": 0,
41 49
          "description": "Integer minor units per 1,000,000 input tokens."
42 50
        },
43 51
        "outputPricePerMTok": {
44 52
          "type": "integer",
45 53
          "minimum": 0,
46 54
          "description": "Integer minor units per 1,000,000 output tokens."
47 55
        }
48 56
      },
49 57
      "description": "A model-agnostic per-token rate. Same shape as modelPrice without modelId. Used by an exchange to express a uniform rate that applies across providers/models. A receipt's price.amount is auditable against this rate as roughly `inputPricePerMTok * tokens.in / 1e6 + outputPricePerMTok * tokens.out / 1e6`, modulo a small floor for very short jobs."
50 58
    },
51 59
    "modelPrice": {
52 60
      "type": "object",
53 61
      "required": [
54 62
        "modelId",
55 63
        "inputPricePerMTok",
56 64
        "outputPricePerMTok",
57 65
        "currency"
58 66
      ],
59 67
      "properties": {
60 68
        "modelId": {
61 69
          "type": "string",
62 70
          "maxLength": 256
63 71
        },
64 72
        "currency": {
65 73
          "type": "string",
66 74
          "maxLength": 8,
67 75
          "minLength": 3
68 76
        },
69 77
        "inputPricePerMTok": {
70 78
          "type": "integer",
71 79
          "minimum": 0,
72 80
          "description": "Integer minor units per 1,000,000 input tokens."
73 81
        },
74 82
        "outputPricePerMTok": {
75 83
          "type": "integer",
76 84
          "minimum": 0,
77 85
          "description": "Integer minor units per 1,000,000 output tokens."
78 86
        }
79 87
      },
80 88
      "description": "A provider's offered price for a single model."
81 89
    },
82 90
    "trustLevel": {
83 91
      "type": "string",
84 92
      "description": "How strongly the provider's environment is attested.",
85 93
      "knownValues": [
86 94
        "self-attested",
87 95
        "hardware-attested"
88 96
      ]
89 97
    },
90 98
    "tokenCounts": {
91 99
      "type": "object",
92 100
      "required": [
93 101
        "in",
94 102
        "out"
95 103
      ],
96 104
      "properties": {
97 105
        "in": {
98 106
          "type": "integer",
99 107
          "minimum": 0
100 108
        },
101 109
        "out": {
102 110
          "type": "integer",
103 111
          "minimum": 0
104 112
        }
105 113
      },
106 114
      "description": "Token counts associated with a unit of work."
107 115
    },
108 116
    "settlementStatus": {
109 117
      "type": "string",
110 118
      "description": "Lifecycle state of a settlement record.",
111 119
      "knownValues": [
112 120
        "settled",
113 121
        "refunded",
114 122
        "disputed"
115 123
      ]
116 124
    }
117 125
  },
118 126
  "$type": "com.atproto.lexicon.schema",
119 127
  "lexicon": 1,
120 128
  "description": "Shared type definitions for dev.cocore.compute.* records."
121 129
}

Compare Other Versions

Lexicon Garden

@