com.gamethesky.epsteinfiles.run

gamethesky.com

Schema Diff

+11 -0

From

CID
bafyreid5edl534a...
Indexed At
2026-10-18 17:57 UTC
View this version

To

CID
bafyreihxk6dnp5x...
Indexed At
2026-10-18 18:59 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "com.gamethesky.epsteinfiles.run:body.difficulty" }
  • AddedEdge AddedEdge { src: "com.gamethesky.epsteinfiles.run:body", tgt: "com.gamethesky.epsteinfiles.run:body.difficulty", kind: "prop", name: Some("difficulty") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.gamethesky.epsteinfiles.run:body.difficulty" }

Additional Notes

  • Non-breaking: AddedEdge { src: "com.gamethesky.epsteinfiles.run:body", tgt: "com.gamethesky.epsteinfiles.run:body.difficulty", kind: "prop", name: Some("difficulty") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "One run of The Epstein Files, published by the player into their own repo. The record stores every input rather than a score: the sim is deterministic, so re-running the input log against the same seed reproduces the run exactly. Owning the record is the identity proof, and replaying it is the score proof — score, level and the rest are advisory and never trusted by a leaderboard.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "buried": {
10 10
            "description": "Advisory: files redacted and buried.",
11 11
            "minimum": 0,
12 12
            "type": "integer"
13 13
          },
14 14
          "caught": {
15 15
            "description": "Advisory: FOIA requests denied.",
16 16
            "minimum": 0,
17 17
            "type": "integer"
18 18
          },
19 19
          "createdAt": {
20 20
            "format": "datetime",
21 21
            "type": "string"
22 22
          },
23 +
          "difficulty": {
24 +
            "description": "How hard the run was. A verifier must replay at the same difficulty. Absent means normal. Each difficulty has its own daily board.",
25 +
            "knownValues": [
26 +
              "granny",
27 +
              "easy",
28 +
              "normal",
29 +
              "hard"
30 +
            ],
31 +
            "maxLength": 16,
32 +
            "type": "string"
33 +
          },
23 34
          "inputs": {
24 35
            "description": "The whole run as the only input the game takes. Comma-separated `<dtick>.<code>` entries, or `<dtick>.4.<v>` for a run and `<dtick>.5.<v>` for a word: dtick is 60 Hz ticks since the previous entry; code 0 fires a redaction (on a press level it's an answer: `<dtick>.0` denies, `<dtick>.0.1` agrees, `<dtick>.0.2` spins), 1 moves up a belt, 2 down a belt, 3 resigns (the run ends on that entry), 4 sets the run direction along the belt (v is -1 up the belt, 0 stop, 1 back toward the desk), and 5 blacks out word v on the redaction round's page. Only inputs the sim accepted are logged; a verifier refuses a log the sim would not have accepted. Example: `60.0,14.1,3.0,40.4.-1,22.4.0`.",
25 36
            "maxLength": 400000,
26 37
            "type": "string"
27 38
          },
28 39
          "level": {
29 40
            "description": "Advisory: the level the run ended on.",
30 41
            "minimum": 1,
31 42
            "type": "integer"
32 43
          },
33 44
          "player": {
34 45
            "description": "Cosmetic: who the player played as, Spam Blondi, Odd Branch, Dan Squarehead or Ca$h Plate. The sim never sees it.",
35 46
            "knownValues": [
36 47
              "blondi",
37 48
              "branch",
38 49
              "squarehead",
39 50
              "plate"
40 51
            ],
41 52
            "maxLength": 32,
42 53
            "type": "string"
43 54
          },
44 55
          "score": {
45 56
            "description": "Advisory: the final score.",
46 57
            "minimum": 0,
47 58
            "type": "integer"
48 59
          },
49 60
          "seed": {
50 61
            "description": "Which batch of files: a date (YYYY-MM-DD, local to the player) for the daily batch, or any other string for a practice one. The sim seeds from the FNV-1a hash of this string.",
51 62
            "maxLength": 64,
52 63
            "type": "string"
53 64
          },
54 65
          "simVersion": {
55 66
            "description": "Which rules produced these inputs. A verifier must replay under the matching version or refuse the run.",
56 67
            "minimum": 1,
57 68
            "type": "integer"
58 69
          },
59 70
          "start": {
60 71
            "description": "The level the run started at: 1 for a full run, any other level for practice, 0 for the redaction round alone. Absent means 1. Only full runs of a daily batch rank.",
61 72
            "minimum": 0,
62 73
            "type": "integer"
63 74
          },
64 75
          "ticks": {
65 76
            "description": "Advisory: the tick the run ended.",
66 77
            "minimum": 1,
67 78
            "type": "integer"
68 79
          }
69 80
        },
70 81
        "required": [
71 82
          "seed",
72 83
          "simVersion",
73 84
          "inputs",
74 85
          "score",
75 86
          "level",
76 87
          "createdAt"
77 88
        ],
78 89
        "type": "object"
79 90
      },
80 91
      "type": "record"
81 92
    }
82 93
  },
83 94
  "id": "com.gamethesky.epsteinfiles.run",
84 95
  "lexicon": 1
85 96
}

Compare Other Versions

Lexicon Garden

@