# app.matakite.resolution

> Published by [matakite.app](https://lexicon.garden/identity/did:plc:vhycfha6sjn44hxepb5bmjax)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:vhycfha6sjn44hxepb5bmjax/app.matakite.resolution)
- [Documentation](https://lexicon.garden/lexicon/did:plc:vhycfha6sjn44hxepb5bmjax/app.matakite.resolution/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:vhycfha6sjn44hxepb5bmjax/app.matakite.resolution/examples)

## Definitions

### `app.matakite.resolution`

**Type**: `record`

An outcome determination for a question. Resolution is data, not authority: any DID can write one, and appviews choose which resolvers to trust and display (default: the question's designated resolver). Outcome semantics follow Metaculus: 'ambiguous' = reality could not be determined under the criteria; 'annulled' = the question itself was defective (underspecified, assumptions violated). Both are excluded from forecaster Brier scoring; 'annulled' counts against the question author's quality record.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `note` | `string` | No | Optional reasoning, especially recommended for ambiguous/annulled outcomes. |
| `outcome` | `string` | Yes | Semantic outcome. For binary questions this is the resolved value. For non-binary questions a 'yes' outcome pairs with a typed value field (resolvedOption for multi, resolvedValue for numeric, resolvedDate for date); 'ambiguous'/'annulled' apply to every question type and carry no typed value. |
| `subject` | `ref` → `com.atproto.repo.strongRef` | Yes | The question being resolved (uri + cid). The cid pins the question version the outcome applies to. |
| `evidence` | `array` | No | Sources supporting the outcome, captured at resolution time. Archive links encouraged; sources rot. |
| `createdAt` | `string` (datetime) | Yes |  |
| `resolvedDate` | `string` (datetime) | No | For a date question, the UTC datetime the event occurred, within the question's date bounds. Optional and only meaningful for date resolutions. Additive per scoring-spec v0.3 §1. |
| `resolvedValue` | `string` | No | For a numeric question, the decimal-string value the question resolved to, within the question's numeric bounds. Optional and only meaningful for numeric resolutions. Additive per scoring-spec v0.3 §1. |
| `resolvedOption` | `string` | No | For a mutually exclusive multi question (sumToOne), the stable option id from the subject question's multi.optionIds that resolved yes. Optional and only meaningful for multi resolutions; ignored for other question types. Additive per scoring-spec v0.3 §1. |

## Raw Schema

```json
{
  "id": "app.matakite.resolution",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "subject",
          "outcome",
          "createdAt"
        ],
        "properties": {
          "note": {
            "type": "string",
            "maxLength": 3000,
            "description": "Optional reasoning, especially recommended for ambiguous/annulled outcomes.",
            "maxGraphemes": 300
          },
          "outcome": {
            "type": "string",
            "description": "Semantic outcome. For binary questions this is the resolved value. For non-binary questions a 'yes' outcome pairs with a typed value field (resolvedOption for multi, resolvedValue for numeric, resolvedDate for date); 'ambiguous'/'annulled' apply to every question type and carry no typed value.",
            "knownValues": [
              "yes",
              "no",
              "ambiguous",
              "annulled"
            ]
          },
          "subject": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref",
            "description": "The question being resolved (uri + cid). The cid pins the question version the outcome applies to."
          },
          "evidence": {
            "type": "array",
            "items": {
              "ref": "app.matakite.question#source",
              "type": "ref"
            },
            "maxLength": 10,
            "description": "Sources supporting the outcome, captured at resolution time. Archive links encouraged; sources rot."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "resolvedDate": {
            "type": "string",
            "format": "datetime",
            "description": "For a date question, the UTC datetime the event occurred, within the question's date bounds. Optional and only meaningful for date resolutions. Additive per scoring-spec v0.3 §1."
          },
          "resolvedValue": {
            "type": "string",
            "description": "For a numeric question, the decimal-string value the question resolved to, within the question's numeric bounds. Optional and only meaningful for numeric resolutions. Additive per scoring-spec v0.3 §1."
          },
          "resolvedOption": {
            "type": "string",
            "maxLength": 640,
            "minLength": 1,
            "description": "For a mutually exclusive multi question (sumToOne), the stable option id from the subject question's multi.optionIds that resolved yes. Optional and only meaningful for multi resolutions; ignored for other question types. Additive per scoring-spec v0.3 §1.",
            "maxGraphemes": 64,
            "minGraphemes": 1
          }
        }
      },
      "description": "An outcome determination for a question. Resolution is data, not authority: any DID can write one, and appviews choose which resolvers to trust and display (default: the question's designated resolver). Outcome semantics follow Metaculus: 'ambiguous' = reality could not be determined under the criteria; 'annulled' = the question itself was defective (underspecified, assumptions violated). Both are excluded from forecaster Brier scoring; 'annulled' counts against the question author's quality record."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
