dev.gitosphere.defs

gitosphere-lex.bsky.social

{
  "id": "dev.gitosphere.defs",
  "defs": {
    "page": {
      "type": "object",
      "required": [],
      "properties": {
        "nextCursor": {
          "ref": "dev.gitosphere.defs#cursor",
          "type": "ref"
        }
      },
      "description": "Cursor for the next page; absent at the end."
    },
    "role": {
      "type": "string",
      "maxLength": 32,
      "minLength": 1,
      "description": "Bounded Gitosphere membership role.",
      "knownValues": [
        "owner",
        "admin",
        "writer",
        "reader"
      ]
    },
    "error": {
      "type": "object",
      "required": [
        "error",
        "requestId"
      ],
      "properties": {
        "error": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Stable machine-readable error code."
        },
        "details": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#validationDetail",
            "type": "ref"
          }
        },
        "message": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 1,
          "description": "Optional safe human-readable diagnostic."
        },
        "requestId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1,
          "description": "Server-generated request identifier."
        }
      }
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "minLength": 1,
      "description": "Opaque pagination cursor. Clients must not inspect or modify it."
    },
    "member": {
      "type": "object",
      "required": [
        "realmId",
        "organizationId",
        "principalId",
        "role",
        "active",
        "scopeKind",
        "membershipAuthority",
        "spaceMembershipManaged"
      ],
      "properties": {
        "role": {
          "ref": "dev.gitosphere.defs#role",
          "type": "ref"
        },
        "active": {
          "type": "boolean"
        },
        "realmId": {
          "ref": "dev.gitosphere.defs#realmId",
          "type": "ref"
        },
        "scopeKind": {
          "enum": [
            "organization",
            "repository"
          ],
          "type": "string"
        },
        "principalId": {
          "ref": "dev.gitosphere.defs#principalId",
          "type": "ref"
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "organizationId": {
          "ref": "dev.gitosphere.defs#organizationId",
          "type": "ref"
        },
        "membershipAuthority": {
          "enum": [
            "gitosphere"
          ],
          "type": "string"
        },
        "spaceMembershipManaged": {
          "type": "boolean"
        }
      }
    },
    "project": {
      "type": "object",
      "required": [
        "realmId",
        "organizationId",
        "projectId",
        "name",
        "visibility",
        "active"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Project display name."
        },
        "active": {
          "type": "boolean"
        },
        "realmId": {
          "ref": "dev.gitosphere.defs#realmId",
          "type": "ref"
        },
        "projectId": {
          "ref": "dev.gitosphere.defs#projectId",
          "type": "ref"
        },
        "visibility": {
          "ref": "dev.gitosphere.defs#projectVisibility",
          "type": "ref"
        },
        "organizationId": {
          "ref": "dev.gitosphere.defs#organizationId",
          "type": "ref"
        }
      }
    },
    "realmId": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Immutable Security Realm identifier."
    },
    "spaceId": {
      "type": "string",
      "format": "space-ref",
      "description": "Permissioned Data Space reference."
    },
    "projectId": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Immutable Project identifier."
    },
    "recordUri": {
      "type": "string",
      "format": "at-uri",
      "description": "Authoritative PDS record URI."
    },
    "quotaUsage": {
      "type": "object",
      "required": [
        "scope",
        "subject",
        "repositoryCount",
        "gitBytes",
        "diskBytes",
        "reservedBytes",
        "ready",
        "enabled",
        "policy"
      ],
      "properties": {
        "ready": {
          "type": "boolean"
        },
        "scope": {
          "type": "string"
        },
        "policy": {
          "ref": "dev.gitosphere.defs#quotaPolicy",
          "type": "ref"
        },
        "enabled": {
          "type": "boolean"
        },
        "subject": {
          "type": "string"
        },
        "gitBytes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "diskBytes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "measuredAt": {
          "type": "string"
        },
        "reservedBytes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "repositoryCount": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        }
      }
    },
    "principalId": {
      "type": "string",
      "format": "did",
      "description": "Authenticated principal DID."
    },
    "quotaPolicy": {
      "type": "object",
      "required": [
        "scope",
        "subject",
        "repositoryLimit",
        "byteLimit",
        "pushLimit"
      ],
      "properties": {
        "scope": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "byteLimit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "pushLimit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "repositoryLimit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        }
      }
    },
    "recordInput": {
      "type": "object",
      "required": [
        "collection",
        "value"
      ],
      "properties": {
        "value": {
          "type": "unknown"
        },
        "collection": {
          "type": "string",
          "format": "nsid"
        }
      }
    },
    "accessTarget": {
      "type": "object",
      "required": [
        "kind"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 1,
          "description": "Optional Git ref."
        },
        "kind": {
          "enum": [
            "organization",
            "project",
            "repository",
            "space",
            "record"
          ],
          "type": "string"
        },
        "spaceId": {
          "ref": "dev.gitosphere.defs#spaceId",
          "type": "ref"
        },
        "projectId": {
          "ref": "dev.gitosphere.defs#projectId",
          "type": "ref"
        },
        "recordUri": {
          "ref": "dev.gitosphere.defs#recordUri",
          "type": "ref"
        },
        "collection": {
          "type": "string",
          "format": "nsid"
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "organizationId": {
          "ref": "dev.gitosphere.defs#organizationId",
          "type": "ref"
        }
      }
    },
    "organization": {
      "type": "object",
      "required": [
        "realmId",
        "organizationId",
        "name",
        "active"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Organization display name."
        },
        "active": {
          "type": "boolean"
        },
        "realmId": {
          "ref": "dev.gitosphere.defs#realmId",
          "type": "ref"
        },
        "organizationId": {
          "ref": "dev.gitosphere.defs#organizationId",
          "type": "ref"
        }
      }
    },
    "repositoryId": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Immutable managed repository identifier."
    },
    "spaceMapping": {
      "type": "object",
      "required": [
        "realmId",
        "organizationId",
        "projectId",
        "spaceId",
        "active"
      ],
      "properties": {
        "active": {
          "type": "boolean"
        },
        "realmId": {
          "ref": "dev.gitosphere.defs#realmId",
          "type": "ref"
        },
        "spaceId": {
          "ref": "dev.gitosphere.defs#spaceId",
          "type": "ref"
        },
        "projectId": {
          "ref": "dev.gitosphere.defs#projectId",
          "type": "ref"
        },
        "organizationId": {
          "ref": "dev.gitosphere.defs#organizationId",
          "type": "ref"
        }
      }
    },
    "serviceAccess": {
      "type": "object",
      "required": [
        "did",
        "status",
        "administrator"
      ],
      "properties": {
        "did": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "knownValues": [
            "unregistered",
            "active",
            "suspended"
          ]
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime"
        },
        "admittedAt": {
          "type": "string",
          "format": "datetime"
        },
        "administrator": {
          "type": "boolean"
        }
      }
    },
    "serviceInvite": {
      "type": "object",
      "required": [
        "inviteId",
        "maxUses",
        "usedCount",
        "expiresAt",
        "revoked",
        "createdBy",
        "createdAt"
      ],
      "properties": {
        "maxUses": {
          "type": "integer"
        },
        "revoked": {
          "type": "boolean"
        },
        "inviteId": {
          "type": "string"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "createdBy": {
          "type": "string"
        },
        "expiresAt": {
          "type": "string",
          "format": "datetime"
        },
        "usedCount": {
          "type": "integer"
        }
      }
    },
    "trafficMetric": {
      "type": "object",
      "required": [
        "kind",
        "reason",
        "count"
      ],
      "properties": {
        "kind": {
          "type": "string"
        },
        "count": {
          "type": "integer",
          "minimum": 0
        },
        "reason": {
          "type": "string"
        }
      }
    },
    "trafficPolicy": {
      "type": "object",
      "required": [
        "apiDIDRate",
        "apiIPRate",
        "apiInstanceRate",
        "authDIDRate",
        "authIPRate",
        "authInstanceRate",
        "inviteDIDRate",
        "inviteIPRate",
        "inviteInstanceRate",
        "gitDIDRate",
        "gitIPRate",
        "gitInstanceRate",
        "apiDIDConcurrency",
        "apiIPConcurrency",
        "apiInstanceConcurrency",
        "gitDIDConcurrency",
        "gitIPConcurrency",
        "gitInstanceConcurrency",
        "maximumConnections",
        "headerTimeoutSeconds",
        "idleTimeoutSeconds",
        "apiTimeoutSeconds",
        "gitTimeoutSeconds",
        "temporaryOperationBytes",
        "temporaryInstanceBytes",
        "pushPackBytes",
        "maximumBuckets"
      ],
      "properties": {
        "apiIPRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitIPRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "apiDIDRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "authIPRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitDIDRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "authDIDRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "inviteIPRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "inviteDIDRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "pushPackBytes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "maximumBuckets": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "apiInstanceRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitInstanceRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "apiIPConcurrency": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "authInstanceRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitIPConcurrency": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "apiDIDConcurrency": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "apiTimeoutSeconds": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitDIDConcurrency": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitTimeoutSeconds": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "idleTimeoutSeconds": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "inviteInstanceRate": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "maximumConnections": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "headerTimeoutSeconds": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "apiInstanceConcurrency": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "gitInstanceConcurrency": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "temporaryInstanceBytes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "temporaryOperationBytes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        }
      }
    },
    "trafficStatus": {
      "type": "object",
      "required": [
        "enabled",
        "policy",
        "paused",
        "apiActive",
        "gitActive",
        "temporaryReservedBytes",
        "rejections"
      ],
      "properties": {
        "paused": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "policy": {
          "ref": "#trafficPolicy",
          "type": "ref"
        },
        "enabled": {
          "type": "boolean"
        },
        "apiActive": {
          "type": "integer"
        },
        "gitActive": {
          "type": "integer"
        },
        "rejections": {
          "type": "array",
          "items": {
            "ref": "#trafficMetric",
            "type": "ref"
          }
        },
        "temporaryReservedBytes": {
          "type": "integer"
        }
      }
    },
    "accessDecision": {
      "type": "object",
      "required": [
        "allowed",
        "decisionId",
        "reason",
        "policyVersion"
      ],
      "properties": {
        "reason": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Bounded secret-free decision reason."
        },
        "allowed": {
          "type": "boolean"
        },
        "decisionId": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Secret-free identifier shared with the authorization audit event."
        },
        "policyVersion": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1,
          "description": "Durable authorization version used for the decision."
        }
      }
    },
    "idempotencyKey": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "Caller-selected key identifying one create attempt."
    },
    "organizationId": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Immutable Organization identifier."
    },
    "appViewResource": {
      "type": "object",
      "required": [
        "realmId",
        "organizationId",
        "projectId",
        "spaceId",
        "uri",
        "collection",
        "value"
      ],
      "properties": {
        "uri": {
          "ref": "dev.gitosphere.defs#recordUri",
          "type": "ref"
        },
        "value": {
          "type": "unknown"
        },
        "realmId": {
          "ref": "dev.gitosphere.defs#realmId",
          "type": "ref"
        },
        "spaceId": {
          "ref": "dev.gitosphere.defs#spaceId",
          "type": "ref"
        },
        "projectId": {
          "ref": "dev.gitosphere.defs#projectId",
          "type": "ref"
        },
        "collection": {
          "type": "string",
          "format": "nsid"
        },
        "organizationId": {
          "ref": "dev.gitosphere.defs#organizationId",
          "type": "ref"
        },
        "observedRevision": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Observed PDS revision."
        }
      }
    },
    "pullRequestView": {
      "type": "object",
      "required": [
        "pullRequestId",
        "repositoryId",
        "number",
        "title",
        "author",
        "state",
        "baseRef",
        "headRef",
        "creationBaseCommit",
        "baseAvailable",
        "headAvailable",
        "currentRound",
        "rounds",
        "createdAt",
        "updatedAt"
      ],
      "properties": {
        "body": {
          "type": "string",
          "maxLength": 100000,
          "maxGraphemes": 10000
        },
        "state": {
          "ref": "dev.gitosphere.defs#pullRequestState",
          "type": "ref"
        },
        "title": {
          "type": "string",
          "maxLength": 2560,
          "minLength": 1,
          "maxGraphemes": 256
        },
        "author": {
          "type": "string",
          "format": "did"
        },
        "number": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "rounds": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#pullRequestRound",
            "type": "ref"
          },
          "maxLength": 1000
        },
        "baseRef": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 12
        },
        "headRef": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 12
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime"
        },
        "currentRound": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "baseAvailable": {
          "type": "boolean"
        },
        "headAvailable": {
          "type": "boolean"
        },
        "pullRequestId": {
          "type": "string",
          "maxLength": 36,
          "minLength": 36
        },
        "currentBaseCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "currentHeadCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "creationBaseCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        }
      }
    },
    "pullRequestRound": {
      "type": "object",
      "required": [
        "round",
        "baseCommit",
        "headCommit",
        "createdAt"
      ],
      "properties": {
        "round": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "baseCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "headCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        }
      }
    },
    "pullRequestState": {
      "type": "string",
      "knownValues": [
        "open",
        "closed",
        "merged"
      ]
    },
    "validationDetail": {
      "type": "object",
      "required": [
        "location",
        "path",
        "code"
      ],
      "properties": {
        "code": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Stable machine-readable validation code."
        },
        "path": {
          "type": "string",
          "maxLength": 512,
          "minLength": 1,
          "description": "JSON Pointer for a body value, or a query/header field name."
        },
        "message": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 1,
          "description": "Optional human-readable diagnostic."
        },
        "location": {
          "enum": [
            "query",
            "body",
            "header"
          ],
          "type": "string"
        }
      }
    },
    "idempotencyResult": {
      "type": "object",
      "required": [
        "replayed"
      ],
      "properties": {
        "replayed": {
          "type": "boolean"
        }
      }
    },
    "projectVisibility": {
      "enum": [
        "private",
        "internal",
        "public"
      ],
      "type": "string",
      "description": "Gitosphere-owned Project read visibility."
    },
    "repositoryIssueView": {
      "type": "object",
      "required": [
        "repositoryId",
        "issueId",
        "number",
        "uri",
        "cid",
        "title",
        "createdAt",
        "state",
        "children",
        "related",
        "blocking",
        "blockedBy",
        "openBlockerCount",
        "relationRevision"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1
        },
        "body": {
          "type": "string",
          "maxLength": 1000000
        },
        "state": {
          "enum": [
            "open",
            "closed"
          ],
          "type": "string"
        },
        "title": {
          "type": "string",
          "maxLength": 512,
          "minLength": 1
        },
        "number": {
          "type": "integer",
          "minimum": 1
        },
        "parent": {
          "ref": "dev.gitosphere.defs#repositoryIssueReference",
          "type": "ref"
        },
        "issueId": {
          "type": "string",
          "maxLength": 36,
          "minLength": 36
        },
        "related": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#repositoryIssueReference",
            "type": "ref"
          },
          "maxLength": 100
        },
        "blocking": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#repositoryIssueReference",
            "type": "ref"
          },
          "maxLength": 100
        },
        "children": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#repositoryIssueReference",
            "type": "ref"
          },
          "maxLength": 100
        },
        "revision": {
          "type": "string"
        },
        "stateUri": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1
        },
        "blockedBy": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#repositoryIssueReference",
            "type": "ref"
          },
          "maxLength": 100
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "mutationUri": {
          "type": "string",
          "format": "at-uri"
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "openBlockerCount": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0
        },
        "relationRevision": {
          "type": "string",
          "maxLength": 64,
          "minLength": 64
        }
      }
    },
    "publicRepositoryView": {
      "type": "object",
      "required": [
        "authority",
        "realmId",
        "repositoryId",
        "name",
        "owner",
        "ownerName",
        "gitUrl",
        "publisher",
        "visibility",
        "createdAt",
        "recordUri",
        "recordCid"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1
        },
        "owner": {
          "ref": "dev.gitosphere.repository#owner",
          "type": "ref"
        },
        "gitUrl": {
          "type": "string",
          "format": "uri"
        },
        "realmId": {
          "ref": "dev.gitosphere.defs#realmId",
          "type": "ref"
        },
        "authority": {
          "type": "string",
          "format": "did"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "ownerName": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1
        },
        "publisher": {
          "type": "string",
          "format": "did"
        },
        "recordCid": {
          "type": "string",
          "format": "cid"
        },
        "recordUri": {
          "type": "string",
          "format": "at-uri"
        },
        "visibility": {
          "enum": [
            "public"
          ],
          "type": "string"
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        }
      }
    },
    "verificationEvidence": {
      "type": "object",
      "required": [
        "command",
        "result",
        "environment"
      ],
      "properties": {
        "result": {
          "enum": [
            "passed",
            "failed"
          ],
          "type": "string"
        },
        "command": {
          "type": "string",
          "maxLength": 4096,
          "minLength": 1
        },
        "environment": {
          "type": "string",
          "maxLength": 1024,
          "minLength": 1
        }
      }
    },
    "pullRequestReviewView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "repositoryId",
        "pullRequestId",
        "number",
        "round",
        "baseCommit",
        "headCommit",
        "reviewer",
        "decision",
        "verification",
        "unverified",
        "outdated",
        "qualifying",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "body": {
          "type": "string",
          "maxLength": 100000
        },
        "round": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "number": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "decision": {
          "enum": [
            "comment",
            "approve",
            "request_changes"
          ],
          "type": "string"
        },
        "outdated": {
          "type": "boolean"
        },
        "reviewer": {
          "type": "string",
          "format": "did"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "baseCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "headCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "qualifying": {
          "type": "boolean"
        },
        "unverified": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "maxLength": 100
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "verification": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#verificationEvidence",
            "type": "ref"
          },
          "maxLength": 100
        },
        "pullRequestId": {
          "type": "string",
          "maxLength": 36,
          "minLength": 36
        }
      }
    },
    "pullRequestCommentView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "repositoryId",
        "pullRequestId",
        "number",
        "round",
        "baseCommit",
        "headCommit",
        "author",
        "body",
        "blocking",
        "outdated",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "body": {
          "type": "string",
          "maxLength": 100000,
          "minLength": 1
        },
        "line": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": 1
        },
        "path": {
          "type": "string",
          "maxLength": 4096,
          "minLength": 1
        },
        "side": {
          "enum": [
            "base",
            "head"
          ],
          "type": "string"
        },
        "round": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "author": {
          "type": "string",
          "format": "did"
        },
        "number": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "blocking": {
          "type": "boolean"
        },
        "category": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1
        },
        "outdated": {
          "type": "boolean"
        },
        "severity": {
          "enum": [
            "info",
            "low",
            "medium",
            "high",
            "critical"
          ],
          "type": "string"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "startLine": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": 1
        },
        "baseCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "headCommit": {
          "type": "string",
          "maxLength": 64,
          "minLength": 40
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "pullRequestId": {
          "type": "string",
          "maxLength": 36,
          "minLength": 36
        }
      }
    },
    "pullRequestReviewStatus": {
      "type": "object",
      "required": [
        "repositoryId",
        "pullRequestId",
        "number",
        "currentRound",
        "reviewDecision",
        "requiredApprovals",
        "currentApprovals",
        "unresolvedBlockingFindings",
        "outdatedApprovals",
        "verification",
        "unverified",
        "mergeable",
        "blockingReasons"
      ],
      "properties": {
        "number": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "mergeable": {
          "type": "boolean"
        },
        "unverified": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1
          },
          "maxLength": 1000
        },
        "currentRound": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "repositoryId": {
          "ref": "dev.gitosphere.defs#repositoryId",
          "type": "ref"
        },
        "verification": {
          "type": "array",
          "items": {
            "ref": "dev.gitosphere.defs#verificationEvidence",
            "type": "ref"
          },
          "maxLength": 1000
        },
        "pullRequestId": {
          "type": "string",
          "maxLength": 36,
          "minLength": 36
        },
        "reviewDecision": {
          "enum": [
            "approved",
            "changes_requested",
            "review_required",
            "blocked"
          ],
          "type": "string"
        },
        "blockingReasons": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 64,
            "minLength": 1
          },
          "maxLength": 16
        },
        "currentApprovals": {
          "type": "integer",
          "maximum": 10000,
          "minimum": 0
        },
        "outdatedApprovals": {
          "type": "integer",
          "maximum": 10000,
          "minimum": 0
        },
        "requiredApprovals": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1
        },
        "unresolvedBlockingFindings": {
          "type": "integer",
          "maximum": 10000,
          "minimum": 0
        }
      }
    },
    "repositoryIssueReference": {
      "type": "object",
      "required": [
        "issueId",
        "number",
        "uri",
        "title",
        "state"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "state": {
          "enum": [
            "open",
            "closed"
          ],
          "type": "string"
        },
        "title": {
          "type": "string",
          "maxLength": 512,
          "minLength": 1
        },
        "number": {
          "type": "integer",
          "minimum": 1
        },
        "issueId": {
          "type": "string",
          "maxLength": 36,
          "minLength": 36
        }
      }
    },
    "pullRequestIssueCloseResult": {
      "type": "object",
      "required": [
        "number",
        "status"
      ],
      "properties": {
        "number": {
          "type": "integer",
          "minimum": 1
        },
        "status": {
          "type": "string",
          "knownValues": [
            "pending",
            "closed",
            "alreadyClosed",
            "failed"
          ]
        },
        "errorCode": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "operationId": {
          "type": "string"
        }
      },
      "description": "Persistent progress for closing an Issue as part of a merge. Success is confirmed only by an acceptance ledger entry or an authorized no-op."
    },
    "repositoryIssueRelationMutation": {
      "type": "object",
      "required": [
        "uri",
        "status",
        "reason",
        "revision"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "reason": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1
        },
        "status": {
          "enum": [
            "applied",
            "rejected"
          ],
          "type": "string"
        },
        "revision": {
          "type": "string",
          "maxLength": 64,
          "minLength": 64
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Shared public Gitosphere XRPC wire definitions."
}

Validate Record

Validate a record against dev.gitosphere.defs

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:iz47txlteeb2ojtp5ygiqet6
CID
bafyreifi7kqaiftxczgijd44zdebxrgpj6bpxfhfyms5kevnqqkmvvyiam
Indexed At
2026-09-22 02:02 UTC
AT-URI
at://did:plc:iz47txlteeb2ojtp5ygiqet6/com.atproto.lexicon.schema/dev.gitosphere.defs

Version History (4 versions)

Referenced Schemas (1)

Lexicon Garden

@