com.gamethesky.epsteinfiles.run
Schema Diff
+11 -0
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
}