# org.cairnsproto.draft.witness

> Signed evidence about a stone that is not a competing claim.

- 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.witness)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:np7ezqujtsry4bkogisaabul/org.cairnsproto.draft.witness/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:np7ezqujtsry4bkogisaabul/org.cairnsproto.draft.witness/analytics)

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

Type: record · key tid

### Properties

- `amends` (ref): An earlier witness by the same author about the same stone.
  - Reference: `com.atproto.repo.strongRef`
- `createdAt` (string · datetime, required)
- `evidence` (union, required)
  - One of: `#checkResult`, `#judgment`, `#recall`, `#resolution`
- `stone` (ref, required)
  - Reference: `com.atproto.repo.strongRef`

## #checkResult (`org.cairnsproto.draft.witness#checkResult`)

Type: object

### Properties

- `check` (ref, required)
  - Reference: `com.atproto.repo.strongRef`
- `output` (ref, required): Hash of the check's canonical output bytes.
  - Reference: `org.cairnsproto.draft.defs#hash`

## #judgment (`org.cairnsproto.draft.witness#judgment`)

Type: object

A judge's verdict on a pinned prompt. Tallies like a read; never an anchor.

### Properties

- `prompt` (ref)
  - Reference: `org.cairnsproto.draft.defs#hash`
- `rationale` (string)
  - Constraints: maxLength: 30000, maxGraphemes: 10000
- `verdict` (string, required)
  - Constraints: maxLength: 32, knownValues: supports | refutes | unclear

## #recall (`org.cairnsproto.draft.witness#recall`)

Type: object

Flags a faulty method so every stone it produced is re-sampled. Intent-neutral.

### Properties

- `evidence` (array, required)
  - Constraints: minLength: 1, maxLength: 1000
  - `items` (ref)
    - Reference: `com.atproto.repo.strongRef`
- `method` (ref, required)
  - Reference: `org.cairnsproto.draft.defs#methodSelector`

## #resolution (`org.cairnsproto.draft.witness#resolution`)

Type: object

An escalated site's answer: a project maintainer or a member of the policy's escalation list endorses the witnessed stone's value. From one of them it counts as a passed anchor for that value, which ends the escalation.

### Properties

- `rationale` (string)
  - Constraints: maxLength: 30000, maxGraphemes: 10000

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "checkResult": {
      "properties": {
        "check": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "output": {
          "description": "Hash of the check's canonical output bytes.",
          "ref": "org.cairnsproto.draft.defs#hash",
          "type": "ref"
        }
      },
      "required": [
        "check",
        "output"
      ],
      "type": "object"
    },
    "judgment": {
      "description": "A judge's verdict on a pinned prompt. Tallies like a read; never an anchor.",
      "properties": {
        "prompt": {
          "ref": "org.cairnsproto.draft.defs#hash",
          "type": "ref"
        },
        "rationale": {
          "maxGraphemes": 10000,
          "maxLength": 30000,
          "type": "string"
        },
        "verdict": {
          "knownValues": [
            "supports",
            "refutes",
            "unclear"
          ],
          "maxLength": 32,
          "type": "string"
        }
      },
      "required": [
        "verdict"
      ],
      "type": "object"
    },
    "main": {
      "description": "Signed evidence about a stone that is not a competing claim.",
      "key": "tid",
      "record": {
        "properties": {
          "amends": {
            "description": "An earlier witness by the same author about the same stone.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "evidence": {
            "refs": [
              "#checkResult",
              "#judgment",
              "#recall",
              "#resolution"
            ],
            "type": "union"
          },
          "stone": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          }
        },
        "required": [
          "stone",
          "evidence",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "recall": {
      "description": "Flags a faulty method so every stone it produced is re-sampled. Intent-neutral.",
      "properties": {
        "evidence": {
          "items": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "maxLength": 1000,
          "minLength": 1,
          "type": "array"
        },
        "method": {
          "ref": "org.cairnsproto.draft.defs#methodSelector",
          "type": "ref"
        }
      },
      "required": [
        "method",
        "evidence"
      ],
      "type": "object"
    },
    "resolution": {
      "description": "An escalated site's answer: a project maintainer or a member of the policy's escalation list endorses the witnessed stone's value. From one of them it counts as a passed anchor for that value, which ends the escalation.",
      "properties": {
        "rationale": {
          "maxGraphemes": 10000,
          "maxLength": 30000,
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "id": "org.cairnsproto.draft.witness",
  "lexicon": 1
}
```
