# com.tomplanche.atkuzu.result

> Published by [tomplanche.com](https://lexicon.garden/identity/did:plc:ybx6os5vaaksppbxwvqqciaf)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ybx6os5vaaksppbxwvqqciaf/com.tomplanche.atkuzu.result)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ybx6os5vaaksppbxwvqqciaf/com.tomplanche.atkuzu.result/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ybx6os5vaaksppbxwvqqciaf/com.tomplanche.atkuzu.result/examples)

## Definitions

### `com.tomplanche.atkuzu.result`

**Type**: `record`

An immutable record of one completed atkuzu (Binairo/Takuzu) daily puzzle, written to the player's own PDS. Write-once: no field may change after creation. The record key is `<puzzleNumber>-<size>` (e.g. `412-8`), so each size can be recorded at most once per puzzle day per account and re-solving cannot overwrite or spam.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes | When the player finished the puzzle and the record was created. |
| `durationSeconds` | `integer` | Yes | Time taken to finish the puzzle, in seconds. |
| `puzzleDate` | `string` (datetime) | Yes | UTC midnight datetime of the puzzle's calendar day. |
| `puzzleNumber` | `integer` | Yes | Daily puzzle index = whole UTC days since the shared epoch, +1. Launch day = 1. |
| `size` | `integer` | Yes | Board side length of the daily puzzle solved (6x6, 8x8, or 12x12); each size is its own record for a given day. |
| `solved` | `boolean` | Yes | Whether the player finished the puzzle (grid fully and correctly filled). |
| `test` | `boolean` | No | True if this record was written while testing the write path, not a genuine daily completion. Absent (not `false`) on real records. Test records also use a `test-` rkey prefix so they never collide with a real puzzle's slot. |
| `toggleCount` | `integer` | No | Total number of cell toggles made during the attempt (including corrections). Optional efficiency stat, absent if not tracked. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "An immutable record of one completed atkuzu (Binairo/Takuzu) daily puzzle, written to the player's own PDS. Write-once: no field may change after creation. The record key is `<puzzleNumber>-<size>` (e.g. `412-8`), so each size can be recorded at most once per puzzle day per account and re-solving cannot overwrite or spam.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "description": "When the player finished the puzzle and the record was created.",
            "format": "datetime",
            "type": "string"
          },
          "durationSeconds": {
            "description": "Time taken to finish the puzzle, in seconds.",
            "minimum": 0,
            "type": "integer"
          },
          "puzzleDate": {
            "description": "UTC midnight datetime of the puzzle's calendar day.",
            "format": "datetime",
            "type": "string"
          },
          "puzzleNumber": {
            "description": "Daily puzzle index = whole UTC days since the shared epoch, +1. Launch day = 1.",
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "description": "Board side length of the daily puzzle solved (6x6, 8x8, or 12x12); each size is its own record for a given day.",
            "enum": [
              6,
              8,
              12
            ],
            "type": "integer"
          },
          "solved": {
            "description": "Whether the player finished the puzzle (grid fully and correctly filled).",
            "type": "boolean"
          },
          "test": {
            "description": "True if this record was written while testing the write path, not a genuine daily completion. Absent (not `false`) on real records. Test records also use a `test-` rkey prefix so they never collide with a real puzzle's slot.",
            "type": "boolean"
          },
          "toggleCount": {
            "description": "Total number of cell toggles made during the attempt (including corrections). Optional efficiency stat, absent if not tracked.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "puzzleNumber",
          "puzzleDate",
          "size",
          "solved",
          "durationSeconds",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "com.tomplanche.atkuzu.result",
  "lexicon": 1
}
```
