{
  "version": 1,
  "canonical_title": "Cô Kỹ Sư Bị Vu Tội Sập Cầu, Mười Ba Vết Nứt Đổi Hướng",
  "characters": [
    {
      "entity_id": "char_001",
      "full_name": "Lâm Tĩnh Nghi",
      "surname": "Lâm",
      "personal_name": "Tĩnh Nghi",
      "allowed_narrative_names": [
        "Lâm Tĩnh Nghi",
        "Tĩnh Nghi"
      ],
      "allowed_title_names": [
        "Kỹ Sư Lâm"
      ],
      "forbidden_bare_names": [
        "Lâm",
        "Tĩnh",
        "Nghi"
      ],
      "role_address": [
        "cô Tĩnh Nghi",
        "chị Tĩnh Nghi"
      ],
      "accentless_form": "Lam Tinh Nghi",
      "retired_names": [],
      "entity_type": "character",
      "role": "nữ kỹ sư kết cấu, nhân vật chính",
      "visual": "32 tuổi, tóc đen ngang vai buộc gọn, áo khoác công trường xanh thép, sơ mi trắng, mũ bảo hộ vàng cầm tay"
    },
    {
      "entity_id": "char_002",
      "full_name": "Đường Khải Phong",
      "surname": "Đường",
      "personal_name": "Khải Phong",
      "allowed_narrative_names": [
        "Đường Khải Phong",
        "Khải Phong"
      ],
      "allowed_title_names": [
        "Giám Đốc Đường"
      ],
      "forbidden_bare_names": [
        "Đường",
        "Khải",
        "Phong"
      ],
      "role_address": [
        "ông Khải Phong",
        "anh Khải Phong"
      ],
      "accentless_form": "Duong Khai Phong",
      "retired_names": [],
      "entity_type": "character",
      "role": "giám đốc liên danh thi công, phản diện chính"
    },
    {
      "entity_id": "char_003",
      "full_name": "Tạ Minh Châu",
      "surname": "Tạ",
      "personal_name": "Minh Châu",
      "allowed_narrative_names": [
        "Tạ Minh Châu",
        "Minh Châu"
      ],
      "allowed_title_names": [
        "Phóng Viên Tạ"
      ],
      "forbidden_bare_names": [
        "Tạ",
        "Minh",
        "Châu"
      ],
      "role_address": [
        "cô Minh Châu",
        "chị Minh Châu"
      ],
      "accentless_form": "Ta Minh Chau",
      "retired_names": [],
      "entity_type": "character",
      "role": "phóng viên địa phương từng tin nhầm hồ sơ"
    },
    {
      "entity_id": "char_004",
      "full_name": "Hứa Thành Vũ",
      "surname": "Hứa",
      "personal_name": "Thành Vũ",
      "allowed_narrative_names": [
        "Hứa Thành Vũ",
        "Thành Vũ"
      ],
      "allowed_title_names": [
        "Đội Trưởng Hứa"
      ],
      "forbidden_bare_names": [
        "Hứa",
        "Thành",
        "Vũ"
      ],
      "role_address": [
        "anh Thành Vũ",
        "đội trưởng Hứa"
      ],
      "accentless_form": "Hua Thanh Vu",
      "retired_names": [],
      "entity_type": "character",
      "role": "đội trưởng cứu hộ, đồng minh dè dặt"
    },
    {
      "entity_id": "char_005",
      "full_name": "Bạch Gia Hân",
      "surname": "Bạch",
      "personal_name": "Gia Hân",
      "allowed_narrative_names": [
        "Bạch Gia Hân",
        "Gia Hân"
      ],
      "allowed_title_names": [
        "Kiểm Định Viên Bạch"
      ],
      "forbidden_bare_names": [
        "Bạch",
        "Gia",
        "Hân"
      ],
      "role_address": [
        "cô Gia Hân",
        "chị Gia Hân"
      ],
      "accentless_form": "Bach Gia Han",
      "retired_names": [],
      "entity_type": "character",
      "role": "kiểm định viên trẻ bị ép ký biên bản"
    },
    {
      "entity_id": "char_006",
      "full_name": "Lục Hạo Nhiên",
      "surname": "Lục",
      "personal_name": "Hạo Nhiên",
      "allowed_narrative_names": [
        "Lục Hạo Nhiên",
        "Hạo Nhiên"
      ],
      "allowed_title_names": [
        "Chủ Tịch Lục"
      ],
      "forbidden_bare_names": [
        "Lục",
        "Hạo",
        "Nhiên"
      ],
      "role_address": [
        "ông Hạo Nhiên",
        "chủ tịch Lục"
      ],
      "accentless_form": "Luc Hao Nhien",
      "retired_names": [],
      "entity_type": "character",
      "role": "chủ tịch hội đồng hạ tầng, hưởng lợi từ việc đổ lỗi"
    },
    {
      "entity_id": "char_007",
      "full_name": "Chu Vĩnh Khang",
      "surname": "Chu",
      "personal_name": "Vĩnh Khang",
      "allowed_narrative_names": [
        "Chu Vĩnh Khang",
        "Vĩnh Khang"
      ],
      "allowed_title_names": [
        "Kỹ Thuật Viên Chu"
      ],
      "forbidden_bare_names": [
        "Chu",
        "Vĩnh",
        "Khang"
      ],
      "role_address": [
        "anh Vĩnh Khang",
        "chú Vĩnh Khang"
      ],
      "accentless_form": "Chu Vinh Khang",
      "retired_names": [],
      "entity_type": "character",
      "role": "kỹ thuật viên đo rung đã nghỉ việc"
    }
  ],
  "rules": [
    "Không dùng tên một âm tiết độc lập.",
    "Chỉ dùng full_name, personal_name hai âm tiết, role_address hoặc chức danh+họ đã khai báo."
  ],
  "locked_at": "2026-07-18T23:57:26.828774+00:00",
  "sha256": "67ce7e9631dcb95c935a897c1a938430533614ea1404920f3699b2259800d29b"
}
