# games.cavu.score

> Published by [chris.pardy.family](https://lexicon.garden/identity/did:plc:dp7v5b5kejmmzzpwmqyf5wj6)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/games.cavu.score)
- [Documentation](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/games.cavu.score/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/games.cavu.score/examples)

## Definitions

### `games.cavu.score`

**Type**: `record`

One result for one game and period. rkey MUST be '<game>:<period>' (e.g. 'haiku-day:2026-10-06'); readers reject records whose rkey doesn't match their own `game` and `period`.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `achievedAt` | `string` (datetime) | Yes |  |
| `details` | `unknown` | No | Game-specific detail, typed by the game: an object with $type in the game's own lexicon (e.g. games.cavu.haikuDay#scoreDetails). |
| `game` | `ref` → `games.cavu.defs#slug` | Yes |  |
| `maxScore` | `integer` | No |  |
| `period` | `string` | Yes | What the score is for: a date (YYYY-MM-DD) for dailies, a match/round id, a season. |
| `score` | `integer` | Yes |  |
| `signatures` | `array` | No |  |
| `streak` | `integer` | No | Consecutive periods played, including this one (dailies). |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One result for one game and period. rkey MUST be '<game>:<period>' (e.g. 'haiku-day:2026-10-06'); readers reject records whose rkey doesn't match their own `game` and `period`.",
      "key": "any",
      "record": {
        "properties": {
          "achievedAt": {
            "format": "datetime",
            "type": "string"
          },
          "details": {
            "description": "Game-specific detail, typed by the game: an object with $type in the game's own lexicon (e.g. games.cavu.haikuDay#scoreDetails).",
            "type": "unknown"
          },
          "game": {
            "ref": "games.cavu.defs#slug",
            "type": "ref"
          },
          "maxScore": {
            "type": "integer"
          },
          "period": {
            "description": "What the score is for: a date (YYYY-MM-DD) for dailies, a match/round id, a season.",
            "maxLength": 128,
            "type": "string"
          },
          "score": {
            "type": "integer"
          },
          "signatures": {
            "items": {
              "refs": [
                "games.cavu.defs#signature",
                "com.atproto.repo.strongRef"
              ],
              "type": "union"
            },
            "type": "array"
          },
          "streak": {
            "description": "Consecutive periods played, including this one (dailies).",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "game",
          "period",
          "score",
          "achievedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "games.cavu.score",
  "lexicon": 1
}
```
