{
  "observed_at": "2026-10-17T03:51:17.725292+00:00",
  "environment": {
    "os": "Linux",
    "python": "3.10.12",
    "sqlite": "3.37.2"
  },
  "method": "합성 사용자 1명·메모 16개를 backup API로 보관. 연결 종료 후 별도 복구본 3개 중 하나의 제목, 다른 하나의 사용자 참조만 변경. 구조·행 수·관계·전체 메모 내용을 대조.",
  "limits": "변경은 백업 API 실패나 디스크 손상을 재현하지 않는다. 검사의 사각지대를 보이기 위한 의도된 데이터 수정이다. 동시 쓰기·대용량·외부 첨부파일·복구 시간은 미검증.",
  "observations": {
    "reference": {
      "integrity_check": [
        [
          "ok"
        ]
      ],
      "foreign_key_check": [],
      "count_and_max_id": [
        16,
        16
      ],
      "content_sha256": "ba3e708ba57bc18d50eef57f933f1083190b0124622be7db1ae29dc469c6a29c",
      "first_note": [
        1,
        "synthetic-note-1",
        1
      ]
    },
    "restored": {
      "integrity_check": [
        [
          "ok"
        ]
      ],
      "foreign_key_check": [],
      "count_and_max_id": [
        16,
        16
      ],
      "content_sha256": "ba3e708ba57bc18d50eef57f933f1083190b0124622be7db1ae29dc469c6a29c",
      "first_note": [
        1,
        "synthetic-note-1",
        1
      ]
    },
    "changed_title": {
      "integrity_check": [
        [
          "ok"
        ]
      ],
      "foreign_key_check": [],
      "count_and_max_id": [
        16,
        16
      ],
      "content_sha256": "f1c65c4c829043fa63dc473e42cd990f7f6d3ae34850059bc07c2c8cd0e309c0",
      "first_note": [
        1,
        "changed-title",
        1
      ]
    },
    "orphan_reference": {
      "integrity_check": [
        [
          "ok"
        ]
      ],
      "foreign_key_check": [
        [
          "notes",
          1,
          "users",
          0
        ]
      ],
      "count_and_max_id": [
        16,
        16
      ],
      "content_sha256": "22f75020708fdd858060c7e80e2bdb1e264b2ead1628ef0aa41d5d284914352f",
      "first_note": [
        1,
        "synthetic-note-1",
        999
      ]
    }
  },
  "tables": {
    "checks": {
      "headers": [
        "대상",
        "행 수 / 마지막 ID",
        "integrity_check",
        "외래 키 위반 수",
        "기준 내용 대조"
      ],
      "rows": [
        [
          "정상 복구본",
          "16 / 16",
          "ok",
          0,
          "일치"
        ],
        [
          "제목만 바꾼 복구본",
          "16 / 16",
          "ok",
          0,
          "불일치"
        ],
        [
          "없는 사용자 999를 참조",
          "16 / 16",
          "ok",
          1,
          "불일치"
        ]
      ]
    }
  }
}
