{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://genesiscode.dev/schemas/selfhost-refs-authority-v0.1.json",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact", "auditDate", "binding", "contentIdentitySha256", "decisionInventory",
    "hostMechanisms", "hostOracle", "independentVerifier", "kind", "nonclaims",
    "productionEntrypoints", "requestKind", "resultKind", "schema", "sourceModule",
    "sourceSha256", "spec", "version"
  ],
  "properties": {
    "artifact": {"const": "selfhost/toolchain.gc"},
    "auditDate": {"type": "string", "format": "date"},
    "binding": {"const": "core/refs::authority"},
    "contentIdentitySha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
    "decisionInventory": {"const": [
      "direct-ref-lookup", "direct-ref-prefix-filter-and-order",
      "direct-ref-cas-conflict-verdict", "direct-ref-update-and-delete-transition",
      "direct-ref-response-construction", "request-bound-result-verdict"
    ]},
    "hostMechanisms": {"const": [
      "artifact-only-authority-bootstrap-and-bounded-evaluation",
      "refs-db-locking-and-atomic-persistence", "optimistic-snapshot-retry",
      "policy-evidence-signature-admission", "result-contradiction-checking",
      "effect-log-and-diagnostic-rendering"
    ]},
    "hostOracle": {
      "type": "object", "additionalProperties": false,
      "required": ["parityOnly", "productionRequired", "removalTask"],
      "properties": {
        "parityOnly": {"const": true}, "productionRequired": {"const": false},
        "removalTask": {"const": "R4.2.e"}
      }
    },
    "independentVerifier": {"const": "scripts/lib/selfhost_refs_authority.py"},
    "kind": {"const": "genesis/selfhost-refs-authority-v0.1"},
    "nonclaims": {"type": "array", "uniqueItems": true, "items": {"type": "string"}},
    "productionEntrypoints": {"const": ["genesis", "genesis_wasi"]},
    "requestKind": {"const": "genesis/refs-authority-request-v0.1"},
    "resultKind": {"const": "genesis/refs-authority-result-v0.1"},
    "schema": {"const": "docs/spec/SELFHOST_REFS_AUTHORITY_v0.1.schema.json"},
    "sourceModule": {"const": "selfhost/refs_authority_v1.gc"},
    "sourceSha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
    "spec": {"const": "docs/spec/SELFHOST_REFS_AUTHORITY_v0.1.md"},
    "version": {"const": "0.1.0"}
  }
}
