at.kotoba.state

kotoba.at

Documentation

Single overwritten record: per-glyph SRS state + the directed confusion map. Read once at startup; overwritten on flush. rkey is literally `self`.

main record

Single overwritten record: per-glyph SRS state + the directed confusion map. Read once at startup; overwritten on flush. rkey is literally `self`.

Record Key literal:self Fixed literal value

Properties

confusion unknown Required

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.

glyphs unknown Required

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).

updatedAt string datetime Required

An RFC 3339 formatted timestamp.

View raw schema
{
  "key": "literal:self",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "updatedAt",
      "glyphs",
      "confusion"
    ],
    "properties": {
      "glyphs": {
        "type": "unknown",
        "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)."
      },
      "confusion": {
        "type": "unknown",
        "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."
      },
      "updatedAt": {
        "type": "string",
        "format": "datetime"
      }
    }
  },
  "description": "Single overwritten record: per-glyph SRS state + the directed confusion map. Read once at startup; overwritten on flush. rkey is literally `self`."
}

Lexicon Garden

@