# uk.gdeo.learn.reviewState

> Published by [mlldaniel.bsky.social](https://lexicon.garden/identity/did:plc:nyobcyqr4crkx7nisq5ts7dt)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:nyobcyqr4crkx7nisq5ts7dt/uk.gdeo.learn.reviewState)
- [Documentation](https://lexicon.garden/lexicon/did:plc:nyobcyqr4crkx7nisq5ts7dt/uk.gdeo.learn.reviewState/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:nyobcyqr4crkx7nisq5ts7dt/uk.gdeo.learn.reviewState/examples)

## Definitions

### `uk.gdeo.learn.reviewState`

**Type**: `record`

학습자의 복습 상태. ADR-0002: 콘텐츠(card)와 같은 레코드에 두지 않는다 — 포크 시 타인 학습 상태가 따라오고 공개 레코드면 firehose로 진도가 샌다. 학습자 소유·비공개 기본이며 ADR-0001의 AppView 인덱싱 대상이 아니다. record key는 tid. 카드당 1건은 쓰기 경로 규약이며 스키마가 강제하지 않는다(같은 card at-uri를 가리키는 레코드가 여러 개여도 통과). 결정적 rkey(hash) 규칙은 두지 않는다.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `card` | `string` (at-uri) | Yes | uk.gdeo.learn.card 참조. 콘텐츠는 여기에 복사하지 않는다. |
| `difficulty` | `integer` | Yes | FSRS difficulty × 1000. 정본은 이 정수 필드. |
| `due` | `string` (datetime) | Yes |  |
| `lapses` | `integer` | Yes |  |
| `lastReview` | `string` (datetime) | No |  |
| `reps` | `integer` | Yes |  |
| `scheduler` | `string` | Yes | 제약 6번: 자체 스케줄러 금지. |
| `schedulerVersion` | `string` | No |  |
| `stability` | `integer` | Yes | FSRS stability. 일 단위 × 1000(밀리일). 정본은 이 정수 필드(외부 표준 왕복용 Str 규칙 적용 범위 밖 — schemas/lexicons/README.md). |
| `state` | `string` | No |  |
| `updatedAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "학습자의 복습 상태. ADR-0002: 콘텐츠(card)와 같은 레코드에 두지 않는다 — 포크 시 타인 학습 상태가 따라오고 공개 레코드면 firehose로 진도가 샌다. 학습자 소유·비공개 기본이며 ADR-0001의 AppView 인덱싱 대상이 아니다. record key는 tid. 카드당 1건은 쓰기 경로 규약이며 스키마가 강제하지 않는다(같은 card at-uri를 가리키는 레코드가 여러 개여도 통과). 결정적 rkey(hash) 규칙은 두지 않는다.",
      "key": "tid",
      "record": {
        "properties": {
          "card": {
            "description": "uk.gdeo.learn.card 참조. 콘텐츠는 여기에 복사하지 않는다.",
            "format": "at-uri",
            "type": "string"
          },
          "difficulty": {
            "description": "FSRS difficulty × 1000. 정본은 이 정수 필드.",
            "maximum": 10000,
            "minimum": 0,
            "type": "integer"
          },
          "due": {
            "format": "datetime",
            "type": "string"
          },
          "lapses": {
            "minimum": 0,
            "type": "integer"
          },
          "lastReview": {
            "format": "datetime",
            "type": "string"
          },
          "reps": {
            "minimum": 0,
            "type": "integer"
          },
          "scheduler": {
            "description": "제약 6번: 자체 스케줄러 금지.",
            "enum": [
              "fsrs"
            ],
            "type": "string"
          },
          "schedulerVersion": {
            "maxLength": 32,
            "type": "string"
          },
          "stability": {
            "description": "FSRS stability. 일 단위 × 1000(밀리일). 정본은 이 정수 필드(외부 표준 왕복용 Str 규칙 적용 범위 밖 — schemas/lexicons/README.md).",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "state": {
            "enum": [
              "new",
              "learning",
              "review",
              "relearning"
            ],
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "card",
          "scheduler",
          "stability",
          "difficulty",
          "due",
          "reps",
          "lapses",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "uk.gdeo.learn.reviewState",
  "lexicon": 1
}
```
