at.kotoba.state

kotoba.at

Schema Diff

+1 -1

From

CID
bafyreiaad5phdwg...
Indexed At
2026-06-15 20:02 UTC
View this version

To

CID
bafyreidl7roqfbh...
Indexed At
2026-06-16 14:10 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "at.kotoba.state",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "literal:self",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "updatedAt",
11 11
          "glyphs",
12 12
          "confusion"
13 13
        ],
14 14
        "properties": {
15 15
          "glyphs": {
16 16
            "type": "unknown",
17 -
            "description": "Map keyed by glyph -> { box:int, lastSeen:str, ewmaParseMs:int|null, seen:int, missed:int }. All-integer already. `unknown` because lexicons have no dynamic-key map type (see README)."
17 +
            "description": "Map keyed by glyph -> { box:int, lastSeen:str, modes:{ tap:{seen,missed,ewmaParseMs|null}, type:{seen,missed,ewmaParseMs|null} } }. Per-mode (tap vs type) success + latency; box is shared. All-integer. Legacy flat records ({box,ewmaParseMs,seen,missed}) are migrated to tap on read. `unknown` because lexicons have no dynamic-key map type (see README)."
18 18
          },
19 19
          "confusion": {
20 20
            "type": "unknown",
21 21
            "description": "Directed, single-kana only: shown glyph -> { answered-as romaji: count }. Counts are decayed (x0.9/session) so the app stores them as fixed-point ×10000 INTEGERS (no float type). `unknown` map; the app owns the value scaling at the record edge."
22 22
          },
23 23
          "updatedAt": {
24 24
            "type": "string",
25 25
            "format": "datetime"
26 26
          }
27 27
        }
28 28
      },
29 29
      "description": "Single overwritten record: per-glyph SRS state + the directed confusion map. Read once at startup; overwritten on flush. rkey is literally `self`."
30 30
    }
31 31
  },
32 32
  "$type": "com.atproto.lexicon.schema",
33 33
  "lexicon": 1
34 34
}

Compare Other Versions

Lexicon Garden

@