# org.cairnsproto.draft.snapshot

> A signed, pinned reading. Anyone can recompute it from the inputs it lists.

- Kind: record
- Record key: tid
- Authority: draft.cairnsproto.org
- Lexicon: 1
- Published by [cairnsproto.org](https://lexicon.garden/identity/did:plc:np7ezqujtsry4bkogisaabul), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:np7ezqujtsry4bkogisaabul/org.cairnsproto.draft.snapshot)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:np7ezqujtsry4bkogisaabul/org.cairnsproto.draft.snapshot/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:np7ezqujtsry4bkogisaabul/org.cairnsproto.draft.snapshot/analytics)

## Record (`org.cairnsproto.draft.snapshot`)

Type: record · key tid

### Properties

- `createdAt` (string · datetime, required)
- `credit` (blob)
  - Constraints: maxSize: 50000000
- `gaps` (blob)
  - Constraints: maxSize: 50000000
- `inputRoot` (ref, required): RFC 6962 Merkle root over every input record: its URI, a zero byte, and its binary CID.
  - Reference: `org.cairnsproto.draft.defs#hash`
- `labels` (ref): Hash of the canonical set of labels applied.
  - Reference: `org.cairnsproto.draft.defs#hash`
- `output` (blob): Values past the export bar.
  - Constraints: maxSize: 50000000
- `policy` (ref, required)
  - Reference: `com.atproto.repo.strongRef`
- `previous` (ref)
  - Reference: `com.atproto.repo.strongRef`
- `profile` (string): Cairns check profile version the reading ran under.
  - Constraints: maxLength: 64
- `project` (ref, required)
  - Reference: `com.atproto.repo.strongRef`
- `readingImpl` (ref, required)
  - Reference: `#readingImpl`
- `seenThrough` (ref, required): The last seen record whose records are included.
  - Reference: `com.atproto.repo.strongRef`
- `sites` (blob, required): Tallies, [low, high] per candidate and apex stone CIDs.
  - Constraints: maxSize: 50000000

## #readingImpl (`org.cairnsproto.draft.snapshot#readingImpl`)

Type: object

### Properties

- `commit` (string, required)
  - Constraints: minLength: 40, maxLength: 64
- `repo` (string · uri, required)
- `rules` (integer): The reading-rules version the implementation applied. Implementations with different rules versions can read the same inputs differently. Absent means 1.
  - Constraints: minimum: 1

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A signed, pinned reading. Anyone can recompute it from the inputs it lists.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "credit": {
            "maxSize": 50000000,
            "type": "blob"
          },
          "gaps": {
            "maxSize": 50000000,
            "type": "blob"
          },
          "inputRoot": {
            "description": "RFC 6962 Merkle root over every input record: its URI, a zero byte, and its binary CID.",
            "ref": "org.cairnsproto.draft.defs#hash",
            "type": "ref"
          },
          "labels": {
            "description": "Hash of the canonical set of labels applied.",
            "ref": "org.cairnsproto.draft.defs#hash",
            "type": "ref"
          },
          "output": {
            "description": "Values past the export bar.",
            "maxSize": 50000000,
            "type": "blob"
          },
          "policy": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "previous": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "profile": {
            "description": "Cairns check profile version the reading ran under.",
            "maxLength": 64,
            "type": "string"
          },
          "project": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "readingImpl": {
            "ref": "#readingImpl",
            "type": "ref"
          },
          "seenThrough": {
            "description": "The last seen record whose records are included.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "sites": {
            "description": "Tallies, [low, high] per candidate and apex stone CIDs.",
            "maxSize": 50000000,
            "type": "blob"
          }
        },
        "required": [
          "project",
          "policy",
          "seenThrough",
          "inputRoot",
          "sites",
          "readingImpl",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "readingImpl": {
      "properties": {
        "commit": {
          "maxLength": 64,
          "minLength": 40,
          "type": "string"
        },
        "repo": {
          "format": "uri",
          "type": "string"
        },
        "rules": {
          "description": "The reading-rules version the implementation applied. Implementations with different rules versions can read the same inputs differently. Absent means 1.",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "repo",
        "commit"
      ],
      "type": "object"
    }
  },
  "id": "org.cairnsproto.draft.snapshot",
  "lexicon": 1
}
```
